Sha256: fb788f11f6d9e5b868fab5d7ad28eaeafffaca890e284369bd475eab6595fe13

Contents?: true

Size: 591 Bytes

Versions: 1

Compression:

Stored size: 591 Bytes

Contents

module PipeRpc
  class Client::Request::Result
    def initialize(request)
      @request = request
    end

    def value=(result)
      @received = true
      @value = result
    end

    def received?
      @received
    end

    def value
      if @value.is_a? Exception
        @value.set_backtrace(@value.backtrace.to_a + @request.stacktrace) if @value.respond_to? :set_backtrace
        raise @value
      else
        @request.deep_map(@value) do |value|
          (@request.hub.servers.registered? value) ? @request.hub.servers[value] : value
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pipe_rpc-2.1.0 lib/pipe_rpc/client_request_result.rb