class TerraformDSL::AWS::Resource

Attributes

parent[R]

Public Instance Methods

accept(visitor) click to toggle source
# File lib/terraformdsl/aws.rb, line 19
def accept(visitor)
  method = 'on_' + self.class.name.sub(/^.*?AWS::/, '').gsub('::', '_')
  visitor.__send__(method, self) do
    @children.each do |x|
      x.accept(visitor)
    end if @children
  end
end
attr(attr) click to toggle source
# File lib/terraformdsl/aws.rb, line 28
def attr(attr)
  raise NotImplementedError.new("#{self.class.name}#attr(#{attr.inspect}): not available.")
end
set_parent(resource) click to toggle source
# File lib/terraformdsl/aws.rb, line 12
def set_parent(resource)
  @parent.nil?  or raise "already parent set."
  @parent = resource
end

Private Instance Methods

add_resource(res, &blk) click to toggle source
# File lib/terraformdsl/aws.rb, line 34
def add_resource(res, &blk)
  res.set_parent(self)
  (@children ||= []) << res
  res.instance_exec(res, &blk) if blk
  return res
end
let(*args) { |*args| ... } click to toggle source
# File lib/terraformdsl/aws.rb, line 41
def let(*args)
  yield *args
end