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