В настоящее время я работаю над многоэтапным рецептом для Capistrano, который в идеале после развертывания будет разумно использовать компрессор yui для всех css и js.
Вот то, к чему я сейчас придумаю:
after "deploy", "deploy:cleanup", "minifier:compress"
# Task to minify via Yui-compressor
# Uses compressor bundled with application in #{application}/lib/yuicompressor
namespace :minifier do
def minify(files)
files.each do |file|
cmd = "java -jar lib/yuicompressor/build/yuicompressor-2.4.6.jar #{file} -o #{file}"
puts cmd
ret = system(cmd)
raise "Minification failed for #{file}" if !ret
end
end
desc "minify"
task :compress do
minify_js
minify_css
end
desc "minify javascript"
task :minify_js do
minify(Filelist['public/js/**/*.js'])
end
desc "minify css"
task :minify_css do
minify(Filelist['public/css/**/*.css'])
end
end
Что меня действительно озадачивает, так это
uninitialized constant Capistrano::Configuration::Filelist (NameError)
, который я получаю, как только Капистрано доходит до сути.Как новичок в Ruby, Rails и Capistrano, я почему-то понимаю, что FileList не является распространенным методом Capistrano, но не могу понять, чем его заменить.
Спасибо за помощь.