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