module Convection::DSL::Template::Resource
Container for DSL
interfaces
Public Class Methods
attach_resource(name, klass)
click to toggle source
Wrap private define_method
# File lib/convection/model/template.rb, line 19 def attach_resource(name, klass) resource_dsl_methods[name.to_s] = klass define_method(name) do |rname, &block| resource = klass.new(rname, self) resource.instance_exec(&block) if block resources[rname] = resource end end
attach_resource_collection(name, klass)
click to toggle source
# File lib/convection/model/template.rb, line 29 def attach_resource_collection(name, klass) resource_collection_dsl_methods[name.to_s] = klass define_method(name) do |rname, &block| resource_collections[rname] = klass.new(rname, self, &block) end end
resource_collection_dsl_methods()
click to toggle source
# File lib/convection/model/template.rb, line 40 def resource_collection_dsl_methods @resource_collection_dsl_methods ||= {} end
resource_dsl_methods()
click to toggle source
# File lib/convection/model/template.rb, line 36 def resource_dsl_methods @resource_dsl_methods ||= {} end
Public Instance Methods
_terraform_module_dir_to_flag(dir)
click to toggle source
# File lib/convection/model/template.rb, line 45 def _terraform_module_dir_to_flag(dir) return 'root' if dir.empty? parts = dir.split('/') parts[0] = 'module' if parts[0] == 'modules' parts.join('.') end
_terraform_module_flag_to_dir(flag)
click to toggle source
# File lib/convection/model/template.rb, line 53 def _terraform_module_flag_to_dir(flag) return '' if flag == 'root' parts = flag.split('.') parts[0] = 'modules' parts.join('/') end