Sha256: 88c7b69a3dd6556e2dd2759b3643cfad0a62d6ddc3d711fe0d5a02c1eb8809e8
Contents?: true
Size: 1.19 KB
Versions: 4
Compression:
Stored size: 1.19 KB
Contents
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 :ChildStack, 'jets/resource/child_stack' autoload :Function, 'jets/resource/function' autoload :Iam, 'jets/resource/iam' autoload :S3, 'jets/resource/s3' attr_reader :definition, :replacements def initialize(definition, replacements={}) @definition = definition @replacements = replacements end def logical_id id = definition.keys.first # replace possible {namespace} in the logical id id = replacer.replace_value(id) Jets::Pascalize.pascalize_string(id) end def type attributes['Type'] end def properties attributes['Properties'] end def attributes attributes = definition.values.first attributes = replacer.replace_placeholders(attributes) Jets::Pascalize.pascalize(attributes) end def parameters {} end def outputs {} end def replacer Replacer.new(replacements) end memoize :replacer def permission Permission.new(replacements, self) end memoize :permission end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
jets-0.8.4 | lib/jets/resource.rb |
jets-0.8.3 | lib/jets/resource.rb |
jets-0.8.2 | lib/jets/resource.rb |
jets-0.8.1 | lib/jets/resource.rb |