module Terraspace::Compiler::Dsl::Syntax::Mod::Resource
Public Instance Methods
decorate(type, props)
click to toggle source
# File lib/terraspace/compiler/dsl/syntax/mod/resource.rb, line 10 def decorate(type, props) klass = decorator_class(type) return props unless klass decorator = klass.new(type, props) decorator.call end
decorator_class(type)
click to toggle source
# File lib/terraspace/compiler/dsl/syntax/mod/resource.rb, line 17 def decorator_class(type) # IE: TerraspacePluginAws::Interfaces::Decorator klass_name = Terraspace::Plugin.klass("Decorator", resource: type) klass_name.constantize if klass_name rescue NameError end
resource(type, name, props={})
click to toggle source
# File lib/terraspace/compiler/dsl/syntax/mod/resource.rb, line 3 def resource(type, name, props={}) resource = @structure[:resource] ||= {} resource_type = resource[type] ||= {} props = decorate(type, props) resource_type[name] = props end