Sha256: 0f895eb94bf21018881204f010afa599f61abe2d0ec08e3343eebdd1ddc9a4ff

Contents?: true

Size: 718 Bytes

Versions: 31

Compression:

Stored size: 718 Bytes

Contents

# Implements:
#
#   template - uses @definition to build a CloudFormation template section
#
class Lono::Template::Dsl::Builder
  class Mapping < Base
    def template
      camelize(standarize(@definition))
    end

    # Type is the only required property: https://amzn.to/2x8W5aD
    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
        logical_id, maps = first, second
        { logical_id => maps }
      else # I dont know what form
        raise "Invalid form provided. definition #{definition.inspect}"
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
lono-6.1.11 lib/lono/template/dsl/builder/mapping.rb
lono-6.1.10 lib/lono/template/dsl/builder/mapping.rb
lono-6.1.9 lib/lono/template/dsl/builder/mapping.rb
lono-6.1.8 lib/lono/template/dsl/builder/mapping.rb
lono-6.1.7 lib/lono/template/dsl/builder/mapping.rb
lono-6.1.6 lib/lono/template/dsl/builder/mapping.rb
lono-6.1.5 lib/lono/template/dsl/builder/mapping.rb
lono-6.1.4 lib/lono/template/dsl/builder/mapping.rb
lono-6.1.3 lib/lono/template/dsl/builder/mapping.rb
lono-6.1.2 lib/lono/template/dsl/builder/mapping.rb
lono-6.1.1 lib/lono/template/dsl/builder/mapping.rb
lono-6.1.0 lib/lono/template/dsl/builder/mapping.rb
lono-6.0.1 lib/lono/template/dsl/builder/mapping.rb
lono-6.0.0 lib/lono/template/dsl/builder/mapping.rb
lono-5.3.4 lib/lono/template/dsl/builder/mapping.rb
lono-5.3.3 lib/lono/template/dsl/builder/mapping.rb
lono-5.3.2 lib/lono/template/dsl/builder/mapping.rb
lono-5.3.1 lib/lono/template/dsl/builder/mapping.rb
lono-5.3.0 lib/lono/template/dsl/builder/mapping.rb
lono-5.2.8 lib/lono/template/dsl/builder/mapping.rb