aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tasks/themes.rake
diff options
context:
space:
mode:
authorMark Longair <mhl@pobox.com>2013-12-03 16:09:05 +0000
committerMark Longair <mhl@pobox.com>2013-12-03 16:09:05 +0000
commit0fe4865455786164c95766f514b4625e6061136f (patch)
tree8111c93ea653aef419661ef2f99b2c83b9b9a4d5 /lib/tasks/themes.rake
parent272c53a249abe4d302586c2b668d05306c978d8b (diff)
parentd4e75c6715c7ab15b257bbdd42625301783e84f6 (diff)
Merge branch 'theme-install-fixes' into rails-3-develop
Conflicts: script/rails-post-deploy
Diffstat (limited to 'lib/tasks/themes.rake')
-rw-r--r--lib/tasks/themes.rake26
1 files changed, 18 insertions, 8 deletions
diff --git a/lib/tasks/themes.rake b/lib/tasks/themes.rake
index 78ffe73be..65b142a63 100644
--- a/lib/tasks/themes.rake
+++ b/lib/tasks/themes.rake
@@ -9,6 +9,14 @@ namespace :themes do
File.join(plugin_dir, theme_name)
end
+ def old_theme_dir(theme_name)
+ File.join(Rails.root, "vendor", "plugins", theme_name)
+ end
+
+ def possible_theme_dirs(theme_name)
+ [theme_dir(theme_name), old_theme_dir(theme_name)]
+ end
+
def checkout(commitish)
puts "Checking out #{commitish}" if verbose
system "git checkout #{commitish}"
@@ -61,13 +69,14 @@ namespace :themes do
end
def uninstall(theme_name, verbose=false)
- dir = theme_dir(theme_name)
- if File.directory?(dir)
- run_hook(theme_name, 'uninstall', verbose)
- puts "Removing '#{dir}'" if verbose
- rm_r dir
- else
- puts "Plugin doesn't exist: #{dir}"
+ possible_theme_dirs(theme_name).each do |dir|
+ if File.directory?(dir)
+ run_hook(theme_name, 'uninstall', verbose)
+ puts "Removing '#{dir}'" if verbose
+ rm_r dir
+ else
+ puts "Plugin doesn't exist: #{dir}"
+ end
end
end
@@ -80,10 +89,11 @@ namespace :themes do
end
def installed?(theme_name)
- File.directory?(theme_dir(theme_name))
+ possible_theme_dirs(theme_name).any? { |dir| File.directory? dir }
end
def install_theme(theme_url, verbose, deprecated=false)
+ FileUtils.mkdir_p plugin_dir
deprecation_string = deprecated ? " using deprecated THEME_URL" : ""
theme_name = theme_url_to_theme_name theme_url
puts "Installing theme #{theme_name}#{deprecation_string} from #{theme_url}"