Class: Riser::Resource

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
DRb::DRbUndumped
Defined in:
lib/riser/resource.rb

Defined Under Namespace

Modules: Delegatable, DelegateUnrefAlias Classes: Builder, Manager, Proxy

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(manager, unref_alias_set) ⇒ Resource

Returns a new instance of Resource.



182
183
184
185
# File 'lib/riser/resource.rb', line 182

def initialize(manager, unref_alias_set)
  @manager = manager
  @unref_alias_set = unref_alias_set
end

Class Method Details

.build {|builder| ... } ⇒ Object

Yields:

  • (builder)


173
174
175
176
177
# File 'lib/riser/resource.rb', line 173

def self.build
  builder = Builder.new
  yield(builder)
  builder.call
end

Instance Method Details

#callObject



189
190
191
192
193
194
195
196
197
198
199
200
# File 'lib/riser/resource.rb', line 189

def call
  proxy = Proxy.new(@manager, @unref_alias_set)
  if (block_given?) then
    begin
      yield(proxy)
    ensure
      proxy.__unref__
    end
  else
    proxy
  end
end