aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/generators/base.rb
diff options
context:
space:
mode:
authorMikel Lindsaar <raasdnil@gmail.com>2010-01-19 19:41:15 +1100
committerMikel Lindsaar <raasdnil@gmail.com>2010-01-19 19:41:15 +1100
commiteaae58ce0c79aa5b4d6de16e2e67034b7fd971bb (patch)
treed2d3fc90f977020d4e389f526f7ce494a23c3e69 /railties/lib/rails/generators/base.rb
parentc5acbcbb0f72b9968decd702041dcb5b72574a28 (diff)
parentc71120e29caddda295c133adfb279870733a3f81 (diff)
downloadrails-eaae58ce0c79aa5b4d6de16e2e67034b7fd971bb.tar.gz
rails-eaae58ce0c79aa5b4d6de16e2e67034b7fd971bb.tar.bz2
rails-eaae58ce0c79aa5b4d6de16e2e67034b7fd971bb.zip
Merge branch 'master' of github.com:lifo/docrails
Diffstat (limited to 'railties/lib/rails/generators/base.rb')
-rw-r--r--railties/lib/rails/generators/base.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/railties/lib/rails/generators/base.rb b/railties/lib/rails/generators/base.rb
index 26abb46644..f4b2bd1ae9 100644
--- a/railties/lib/rails/generators/base.rb
+++ b/railties/lib/rails/generators/base.rb
@@ -17,7 +17,7 @@ module Rails
def self.source_root
@_rails_source_root ||= begin
if base_name && generator_name
- File.expand_path(File.join(File.dirname(__FILE__), base_name, generator_name, 'templates'))
+ File.expand_path(File.join("../../generators", base_name, generator_name, 'templates'), File.dirname(__FILE__))
end
end
end
@@ -42,7 +42,7 @@ module Rails
#
def self.namespace(name=nil)
return super if name
- @namespace ||= super.sub(/_generator$/, '')
+ @namespace ||= super.sub(/_generator$/, '').sub(/:generators:/, ':')
end
# Invoke a generator based on the value supplied by the user to the
@@ -324,9 +324,13 @@ module Rails
# added hook is being used.
#
def self.prepare_for_invocation(name, value) #:nodoc:
+ return super unless value.is_a?(String) || value.is_a?(Symbol)
+
if value && constants = self.hooks[name]
value = name if TrueClass === value
Rails::Generators.find_by_namespace(value, *constants)
+ elsif klass = Rails::Generators.find_by_namespace(value)
+ klass
else
super
end