Class: Ansible::Ruby::Rake::Compile
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- Ansible::Ruby::Rake::Compile
- Includes:
- TaskUtil
- Defined in:
- lib/ansible/ruby/rake/compile.rb
Instance Attribute Summary collapse
-
#files ⇒ 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| ... } ⇒ Compile
constructor
A new instance of Compile.
Methods included from TaskUtil
#parse_params, #yaml_filenames
Constructor Details
#initialize(parameters = :default) {|_self| ... } ⇒ Compile
Returns a new instance of Compile.
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/ansible/ruby/rake/compile.rb', line 17 def initialize(parameters = :default) self.class.load_rule name, deps = parse_params parameters yield self if block_given? raise 'You did not supply any files!' unless files && [*files].any? deps ||= [] yml_filenames = yaml_filenames([*files]) deps = [*deps] + yml_filenames task name => deps end |
Instance Attribute Details
#files ⇒ Object
:reek:Attribute - Rake DSL gets ugly if we don’t use a block
15 16 17 |
# File 'lib/ansible/ruby/rake/compile.rb', line 15 def files @files end |
Class Method Details
.load_rule ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/ansible/ruby/rake/compile.rb', line 30 def load_rule return if @rule_done ::Rake.application.create_rule '.yml' => '.rb' do |filename| puts "Updating Ansible file #{filename.name} from #{filename.source}..." file_builder = Ansible::Ruby::DslBuilders::FileLevel.new exception = file_builder._handled_eval filename.source # Avoid lengthy stack trace raise exception if exception playbook = file_builder._result yml = Ansible::Ruby::Serializer.serialize playbook.to_h File.write filename.name, yml end @rule_done = true end |