Sha256: d0daa211532611b96b4a110a322fa6478a18bad2180934ef0fadf8eeffad5a21

Contents?: true

Size: 1.72 KB

Versions: 1

Compression:

Stored size: 1.72 KB

Contents

module CapistranoDeployManagement
  module RailsAssets
    def self.load_into(configuration)
      configuration.load do

        use_recipe :rails

        namespace :deploy do
          namespace :assets do
            desc 'Clear application cache (e.g. Memcached).'
            task :refresh_cache, roles: :app do
              run "cd #{current_path} && rake cache:clear RAILS_ENV=#{rails_env}"
              # Requires this rake task: (include here!?)
              # namespace :cache do
              # desc 'Clear memcache'
              # task clear: :environment do
              # Rails.cache.clear
              # end
              # end
            end

            desc 'Precompile assets only if any assets have changed.'
            task :precompile do
              current_revision        = "cat #{current_path}/REVISION"
              head_revision           = "cat #{latest_release}/REVISION"
              assets_paths            = ["#{latest_release}/app/assets/", "#{latest_release}/lib/assets/", "#{latest_release}/vendor/assets/"]
              precompilation_required = false

              assets_paths.each do |a|
                if capture("cd #{latest_release} && svn log -r $(#{current_revision}):$(#{head_revision}) #{a} | wc -l").to_i > 0
                  precompilation_required = true
                else
                  logger.info "Skipping pre-compilation for assets in #{a} because there were no asset changes."
                end
              end
              run "cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} #{asset_env} assets:precompile" if precompilation_required
            end
          end
        end

        after 'deploy:update', 'deploy:assets:refresh_cache'

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capistrano-deploy-management-0.1.32 lib/capistrano-deploy-management/rails_assets.rb