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.



186
187
188
189
# File 'lib/riser/resource.rb', line 186

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

Class Method Details

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

Yields:

  • (builder)


177
178
179
180
181
# File 'lib/riser/resource.rb', line 177

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

Instance Method Details

#callObject



193
194
195
196
197
198
199
200
201
202
203
204
# File 'lib/riser/resource.rb', line 193

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