class Wamp::Client::Message::Event
Event
Event
dispatched by Broker to Subscribers for subscriptions the event was matching. Formats:
[EVENT, SUBSCRIBED.Subscription|id, PUBLISHED.Publication|id, Details|dict] [EVENT, SUBSCRIBED.Subscription|id, PUBLISHED.Publication|id, Details|dict, PUBLISH.Arguments|list] [EVENT, SUBSCRIBED.Subscription|id, PUBLISHED.Publication|id, Details|dict, PUBLISH.Arguments|list, PUBLISH.ArgumentsKw|dict]
Attributes
details[RW]
publish_arguments[RW]
publish_argumentskw[RW]
published_publication[RW]
subscribed_subscription[RW]
Public Class Methods
new(subscribed_subscription, published_publication, details, publish_arguments=nil, publish_argumentskw=nil)
click to toggle source
# File lib/wamp/client/message.rb, line 601 def initialize(subscribed_subscription, published_publication, details, publish_arguments=nil, publish_argumentskw=nil) self.class.check_id('subscribed_subscription', subscribed_subscription) self.class.check_id('published_publication', published_publication) self.class.check_dict('details', details) self.class.check_list('publish_arguments', publish_arguments, true) self.class.check_dict('publish_argumentskw', publish_argumentskw, true) self.subscribed_subscription = subscribed_subscription self.published_publication = published_publication self.details = details self.publish_arguments = publish_arguments self.publish_argumentskw = publish_argumentskw end
parse(params)
click to toggle source
# File lib/wamp/client/message.rb, line 621 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 617 def self.type Types::EVENT end
Public Instance Methods
payload()
click to toggle source
# File lib/wamp/client/message.rb, line 631 def payload self.publish_arguments ||= [] self.publish_argumentskw ||= {} payload = [self.class.type] payload.push(self.subscribed_subscription) payload.push(self.published_publication) payload.push(self.details) return payload if (self.publish_arguments.empty? and self.publish_argumentskw.empty?) payload.push(self.publish_arguments) return payload if (self.publish_argumentskw.empty?) payload.push(self.publish_argumentskw) payload end
to_s()
click to toggle source
# File lib/wamp/client/message.rb, line 649 def to_s 'EVENT > ' + self.payload.to_s end