diff options
author | Mikel Lindsaar <raasdnil@gmail.com> | 2010-01-19 19:41:15 +1100 |
---|---|---|
committer | Mikel Lindsaar <raasdnil@gmail.com> | 2010-01-19 19:41:15 +1100 |
commit | eaae58ce0c79aa5b4d6de16e2e67034b7fd971bb (patch) | |
tree | d2d3fc90f977020d4e389f526f7ce494a23c3e69 /railties/lib/rails/generators/base.rb | |
parent | c5acbcbb0f72b9968decd702041dcb5b72574a28 (diff) | |
parent | c71120e29caddda295c133adfb279870733a3f81 (diff) | |
download | rails-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.rb | 8 |
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 |