aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/generators.rb
diff options
context:
space:
mode:
authorJosé Valim and Mikel Lindsaar <raasdnil@gmail.com>2010-01-22 13:37:29 +1100
committerJosé Valim and Mikel Lindsaar <raasdnil@gmail.com>2010-01-22 13:37:29 +1100
commit8a6a2ca712601a28087f78fb6080b05f526cb0fd (patch)
treede9347d6a398a4317e0c87981e8c75d442e141d7 /railties/lib/rails/generators.rb
parentc9dc1ac95bc97800dd3deb82fe1cf6f98e27413d (diff)
parent6d30002a52133bd105adb29084f4cc72b1ee847f (diff)
downloadrails-8a6a2ca712601a28087f78fb6080b05f526cb0fd.tar.gz
rails-8a6a2ca712601a28087f78fb6080b05f526cb0fd.tar.bz2
rails-8a6a2ca712601a28087f78fb6080b05f526cb0fd.zip
Merge branch 'master' of git://github.com/rails/rails
Diffstat (limited to 'railties/lib/rails/generators.rb')
-rw-r--r--railties/lib/rails/generators.rb23
1 files changed, 15 insertions, 8 deletions
diff --git a/railties/lib/rails/generators.rb b/railties/lib/rails/generators.rb
index d3175e6a9d..83b8c74966 100644
--- a/railties/lib/rails/generators.rb
+++ b/railties/lib/rails/generators.rb
@@ -134,9 +134,14 @@ module Rails
lookups = []
lookups << "#{base}:#{name}" if base
lookups << "#{name}:#{context}" if context
- lookups << "#{name}:#{name}" unless name.to_s.include?(?:)
- lookups << "#{name}"
- lookups << "rails:#{name}" unless base || context || name.to_s.include?(?:)
+
+ unless base || context
+ unless name.to_s.include?(?:)
+ lookups << "#{name}:#{name}"
+ lookups << "rails:#{name}"
+ end
+ lookups << "#{name}"
+ end
lookup(lookups)
@@ -232,9 +237,9 @@ module Rails
load_generators_from_railties!
paths = namespaces_to_paths(namespaces)
- paths.each do |path|
- ["generators", "rails_generators"].each do |base|
- path = "#{base}/#{path}_generator"
+ paths.each do |raw_path|
+ ["rails_generators", "generators"].each do |base|
+ path = "#{base}/#{raw_path}_generator"
begin
require path
@@ -243,7 +248,9 @@ module Rails
raise unless e.message =~ /#{Regexp.escape(path)}$/
rescue NameError => e
raise unless e.message =~ /Rails::Generator([\s(::)]|$)/
- warn "[WARNING] Could not load generator #{path.inspect} because it's a Rails 2.x generator, which is not supported anymore. Error: #{e.message}"
+ warn "[WARNING] Could not load generator #{path.inspect} because it's a Rails 2.x generator, which is not supported anymore. Error: #{e.message}.\n#{e.backtrace.join("\n")}"
+ rescue Exception => e
+ warn "[WARNING] Could not load generator #{path.inspect}. Error: #{e.message}.\n#{e.backtrace.join("\n")}"
end
end
end
@@ -278,7 +285,7 @@ module Rails
paths = []
namespaces.each do |namespace|
pieces = namespace.split(":")
- paths << pieces.dup.push(pieces.last).join("/")
+ paths << pieces.dup.push(pieces.last).join("/") unless pieces.uniq.size == 1
paths << pieces.join("/")
end
paths.uniq!