class Lono::Template::Strategy::Dsl::Builder::Section::Output
Public Instance Methods
standarize(definition)
click to toggle source
Value is the only required property: amzn.to/2xbhmk3
# File lib/lono/template/strategy/dsl/builder/section/output.rb, line 12 def standarize(definition) first, second, _ = definition if definition.size == 1 && first.is_a?(Hash) # long form first # pass through elsif definition.size == 2 && second.is_a?(Hash) # medium form if second.key?(:value) || second.key?("Value") logical_id, properties = first, second else logical_id = first properties = {Value: second} end { logical_id => properties } elsif definition.size == 2 && (second.is_a?(String) || second.nil?) # short form logical_id = first properties = second.is_a?(String) ? { Value: second } : {} { logical_id => properties } elsif definition.size == 1 logical_id = first.to_s properties = { Value: ref(logical_id) } { logical_id => properties } else # I dont know what form raise "Invalid form provided. definition #{definition.inspect}" end end
template()
click to toggle source
# File lib/lono/template/strategy/dsl/builder/section/output.rb, line 7 def template camelize(standarize(@definition)) end