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.



805
806
807
808
809
810
811
812
813
814
815
816
817
# File 'lib/wamp_client/message.rb', line 805

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.



803
804
805
# File 'lib/wamp_client/message.rb', line 803

def call_request
  @call_request
end

#detailsObject

Returns the value of attribute details.



803
804
805
# File 'lib/wamp_client/message.rb', line 803

def details
  @details
end

#yield_argumentsObject

Returns the value of attribute yield_arguments.



803
804
805
# File 'lib/wamp_client/message.rb', line 803

def yield_arguments
  @yield_arguments
end

#yield_argumentskwObject

Returns the value of attribute yield_argumentskw.



803
804
805
# File 'lib/wamp_client/message.rb', line 803

def yield_argumentskw
  @yield_argumentskw
end

Class Method Details

.parse(params) ⇒ Object



823
824
825
826
827
828
829
830
831
# File 'lib/wamp_client/message.rb', line 823

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



819
820
821
# File 'lib/wamp_client/message.rb', line 819

def self.type
  Types::RESULT
end

Instance Method Details

#payloadObject



833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
# File 'lib/wamp_client/message.rb', line 833

def payload
  self.yield_arguments ||= []
  self.yield_argumentskw ||= {}

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

  return payload if (self.yield_arguments.empty? and self.yield_argumentskw.empty?)
  payload.push(self.yield_arguments)

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

  payload
end

#to_sObject



850
851
852
# File 'lib/wamp_client/message.rb', line 850

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