Added uninstall.rb hook to plugin handling, such that plugins have a way of removing assets and other artifacts on removal (closes #5003) [takiuchi@drecom.co.jp]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4427 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
68e35f1371
commit
59432fe89b
@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
* Added uninstall.rb hook to plugin handling, such that plugins have a way of removing assets and other artifacts on removal #5003 [takiuchi@drecom.co.jp]
|
||||
|
||||
* Create temporary dirs relative to RAILS_ROOT when running script/server #5014 [elliot@townx.org]
|
||||
|
||||
* Minor tweak to dispatcher to use recognize instead of recognize!, as per the new routes. [Jamis Buck]
|
||||
|
@ -185,6 +185,7 @@ def uninstall
|
||||
path = "#{rails_env.root}/vendor/plugins/#{name}"
|
||||
if File.directory?(path)
|
||||
puts "Removing 'vendor/plugins/#{name}'" if $verbose
|
||||
run_uninstall_hook
|
||||
rm_r path
|
||||
else
|
||||
puts "Plugin doesn't exist: #{path}"
|
||||
@ -216,6 +217,11 @@ def run_install_hook
|
||||
load install_hook_file if File.exists? install_hook_file
|
||||
end
|
||||
|
||||
def run_uninstall_hook
|
||||
uninstall_hook_file = "#{rails_env.root}/vendor/plugins/#{name}/uninstall.rb"
|
||||
load uninstall_hook_file if File.exists? uninstall_hook_file
|
||||
end
|
||||
|
||||
def install_using_export(options = {})
|
||||
svn_command :export, options
|
||||
end
|
||||
|
@ -17,6 +17,7 @@ def manifest
|
||||
m.template 'Rakefile', "#{plugin_path}/Rakefile"
|
||||
m.template 'init.rb', "#{plugin_path}/init.rb"
|
||||
m.template 'install.rb', "#{plugin_path}/install.rb"
|
||||
m.template 'uninstall.rb', "#{plugin_path}/uninstall.rb"
|
||||
m.template 'plugin.rb', "#{plugin_path}/lib/#{file_name}.rb"
|
||||
m.template 'tasks.rake', "#{plugin_path}/tasks/#{file_name}_tasks.rake"
|
||||
m.template 'unit_test.rb', "#{plugin_path}/test/#{file_name}_test.rb"
|
||||
|
Loading…
Reference in New Issue
Block a user