diff options
author | Mark Longair <mhl@pobox.com> | 2013-12-03 16:09:05 +0000 |
---|---|---|
committer | Mark Longair <mhl@pobox.com> | 2013-12-03 16:09:05 +0000 |
commit | 0fe4865455786164c95766f514b4625e6061136f (patch) | |
tree | 8111c93ea653aef419661ef2f99b2c83b9b9a4d5 /lib/tasks/themes.rake | |
parent | 272c53a249abe4d302586c2b668d05306c978d8b (diff) | |
parent | d4e75c6715c7ab15b257bbdd42625301783e84f6 (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.rake | 26 |
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}" |