require 'fileutils'
namespace “ckeditor” do
desc "Create nondigest versions of all ckeditor digest assets" task "nondigest" => [:environment] do fingerprint = /\-[0-9a-f]{32,64}\./ path = File.join Rails.root.to_s, "public", Ckeditor.base_path, "**/*" files = Dir[path] for file in files next unless file =~ fingerprint nondigest = file.sub fingerprint, '.' if !File.exist?(nondigest) or File.mtime(file) > File.mtime(nondigest) FileUtils.cp file, nondigest, verbose: true, preserve: true end end end
end
# Based on rake task from asset_sync gem if Rake::Task.task_defined?(“assets:precompile”)
Rake::Task["assets:precompile"].enhance do Rake::Task["ckeditor:nondigest"].invoke if defined?(Ckeditor) && Ckeditor.run_on_precompile? end
end