lib/tasks/asset_sync.rake
namespace :assets do
desc 'Synchronize assets to remote (assumes assets are already compiled)'
task :sync => :environment do
AssetSync.sync
end
namespace :sync do
desc 'Delete out-of-sync files on remote'
task :clean => :environment do
AssetSync.clean
end
end
end
if Rake::Task.task_defined?("assets:precompile:nondigest")
Rake::Task["assets:precompile:nondigest"].enhance do
# Conditional execution needs to be inside the enhance block because the enhance block
# will get executed before yaml or Rails initializers.
Rake::Task["assets:sync"].invoke if defined?(AssetSync) && AssetSync.config.run_on_precompile
end
elsif Rake::Task.task_defined?("assets:precompile")
Rake::Task["assets:precompile"].enhance do
# rails 3.1.1 will clear out Rails.application.config if the env vars
# RAILS_GROUP and RAILS_ENV are not defined. We need to reload the
# assets environment in this case.
# Rake::Task["assets:environment"].invoke if Rake::Task.task_defined?("assets:environment")
Rake::Task["assets:sync"].invoke if defined?(AssetSync) && AssetSync.config.run_on_precompile
end
else
# Nothing to be enhanced
end