Sha256: 6fb36b8c8d7692575cb806327cae8a1d8a00d820371e03d5b468810dd7342825

Contents?: true

Size: 683 Bytes

Versions: 3

Compression:

Stored size: 683 Bytes

Contents

class Subspace::Commands::Maintain < Subspace::Commands::Base
  PASS_THROUGH_PARAMS = ["private-key", "limit"]

  def initialize(args, options)
    @environment = args.first
    @options = options
    run
  end

  def run
    ansible_options = ["--diff", "--tags=maintenance"]
    PASS_THROUGH_PARAMS.each do |param_name|
      x = param_name.split('-')[1..-1].map(&:upcase).join('_')
      hash_key = (param_name.gsub('-', '_') + (x == '' ? '' : "_#{x}")).to_sym
      value = @options.__hash__[hash_key]
      if value
        ansible_options += ["--#{param_name}", value]
      end
    end
    ansible_command "ansible-playbook", "#{@environment}.yml", *ansible_options
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
subspace-2.1.2 lib/subspace/commands/maintain.rb
subspace-2.1.1 lib/subspace/commands/maintain.rb
subspace-2.1.0 lib/subspace/commands/maintain.rb