Class: WampClient::Message::Event

Inherits:
Base
  • Object
show all
Defined in:
lib/wamp_client/message.rb

Overview

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]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Check

included

Constructor Details

#initialize(subscribed_subscription, published_publication, details, publish_arguments = nil, publish_argumentskw = nil) ⇒ Event

Returns a new instance of Event.



679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
# File 'lib/wamp_client/message.rb', line 679

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

Instance Attribute Details

#detailsObject

Returns the value of attribute details.



677
678
679
# File 'lib/wamp_client/message.rb', line 677

def details
  @details
end

#publish_argumentsObject

Returns the value of attribute publish_arguments.



677
678
679
# File 'lib/wamp_client/message.rb', line 677

def publish_arguments
  @publish_arguments
end

#publish_argumentskwObject

Returns the value of attribute publish_argumentskw.



677
678
679
# File 'lib/wamp_client/message.rb', line 677

def publish_argumentskw
  @publish_argumentskw
end

#published_publicationObject

Returns the value of attribute published_publication.



677
678
679
# File 'lib/wamp_client/message.rb', line 677

def published_publication
  @published_publication
end

#subscribed_subscriptionObject

Returns the value of attribute subscribed_subscription.



677
678
679
# File 'lib/wamp_client/message.rb', line 677

def subscribed_subscription
  @subscribed_subscription
end

Class Method Details

.parse(params) ⇒ Object



699
700
701
702
703
704
705
706
707
# File 'lib/wamp_client/message.rb', line 699

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

.typeObject



695
696
697
# File 'lib/wamp_client/message.rb', line 695

def self.type
  Types::EVENT
end

Instance Method Details

#payloadObject



709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
# File 'lib/wamp_client/message.rb', line 709

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_sObject



727
728
729
# File 'lib/wamp_client/message.rb', line 727

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