class Powerplay::DSL::DslGroup
Attributes
exec[R]
The entries here may either be books or groups.
parent[R]
The entries here may either be books or groups.
Public Class Methods
new(type, desc, plan, parent=nil, &block)
click to toggle source
Calls superclass method
Powerplay::DSL::Dsl::new
# File lib/ansible-powerplay/dsl.rb, line 174 def initialize(type, desc, plan, parent=nil, &block) super(type, desc, &block) @exec = plan @parent = parent _bump instance_eval( &block ) @config = _dip end
Public Instance Methods
book(type, yaml, desc = nil, plan: @exec, &block)
click to toggle source
# File lib/ansible-powerplay/dsl.rb, line 166 def book(type, yaml, desc = nil, plan: @exec, &block) raise ":noop is a reserved book type and cannot be used." if type == :noop _enqueue DslBook.new(type, yaml, desc: desc, plan: plan, group: self, &block) end
family()
click to toggle source
return a list including ourselves and our parents
# File lib/ansible-powerplay/dsl.rb, line 184 def family fam = [] g = self while g fam << g.type g = g.parent end fam end
group(name, desc = nil, plan = :async, seq: nil, &block)
click to toggle source
# File lib/ansible-powerplay/dsl.rb, line 145 def group name, desc = nil, plan = :async, seq: nil, &block if seq.nil? DslGroup.new(name, desc, plan, self, &block) _enqueue DslBook.new(:noop, nil, plan: @exec) unless @exec == :async or _sneak.type == :sync else seq.each do |var, list| unless list.is_a? Array config[:vars][list].first else list end.each do |value| _bump _config[var] = [value] DslGroup.new(name, desc, plan, self, &block) _enqueue DslBook.new(:noop, nil, plan: @exec) unless @exec == :async or _sneak.type == :sync _dip end end end end