Sha256: 1681ffb158319fa1883f78a268eb5a6c41775409e64ea9e3e40ba41144d6a964
Contents?: true
Size: 1.42 KB
Versions: 2
Compression:
Stored size: 1.42 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 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 = execute(:rails, "runner 'puts #{figaro_cmd}'").stdout end if figaro_data on roles(fetch(:figaro_roles)) 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 roles(fetch(:figaro_roles)) 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 end end namespace :deploy do after :updating, 'figaro:symlink' end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mascherano-1.0.3 | lib/mascherano/tasks/figaro.cap |
mascherano-1.0.2 | lib/mascherano/tasks/figaro.cap |