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.



145
146
147
148
149
# File 'lib/riser/resource.rb', line 145

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

Instance Method Details

#alias_unref(name) ⇒ Object



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

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

#at_create(&block) ⇒ Object

:yields:



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

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

#at_destroy(&block) ⇒ Object

:yields: resource_object



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

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

#callObject



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

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