diff options
Diffstat (limited to 'railties/lib/generators/rails/plugin/plugin_generator.rb')
-rw-r--r-- | railties/lib/generators/rails/plugin/plugin_generator.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/railties/lib/generators/rails/plugin/plugin_generator.rb b/railties/lib/generators/rails/plugin/plugin_generator.rb index c2583ee147..ec563be805 100644 --- a/railties/lib/generators/rails/plugin/plugin_generator.rb +++ b/railties/lib/generators/rails/plugin/plugin_generator.rb @@ -11,7 +11,7 @@ module Rails def create_root self.root = File.expand_path("vendor/plugins/#{file_name}", root) - empty_directory '.' + empty_directory '.' if behavior == :invoke FileUtils.cd(root) end @@ -36,6 +36,16 @@ module Rails return unless options[:with_generator] directory 'generators' end + + # Work around for generator to work on revoke. If we remove the root + # folder at the beginning, it will raise an error since FileUtils.cd + # will move to a non-existent folder. + # + def remove_on_revoke + return unless behavior == :revoke + FileUtils.cd("../../..") + empty_directory "vendor/plugins/#{file_name}" + end end end end |