Class: Ansible::Ruby::Rake::Task
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- Ansible::Ruby::Rake::Task
- Defined in:
- lib/ansible/ruby/rake/task.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
:reek:Attribute - Rake DSL gets ugly if we don’t use a block.
-
#playbooks ⇒ Object
:reek:Attribute - Rake DSL gets ugly if we don’t use a block.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(parameters = :default) {|_self| ... } ⇒ Task
constructor
A new instance of Task.
Constructor Details
#initialize(parameters = :default) {|_self| ... } ⇒ Task
Returns a new instance of Task.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/ansible/ruby/rake/task.rb', line 13 def initialize(parameters = :default) self.class.load_rule name, deps = parse_params parameters yield self if block_given? raise 'You did not supply any playbooks!' unless playbooks && [*playbooks].any? deps ||= [] playbook_yml_files = yaml_filenames([*playbooks]) role_task_yaml_files = yaml_filenames role_task_files deps = [*deps] + (playbook_yml_files + role_task_yaml_files) task name => deps do flat = flat += ' ' unless flat.empty? sh "ansible-playbook #{flat}#{playbook_yml_files.join ' '}" end end |
Instance Attribute Details
#options ⇒ Object
:reek:Attribute - Rake DSL gets ugly if we don’t use a block
11 12 13 |
# File 'lib/ansible/ruby/rake/task.rb', line 11 def end |
#playbooks ⇒ Object
:reek:Attribute - Rake DSL gets ugly if we don’t use a block
9 10 11 |
# File 'lib/ansible/ruby/rake/task.rb', line 9 def playbooks @playbooks end |
Class Method Details
.load_rule ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/ansible/ruby/rake/task.rb', line 37 def load_rule return if @rule_done ::Rake.application.create_rule '.yml' => '.rb' do |filename| puts "Updating Ansible file #{filename.name} from #{filename.source}..." ruby = File.read filename.source playbook_builder = Ansible::Ruby::DslBuilders::FileLevel.new playbook = playbook_builder.evaluate ruby yml = Ansible::Ruby::Serializer.serialize playbook.to_h File.write filename.name, yml end @rule_done = true end |