diff options
author | José Valim <jose.valim@gmail.com> | 2009-10-28 18:32:53 -0200 |
---|---|---|
committer | Yehuda Katz <wycats@gmail.com> | 2009-10-28 16:54:38 -0400 |
commit | a288b74f1c75c6f100de7611a5093a421f1ad6d1 (patch) | |
tree | c8947be8dd25b00db3d260aef20b6c8a53ed9c19 /railties/lib/rails/generators | |
parent | 8dcf91ca113579646e95b0fd7a864dfb6512a53b (diff) | |
download | rails-a288b74f1c75c6f100de7611a5093a421f1ad6d1.tar.gz rails-a288b74f1c75c6f100de7611a5093a421f1ad6d1.tar.bz2 rails-a288b74f1c75c6f100de7611a5093a421f1ad6d1.zip |
Generators should use Rails.root instead of Dir.pwd [#3408 status:resolved]
Signed-off-by: Yehuda Katz <wycats@gmail.com>
Diffstat (limited to 'railties/lib/rails/generators')
-rw-r--r-- | railties/lib/rails/generators/base.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/railties/lib/rails/generators/base.rb b/railties/lib/rails/generators/base.rb index 7af99797ea..e6baf2fc79 100644 --- a/railties/lib/rails/generators/base.rb +++ b/railties/lib/rails/generators/base.rb @@ -12,6 +12,16 @@ module Rails add_runtime_options! + # Always move to rails source root. + # + def initialize(*args) #:nodoc: + if !invoked?(args) && defined?(Rails.root) && Rails.root + self.destination_root = Rails.root + FileUtils.cd(destination_root) + end + super + end + # Automatically sets the source root based on the class name. # def self.source_root @@ -247,6 +257,13 @@ module Rails end end + # Check if this generator was invoked from another one by inspecting + # parameters. + # + def invoked?(args) + args.last.is_a?(Hash) && args.last.key?(:invocations) + end + # Use Rails default banner. # def self.banner |