Sha256: f99afe7136fbdaa5673dcc4146b744cf3bf6a81889475bc1d9139a47da0c5843
Contents?: true
Size: 1.61 KB
Versions: 1
Compression:
Stored size: 1.61 KB
Contents
require 'stringio' namespace :figaro do desc <<-DESC Upload application config to the server You can override any of these defaults by setting the variables shown below. set :figaro_target, -> { shared_path.join('application.yml') } set :figaro_config, -> { release_path.join('config', 'application.yml') } set :figaro_to_env, false set :figaro_roles, :app set :figaro_servers, -> { release_roles(fetch(:figaro_roles)) } DESC task :upload do figaro_data = nil run_locally do figaro_stage = fetch(:stage) figaro_tmp = "figaro-#{figaro_stage}" if fetch(:figaro_to_env) figaro_cmd = %Q(Figaro.vars("#{figaro_stage}").split) else figaro_cmd = %Q(Figaro.env("#{figaro_stage}").to_yaml) end figaro_data = capture(:rails, "runner 'puts #{figaro_cmd}'") end if figaro_data on fetch(:figaro_servers) do upload! StringIO.new(figaro_data), fetch(:figaro_target) end end end desc <<-DESC Symlink the application config to the release_path DESC task :symlink do on fetch(:figaro_servers) do execute :ln, '-sf', fetch(:figaro_target), fetch(:figaro_config) end end end namespace :load do task :defaults do set :figaro_target, -> { shared_path.join('application.yml') } set :figaro_config, -> { release_path.join('config', 'application.yml') } set :figaro_to_env, false set :figaro_roles, :app set :figaro_servers, -> { release_roles(fetch(:figaro_roles)) } end end namespace :deploy do after :updating, 'figaro:symlink' end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mascherano-1.2.0 | lib/mascherano/tasks/figaro.cap |