Class: Riser::Resource::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/riser/resource.rb

Instance Method Summary collapse

Constructor Details

#initializeBuilder

Returns a new instance of Builder.



149
150
151
152
153
# File 'lib/riser/resource.rb', line 149

def initialize
  @create = nil
  @destroy = nil
  @unref_alias_set = Set.new
end

Instance Method Details

#alias_unref(name) ⇒ Object



165
166
167
168
# File 'lib/riser/resource.rb', line 165

def alias_unref(name)
  @unref_alias_set << name.to_sym
  nil
end

#at_create(&block) ⇒ Object

:yields:



155
156
157
158
# File 'lib/riser/resource.rb', line 155

def at_create(&block)     # :yields:
  @create = block
  nil
end

#at_destroy(&block) ⇒ Object

:yields: resource_object



160
161
162
163
# File 'lib/riser/resource.rb', line 160

def at_destroy(&block)    # :yields: resource_object
  @destroy = block
  nil
end

#callObject



170
171
172
173
174
# File 'lib/riser/resource.rb', line 170

def call
  @create or raise 'not defined create block'
  @destroy or raise 'not defined destroy block'
  Resource.new(Manager.new(@create, @destroy), @unref_alias_set)
end