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.



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

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



34
35
36
# File 'lib/ansible/ruby/dsl_builders/tasks.rb', line 34

def context(context)
  contexts[context]
end

.contextsObject



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

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.



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

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

#ansible_include(filename, &block) ⇒ Object



22
23
24
# File 'lib/ansible/ruby/dsl_builders/tasks.rb', line 22

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

#respond_to_missing?(id) ⇒ Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/ansible/ruby/dsl_builders/tasks.rb', line 52

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