class DTK::DSL::Template::V1::Attribute
Public Class Methods
elements_collection_type()
click to toggle source
# File lib/dsl/template/v1/attribute.rb, line 36 def self.elements_collection_type :hash end
generate_elements(attributes_content, parent)
click to toggle source
For generation
# File lib/dsl/template/v1/attribute.rb, line 52 def self.generate_elements(attributes_content, parent) attributes_content.inject({}) do |h, (attribute_name, attribute)| attribute.set(:Name, attribute_name) element = generate_element?(attribute, parent) element.nil? ? h : h.merge(element) end end
parse_elements(input_hash, parent_info)
click to toggle source
# File lib/dsl/template/v1/attribute.rb, line 40 def self.parse_elements(input_hash, parent_info) input_hash.inject(file_parser_output_hash) do |h, (name, value)| h.merge(name => parse_element({ 'value' => value}, parent_info, :index => name)) end end
Public Instance Methods
generate!()
click to toggle source
# File lib/dsl/template/v1/attribute.rb, line 60 def generate! value = val(:Value) unless value.nil? merge(req(:Name) => val(:Value)) self end end
generate?()
click to toggle source
# File lib/dsl/template/v1/attribute.rb, line 68 def generate? generate! unless skip_for_generation? end
parse!()
click to toggle source
# File lib/dsl/template/v1/attribute.rb, line 46 def parse! # using 'input_key_value?' (i.e., with '?') in case null value set :Value, input_key_value?(:Value) end
parser_output_type()
click to toggle source
For parsing
# File lib/dsl/template/v1/attribute.rb, line 32 def parser_output_type :hash end