Sha256: e90a895be5c9fc5ae5a3d5640dfbaba8215471b6ffa987f4a02633edac64a8a5

Contents?: true

Size: 818 Bytes

Versions: 29

Compression:

Stored size: 818 Bytes

Contents

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

    # There are only 2 forms for condition: long and medium
    #
    # 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, properties = first, second
        { logical_id => properties }
      else # I dont know what form
        raise "Invalid form provided. definition #{definition.inspect}"
      end
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
lono-7.5.2 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.5.1 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.5.0 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.4.11 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.4.10 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.4.9 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.4.8 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.4.7 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.4.6 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.4.5 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.4.4 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.4.3 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.4.2 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.4.1 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.4.0 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.3.2 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.3.1 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.3.0 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.2.3 lib/lono/template/strategy/dsl/builder/section/condition.rb
lono-7.2.2 lib/lono/template/strategy/dsl/builder/section/condition.rb