Module: DRb::DRbServer::InvokeMethod18Mixin
- Included in:
- InvokeMethod
- Defined in:
- lib/drb/invokemethod.rb
Instance Method Summary collapse
Instance Method Details
#block_yield(x) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/drb/invokemethod.rb', line 7 def block_yield(x) if x.size == 1 && x[0].class == Array x[0] = DRbArray.new(x[0]) end @block.call(*x) end |
#perform_with_block ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/drb/invokemethod.rb', line 14 def perform_with_block @obj.__send__(@msg_id, *@argv) do |*x| jump_error = nil begin block_value = block_yield(x) rescue LocalJumpError jump_error = $! end if jump_error case jump_error.reason when :break break(jump_error.exit_value) else raise jump_error end end block_value end end |