file 'base.js' => Dir['*.js'] do |t|
concatenate t.prerequisites, t.name
end
file 'geo.js' => Dir['geo/*.js'] do |t|
concatenate t.prerequisites, t.name
end
и так далее, вам, очевидно, придется самостоятельно реализовать метод concatenate
(в моем примере первый аргумент - это список файлов, а второй - файл назначения, например, geo.js
). Если все созданные файлы названы по каталогам, вы можете сделать что-то вроде этого:
%w(geo mod xyz abc).each do |module|
file "#{module}.js" => Dir["#{module}/*.js"] do |t|
concatenate t.prerequisites, t.name
end
end
Если каталоги можно каким-то образом пометить, вы можете сделать их еще более динамичными, заменив список имен каталогов на Dir[...]
.