class DTK::DSL::Template::V1::Assembly
Public Class Methods
elements_collection_type()
click to toggle source
For parsing
# File lib/dsl/template/v1/assembly.rb, line 40 def self.elements_collection_type :hash end
parse_elements(input_hash, parent_info)
click to toggle source
# 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
Public Instance Methods
generate!()
click to toggle source
For generation
# File lib/dsl/template/v1/assembly.rb, line 67 def generate! set :Description, val(:Description) set :Target, val(:Target) set :Attributes, generate_child_elements(:attribute, val(:Attributes)) set :Components, generate_child_elements(:component, val(:Components)) set :Nodes, generate_child_elements(:node, val(:Nodes)) set :Actions, generate_child_elements(:workflow, val(:Workflows)) end
parse!()
click to toggle source
# 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