class Wamp::Client::Message::Call
Call
Call
as originally issued by the Caller to the Dealer. Formats:
[CALL, Request|id, Options|dict, Procedure|uri] [CALL, Request|id, Options|dict, Procedure|uri, Arguments|list] [CALL, Request|id, Options|dict, Procedure|uri, Arguments|list, ArgumentsKw|dict]
Attributes
arguments[RW]
argumentskw[RW]
options[RW]
procedure[RW]
request[RW]
Public Class Methods
new(request, options, procedure, arguments=nil, argumentskw=nil)
click to toggle source
# File lib/wamp/client/message.rb, line 664 def initialize(request, options, procedure, arguments=nil, argumentskw=nil) self.class.check_id('request', request) self.class.check_dict('options', options) self.class.check_uri('procedure', procedure) self.class.check_list('arguments', arguments, true) self.class.check_dict('argumentskw', argumentskw, true) self.request = request self.options = options self.procedure = procedure self.arguments = arguments self.argumentskw = argumentskw end
parse(params)
click to toggle source
# File lib/wamp/client/message.rb, line 684 def self.parse(params) self.check_gte('params list', 4, params.count) self.check_equal('message type', self.type, params[0]) params.shift self.new(*params) end
type()
click to toggle source
# File lib/wamp/client/message.rb, line 680 def self.type Types::CALL end
Public Instance Methods
payload()
click to toggle source
# File lib/wamp/client/message.rb, line 694 def payload self.arguments ||= [] self.argumentskw ||= {} payload = [self.class.type] payload.push(self.request) payload.push(self.options) payload.push(self.procedure) return payload if (self.arguments.empty? and self.argumentskw.empty?) payload.push(self.arguments) return payload if (self.argumentskw.empty?) payload.push(self.argumentskw) payload end
to_s()
click to toggle source
# File lib/wamp/client/message.rb, line 712 def to_s 'CALL > ' + self.payload.to_s end