diff options
Diffstat (limited to 'railties/lib/rails/generators.rb')
-rw-r--r-- | railties/lib/rails/generators.rb | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/railties/lib/rails/generators.rb b/railties/lib/rails/generators.rb index 8794392a7d..29e693dfb0 100644 --- a/railties/lib/rails/generators.rb +++ b/railties/lib/rails/generators.rb @@ -140,10 +140,7 @@ module Rails lookup(lookups) - namespaces = subclasses.inject({}) do |hash, klass| - hash[klass.namespace] = klass - hash - end + namespaces = Hash[subclasses.map { |klass| [klass.namespace, klass] }] lookups.each do |namespace| klass = namespaces[namespace] @@ -158,7 +155,7 @@ module Rails # commands. def self.invoke(namespace, args=ARGV, config={}) names = namespace.to_s.split(':') - if klass = find_by_namespace(names.pop, names.shift) + if klass = find_by_namespace(names.pop, names.any? && names.join(':')) args << "--help" if args.empty? && klass.arguments.any? { |a| a.required? } klass.start(args, config) else @@ -218,11 +215,11 @@ module Rails puts "Usage: rails #{command} GENERATOR [args] [options]" puts puts "General options:" - puts " -h, [--help] # Print generators options and usage" + puts " -h, [--help] # Print generator's options and usage" puts " -p, [--pretend] # Run but do not make any changes" puts " -f, [--force] # Overwrite files that already exist" puts " -s, [--skip] # Skip files that already exist" - puts " -q, [--quiet] # Supress status output" + puts " -q, [--quiet] # Suppress status output" puts puts "Please choose a generator below." puts @@ -231,6 +228,7 @@ module Rails rails = groups.delete("rails") rails.map! { |n| n.sub(/^rails:/, '') } rails.delete("app") + rails.delete("plugin_new") print_list("rails", rails) hidden_namespaces.each {|n| groups.delete(n.to_s) } @@ -304,6 +302,7 @@ module Rails $LOAD_PATH.each do |base| Dir[File.join(base, "{rails/generators,generators}", "**", "*_generator.rb")].each do |path| begin + path = path.sub("#{base}/", "") require path rescue Exception => e # No problem |