From 2f98894aa92483f9b11735993c4ab09b2f3bb18b Mon Sep 17 00:00:00 2001 From: Prem Sichanugrist Date: Fri, 31 Dec 2010 23:54:49 +0700 Subject: [PATCH] Make sure that generator's default banner is showing its namespace This will make `rails g rspec:install --help` shows "rails generate rspec:install [options]" and not "rails generate install [options]" --- railties/lib/rails/generators/base.rb | 2 +- railties/test/generators_test.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletions(-) diff --git a/railties/lib/rails/generators/base.rb b/railties/lib/rails/generators/base.rb index f97f3db..131eb6f 100644 --- a/railties/lib/rails/generators/base.rb +++ b/railties/lib/rails/generators/base.rb @@ -274,7 +274,7 @@ module Rails # Use Rails default banner. # def self.banner - "rails generate #{generator_name} #{self.arguments.map{ |a| a.usage }.join(' ')} [options]" + "rails generate #{namespace.sub(/^rails:/,'')} #{self.arguments.map{ |a| a.usage }.join(' ')} [options]".gsub(/\s+/, ' ') end # Sets the base_name taking into account the current class namespace. diff --git a/railties/test/generators_test.rb b/railties/test/generators_test.rb index 346c9ce..3b3d00b 100644 --- a/railties/test/generators_test.rb +++ b/railties/test/generators_test.rb @@ -120,6 +120,16 @@ class GeneratorsTest < Rails::Generators::TestCase assert_match /^ active_record:fixjour$/, output end + def test_default_banner_should_show_generator_namespace + klass = Rails::Generators.find_by_namespace(:foobar) + assert_match /^rails generate foobar:foobar/, klass.banner + end + + def test_default_banner_should_not_show_rails_generator_namespace + klass = Rails::Generators.find_by_namespace(:model) + assert_match /^rails generate model/, klass.banner + end + def test_no_color_sets_proper_shell Rails::Generators.no_color! assert_equal Thor::Shell::Basic, Thor::Base.shell -- 1.7.3.4