Sha256: e97f3bb58803a0089628baa2fda64a0991a26702ff8abed4fee71baa246c8b84

Contents?: true

Size: 731 Bytes

Versions: 9

Compression:

Stored size: 731 Bytes

Contents

# for ruby-1.8.0

module DRb
  class DRbServer
    module InvokeMethod18Mixin
      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
      
      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
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
rubysl-drb-1.0.0 lib/drb/invokemethod.rb
shoesgem-0.1514.0 shoes/ruby/lib/drb/invokemethod.rb
shoesgem-0.1480.0 shoes/ruby/lib/drb/invokemethod.rb
shoesgem-0.1469.0 shoes/ruby/lib/drb/invokemethod.rb
shoesgem-0.1430.0 shoes/ruby/lib/drb/invokemethod.rb
shoesgem-0.1429.0 shoes/ruby/lib/drb/invokemethod.rb
shoesgem-0.1428.0 shoes/ruby/lib/drb/invokemethod.rb
shoesgem-0.1426.0 shoes/ruby/lib/drb/invokemethod.rb
shoesgem-0.1424.0 shoes/ruby/lib/drb/invokemethod.rb