Module DRb::DRbServer::InvokeMethod18Mixin
In: lib/drb/invokemethod.rb

Methods

Public Instance methods

[Source]

    # File lib/drb/invokemethod.rb, line 6
 6:       def block_yield(x)
 7:         if x.size == 1 && x[0].class == Array
 8:           x[0] = DRbArray.new(x[0])
 9:         end
10:         block_value = @block.call(*x)
11:       end

[Source]

    # File lib/drb/invokemethod.rb, line 13
13:       def perform_with_block
14:         @obj.__send__(@msg_id, *@argv) do |*x|
15:           jump_error = nil
16:           begin
17:             block_value = block_yield(x)
18:           rescue LocalJumpError
19:             jump_error = $!
20:           end
21:           if jump_error
22:             case jump_error.reason
23:             when :retry
24:               retry
25:             when :break
26:               break(jump_error.exit_value)
27:             else
28:               raise jump_error
29:             end
30:           end
31:           block_value
32:         end
33:       end

[Validate]