class Wamp::Client::Message::Publish
Publish
Sent by a Publisher to a Broker to publish an event. Formats:
[PUBLISH, Request|id, Options|dict, Topic|uri] [PUBLISH, Request|id, Options|dict, Topic|uri, Arguments|list] [PUBLISH, Request|id, Options|dict, Topic|uri, Arguments|list, ArgumentsKw|dict]
Attributes
arguments[RW]
argumentskw[RW]
options[RW]
request[RW]
topic[RW]
Public Class Methods
new(request, options, topic, arguments=nil, argumentskw=nil)
click to toggle source
# File lib/wamp/client/message.rb, line 308 def initialize(request, options, topic, arguments=nil, argumentskw=nil) self.class.check_id('request', request) self.class.check_dict('options', options) self.class.check_uri('topic', topic) self.class.check_list('arguments', arguments, true) self.class.check_dict('argumentskw', argumentskw, true) self.request = request self.options = options self.topic = topic self.arguments = arguments self.argumentskw = argumentskw end
parse(params)
click to toggle source
# File lib/wamp/client/message.rb, line 328 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 324 def self.type Types::PUBLISH end
Public Instance Methods
payload()
click to toggle source
# File lib/wamp/client/message.rb, line 338 def payload self.arguments ||= [] self.argumentskw ||= {} payload = [self.class.type] payload.push(self.request) payload.push(self.options) payload.push(self.topic) 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 356 def to_s 'PUBLISH > ' + self.payload.to_s end