Class: Ansible::Ruby::DslBuilders::Tasks

Inherits:
Base
  • Object
show all
Defined in:
lib/ansible/ruby/dsl_builders/tasks.rb

Direct Known Subclasses

Play

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#jinja, #method_missing

Constructor Details

#initialize(context) ⇒ Tasks

Returns a new instance of Tasks.



10
11
12
13
14
15
16
17
18
# File 'lib/ansible/ruby/dsl_builders/tasks.rb', line 10

def initialize(context)
  @context = context
  @task_builders = []
  @includes = []
  temp_counter = 0
  @temp_counter_incrementer = lambda do
    temp_counter += 1
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Ansible::Ruby::DslBuilders::Base

Class Method Details

.context(context) ⇒ Object



32
33
34
# File 'lib/ansible/ruby/dsl_builders/tasks.rb', line 32

def context(context)
  contexts[context]
end

.contextsObject



36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/ansible/ruby/dsl_builders/tasks.rb', line 36

def contexts
  {
    tasks: {
      valid_methods: [:task],
      model: Models::Task
    },
    handlers: {
      valid_methods: [:handler],
      model: Models::Handler
    }
  }
end

Instance Method Details

#_resultObject

allow multiple tasks, etc.



25
26
27
28
29
# File 'lib/ansible/ruby/dsl_builders/tasks.rb', line 25

def _result
  tasks = @task_builders.map(&:_result)
  Models::Tasks.new items: tasks,
                    inclusions: @includes
end

#ansible_include(filename, &block) ⇒ Object



20
21
22
# File 'lib/ansible/ruby/dsl_builders/tasks.rb', line 20

def ansible_include(filename, &block)
  @includes << _ansible_include(filename, &block)
end

#respond_to_missing?(id) ⇒ Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/ansible/ruby/dsl_builders/tasks.rb', line 50

def respond_to_missing?(id, *)
  _valid_methods.include? id
end