Class: WampClient::Message::Result

Inherits:
Base
  • Object
show all
Defined in:
lib/wamp_client/message.rb

Overview

Result Result of a call as returned by Dealer to Caller. Formats:

[RESULT, CALL.Request|id, Details|dict]
[RESULT, CALL.Request|id, Details|dict, YIELD.Arguments|list]
[RESULT, CALL.Request|id, Details|dict, YIELD.Arguments|list, YIELD.ArgumentsKw|dict]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Check

included

Constructor Details

#initialize(call_request, details, yield_arguments = nil, yield_argumentskw = nil) ⇒ Result

Returns a new instance of Result.



784
785
786
787
788
789
790
791
792
793
794
795
796
# File 'lib/wamp_client/message.rb', line 784

def initialize(call_request, details, yield_arguments=nil, yield_argumentskw=nil)

  self.class.check_id('call_request', call_request)
  self.class.check_dict('details', details)
  self.class.check_list('yield_arguments', yield_arguments, true)
  self.class.check_dict('yield_argumentskw', yield_argumentskw, true)

  self.call_request = call_request
  self.details = details
  self.yield_arguments = yield_arguments
  self.yield_argumentskw = yield_argumentskw

end

Instance Attribute Details

#call_requestObject

Returns the value of attribute call_request.



782
783
784
# File 'lib/wamp_client/message.rb', line 782

def call_request
  @call_request
end

#detailsObject

Returns the value of attribute details.



782
783
784
# File 'lib/wamp_client/message.rb', line 782

def details
  @details
end

#yield_argumentsObject

Returns the value of attribute yield_arguments.



782
783
784
# File 'lib/wamp_client/message.rb', line 782

def yield_arguments
  @yield_arguments
end

#yield_argumentskwObject

Returns the value of attribute yield_argumentskw.



782
783
784
# File 'lib/wamp_client/message.rb', line 782

def yield_argumentskw
  @yield_argumentskw
end

Class Method Details

.parse(params) ⇒ Object



802
803
804
805
806
807
808
809
810
# File 'lib/wamp_client/message.rb', line 802

def self.parse(params)

  self.check_gte('params list', 3, params.count)
  self.check_equal('message type', self.type, params[0])

  params.shift
  self.new(*params)

end

.typeObject



798
799
800
# File 'lib/wamp_client/message.rb', line 798

def self.type
  Types::RESULT
end

Instance Method Details

#payloadObject



812
813
814
815
816
817
818
819
820
821
822
823
824
# File 'lib/wamp_client/message.rb', line 812

def payload
  payload = [self.class.type]
  payload.push(self.call_request)
  payload.push(self.details)

  return payload if (self.yield_arguments.nil? or self.yield_arguments.empty?)
  payload.push(self.yield_arguments)

  return payload if (self.yield_argumentskw.nil? or self.yield_argumentskw.empty?)
  payload.push(self.yield_argumentskw)

  payload
end

#to_sObject



826
827
828
# File 'lib/wamp_client/message.rb', line 826

def to_s
  'RESULT > ' + self.payload.to_s
end