Sha256: be8be0813331c05aa4c159bbc30bdab22c58e1353d0ba11d59f07bd12f93aa65

Contents?: true

Size: 687 Bytes

Versions: 13

Compression:

Stored size: 687 Bytes

Contents

class Subspace::Commands::Provision < Subspace::Commands::Base
  PASS_THROUGH_PARAMS = ["tags", "start-at-task", "private-key", "limit"]

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

  def run
    ansible_options = ["--diff"]
    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

13 entries across 13 versions & 1 rubygems

Version Path
subspace-2.1.2 lib/subspace/commands/provision.rb
subspace-2.1.1 lib/subspace/commands/provision.rb
subspace-2.1.0 lib/subspace/commands/provision.rb
subspace-2.0.4 lib/subspace/commands/provision.rb
subspace-2.0.3 lib/subspace/commands/provision.rb
subspace-2.0.2 lib/subspace/commands/provision.rb
subspace-2.0.1 lib/subspace/commands/provision.rb
subspace-2.0.0 lib/subspace/commands/provision.rb
subspace-1.0.8 lib/subspace/commands/provision.rb
subspace-1.0.7 lib/subspace/commands/provision.rb
subspace-1.0.6 lib/subspace/commands/provision.rb
subspace-1.0.5 lib/subspace/commands/provision.rb
subspace-1.0.4 lib/subspace/commands/provision.rb