# :mode=ruby: namespace :deploy do namespace :piwik do desc 'Configure piwik for site' task :configure do output_file = File.join(shared_path, 'config', 'piwik.yml') on roles(:app) do unless test "[ -f #{output_file} ]" conf = { fetch(:stage) => { 'piwik' => { 'id_site' => fetch(:piwik_site_id), 'url' => fetch(:piwik_url), 'disabled' => fetch(:piwik_disabled, false), 'use_async' => fetch(:piwik_async, true), } } } upload!(StringIO.new(conf.to_yaml), output_file) end end end end before 'deploy:check:linked_files', 'deploy:piwik:configure' end