Class: Wamp::Client::Message::Result

Inherits:
Base
  • Object
show all
Defined in:
lib/wamp/client/message.rb,
lib/wamp/client/request/call.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.



727
728
729
730
731
732
733
734
735
736
737
738
739
# File 'lib/wamp/client/message.rb', line 727

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.



725
726
727
# File 'lib/wamp/client/message.rb', line 725

def call_request
  @call_request
end

#detailsObject

Returns the value of attribute details.



725
726
727
# File 'lib/wamp/client/message.rb', line 725

def details
  @details
end

#yield_argumentsObject

Returns the value of attribute yield_arguments.



725
726
727
# File 'lib/wamp/client/message.rb', line 725

def yield_arguments
  @yield_arguments
end

#yield_argumentskwObject

Returns the value of attribute yield_argumentskw.



725
726
727
# File 'lib/wamp/client/message.rb', line 725

def yield_argumentskw
  @yield_argumentskw
end

Class Method Details

.parse(params) ⇒ Object



745
746
747
748
749
750
751
752
753
# File 'lib/wamp/client/message.rb', line 745

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



741
742
743
# File 'lib/wamp/client/message.rb', line 741

def self.type
  Types::RESULT
end

Instance Method Details

#payloadObject



755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
# File 'lib/wamp/client/message.rb', line 755

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

#request_idObject



9
10
11
# File 'lib/wamp/client/request/call.rb', line 9

def request_id
  self.call_request
end

#to_sObject



772
773
774
# File 'lib/wamp/client/message.rb', line 772

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