lib/jets/resource.rb in jets-0.8.18 vs lib/jets/resource.rb in jets-0.9.0

- old
+ new

@@ -1,25 +1,40 @@ class Jets::Resource extend Memoist - autoload :Base, 'jets/resource/base' - autoload :Replacer, 'jets/resource/replacer' - autoload :Permission, 'jets/resource/permission' autoload :ApiGateway, 'jets/resource/api_gateway' + autoload :Associated, 'jets/resource/associated' + autoload :Base, 'jets/resource/base' autoload :ChildStack, 'jets/resource/child_stack' + autoload :Config, 'jets/resource/config' + autoload :Events, 'jets/resource/events' autoload :Function, 'jets/resource/function' autoload :Iam, 'jets/resource/iam' + autoload :Permission, 'jets/resource/permission' + autoload :Replacer, 'jets/resource/replacer' autoload :S3, 'jets/resource/s3' + autoload :Sns, 'jets/resource/sns' + autoload :Standardizer, 'jets/resource/standardizer' attr_reader :definition, :replacements def initialize(definition, replacements={}) @definition = definition @replacements = replacements end + def template + standarize(definition) + end + memoize :template + + # CloudFormation Resources reference: https://amzn.to/2NKg6ip + def standarize(*definition) + Standardizer.new(definition).template + end + def logical_id - id = definition.keys.first + id = template.keys.first # replace possible {namespace} in the logical id id = replacer.replace_value(id) Jets::Camelizer.camelize(id) end @@ -30,10 +45,10 @@ def properties attributes['Properties'] end def attributes - attributes = definition.values.first + attributes = template.values.first attributes = replacer.replace_placeholders(attributes) Jets::Camelizer.transform(attributes) end def parameters