Sha256: 7245063a385f345ba4dd7d71f7dc79e1f8e1b0fc781ccc6e2f6217dfb5c713ea

Contents?: true

Size: 981 Bytes

Versions: 29

Compression:

Stored size: 981 Bytes

Contents

module Lono::Template::Strategy::Dsl::Builder::Section
  class Base
    include Lono::Template::Strategy::Dsl::Builder::Fn
    include Lono::Template::Strategy::Dsl::Builder::Helpers
    include Lono::Template::Strategy::Dsl::Builder::Stringify

    def initialize(blueprint, *definition)
      @blueprint = blueprint
      @definition = definition.flatten
    end

  private
    def camelize(attributes)
      blueprint_meta = Lono::Blueprint::Meta.new(@blueprint)
      target_section = self.class.to_s.split('::').last.underscore
      # target_section: Lono::Template::Dsl::Builder::Parameter => parameter
      data = if blueprint_meta.auto_camelize?(target_section)
               CfnCamelizer.transform(attributes)
             else
               stringify!(attributes)
             end
      clean(data)
    end

    # Remove items with nil value automatically
    def clean(data)
      Lono::Template::Strategy::Dsl::Builder::Squeezer.new(data).squeeze
    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/base.rb
lono-7.5.1 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.5.0 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.4.11 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.4.10 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.4.9 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.4.8 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.4.7 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.4.6 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.4.5 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.4.4 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.4.3 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.4.2 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.4.1 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.4.0 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.3.2 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.3.1 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.3.0 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.2.3 lib/lono/template/strategy/dsl/builder/section/base.rb
lono-7.2.2 lib/lono/template/strategy/dsl/builder/section/base.rb