Class: DTK::DSL::Template::V1::Assembly
- Inherits:
-
DTK::DSL::Template::V1
- Object
- DTK::DSL::Template
- DTK::DSL::Template::V1
- DTK::DSL::Template::V1::Assembly
- Defined in:
- lib/dsl/template/v1/assembly.rb
Defined Under Namespace
Modules: Constant
Constant Summary
Constants inherited from DTK::DSL::Template::V1
Instance Attribute Summary
Attributes included from NestedDSLFile::Mixin
Attributes included from Generation::Mixin
Attributes included from Parsing::Mixin
Class Method Summary collapse
Instance Method Summary collapse
-
#generate! ⇒ Object
For generation.
- #parse! ⇒ Object
Methods inherited from DTK::DSL::Template::V1
#dsl_version, #template_version
Methods inherited from DTK::DSL::Template
#add, create_for_generation, create_for_parsing, #initialize, #merge, #req, #set, #set?, #val
Methods included from Parsing::ClassMixin
#elements_collection_type, #file_parser_output_array, #file_parser_output_hash, #parse_element, #parse_elements
Methods included from Generation::ClassMixin
Methods included from Generation::Mixin
#generate?, #generate_yaml_file_path__content_array, #generate_yaml_object, #generate_yaml_object?, #generate_yaml_text, #yaml_object_type
Methods included from Parsing::Mixin
#parse, #parser_output_type, #parsing_error
Constructor Details
This class inherits a constructor from DTK::DSL::Template
Class Method Details
.elements_collection_type ⇒ Object
For parsing
40 41 42 |
# File 'lib/dsl/template/v1/assembly.rb', line 40 def self.elements_collection_type :hash end |
.parse_elements(input_hash, parent_info) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/dsl/template/v1/assembly.rb', line 44 def self.parse_elements(input_hash, parent_info) ret = file_parser_output_array input_hash.each do |name, content| ret << parse_element(content.merge('name' => name), parent_info, :index => name) end ret end |
Instance Method Details
#generate! ⇒ Object
For generation
67 68 69 70 71 72 73 74 |
# File 'lib/dsl/template/v1/assembly.rb', line 67 def generate! # TODO: add attributes set :Description, val(:Description) set :Target, val(:Target) set :Components, generate_child_elements(:component, val(:Components)) set :Nodes, generate_child_elements(:node, val(:Nodes)) set :Workflows, generate_child_elements(:workflow, val(:Workflows)) end |
#parse! ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/dsl/template/v1/assembly.rb', line 52 def parse! remove_processed_keys_from_input_hash! do set :Name, input_key_value(:Name) set? :Description, input_key_value?(:Description) set? :Target, input_key_value?(:Target) set? :Attributes, parse_child_elements?(:attribute, :Attributes) set? :Nodes, parse_child_elements?(:node, :Nodes) set? :Components, parse_child_elements?(:component, :Components) set? :Workflows, parse_child_elements?(:workflow, :Workflows) end # handle keys not processed merge input_hash unless input_hash.empty? end |