DRb::DRbServer::InvokeMethod18Mixin (Module)

In: drb/invokemethod.rb

Public Instance methods

[Source]

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

[Source]

# File drb/invokemethod.rb, line 13
      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 :retry
              retry
            when :break
              break(jump_error.exit_value)
            else
              raise jump_error
            end
          end
          block_value
        end
      end

[Validate]