class Lono::Template::Strategy::Dsl::Builder::Section::Base

Public Class Methods

new(blueprint, *definition) click to toggle source
# File lib/lono/template/strategy/dsl/builder/section/base.rb, line 7
def initialize(blueprint, *definition)
  @blueprint = blueprint
  @definition = definition.flatten
end

Private Instance Methods

camelize(attributes) click to toggle source
# File lib/lono/template/strategy/dsl/builder/section/base.rb, line 13
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
clean(data) click to toggle source

Remove items with nil value automatically

# File lib/lono/template/strategy/dsl/builder/section/base.rb, line 26
def clean(data)
  Lono::Template::Strategy::Dsl::Builder::Squeezer.new(data).squeeze
end