class Subspace::Commands::Vars
Public Class Methods
new(args, options)
click to toggle source
# File lib/subspace/commands/vars.rb, line 2 def initialize(args, options) @environment = args.first @action = if options.edit "edit" elsif options.create "create" else "view" end run end
Public Instance Methods
create_local()
click to toggle source
# File lib/subspace/commands/vars.rb, line 26 def create_local if File.exists? File.join(project_path, "config/application.yml") answer = ask "config/application.yml already exists. Reply 'yes' to overwrite: [no] " abort unless answer == "yes" end src = application_yml_template dest = "config/application.yml" vars_file = File.join(project_path, "config/provision/vars/#{@environment}.yml") extra_vars = "project_path=#{project_path} vars_file=#{vars_file} src=#{src} dest=#{dest}" ansible_command "ansible-playbook", File.join(playbook_dir, "local_template.yml"), "--extra-vars", extra_vars say "File created at config/application.yml with #{@environment} secrets" say "-------------------------------------------------------------------\n" system "cat", "config/application.yml" end
run()
click to toggle source
# File lib/subspace/commands/vars.rb, line 15 def run case @action when "create" create_local when "view", "edit" ansible_command "ansible-vault", @action, "vars/#{@environment}.yml" else abort "Invalid vars command" end end
Private Instance Methods
application_yml_template()
click to toggle source
# File lib/subspace/commands/vars.rb, line 44 def application_yml_template "config/provision/templates/application.yml.template" end