class Powerplay::DSL::DslBook

We do allow for noop books

Attributes

yaml[RW]

Public Class Methods

new(type, yaml, desc: nil, plan: nil, group: nil, &block) click to toggle source
Calls superclass method Powerplay::DSL::Dsl::new
# File lib/ansible-powerplay/dsl.rb, line 102
def initialize(type, yaml, desc: nil, plan: nil, group: nil, &block)
  super(type, desc, &block)
  @yaml = yaml
  @plan = plan
  @group = group
  _bump
  instance_eval(&block) if block_given?
  @config = _dip
end

Public Instance Methods

aparams(additional = '') click to toggle source

Ansible playbook parameters. Additional is a string of key=value pairs that is appended. In the case of JSON output, it is appended in the JSON structure.

# File lib/ansible-powerplay/dsl.rb, line 115
def aparams(additional = '')
  unless Play.clopts[:nojson]
    config
      .map{ |k, v| [k, v.first] }
      .to_h
      .reject{ |k, v| DSL::SPECIAL_PARAMS.member?(k) }
      .merge(additional
              .split
              .map{|s| s.split('=')}.to_h)
      .to_json
  else
    config.map{ |k,v|          
      "#{k}=#{v.first}" unless DSL::SPECIAL_PARAMS.member?(k)
    }.compact.join(' ') + ' ' + additional
  end
end
family() click to toggle source
# File lib/ansible-powerplay/dsl.rb, line 132
def family
  unless @group.nil?
    @group.family
  else
    []
  end
end