Class: Wampproto::Message::Event

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

Overview

event message

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

type, #type

Constructor Details

#initialize(subscription_id, publication_id, details, *args, **kwargs) ⇒ Event

Returns a new instance of Event.



9
10
11
12
13
14
15
16
# File 'lib/wampproto/message/event.rb', line 9

def initialize(subscription_id, publication_id, details, *args, **kwargs)
  super()
  @subscription_id  = Validate.int!("Subscription Id", subscription_id)
  @publication_id   = Validate.int!("Publication Id", publication_id)
  @details          = Validate.hash!("details", details)
  @args             = Validate.array!("Arguments", args)
  @kwargs           = Validate.hash!("Keyword Arguments", kwargs)
end

Instance Attribute Details

#argsObject (readonly)

Returns the value of attribute args.



7
8
9
# File 'lib/wampproto/message/event.rb', line 7

def args
  @args
end

#detailsObject (readonly)

Returns the value of attribute details.



7
8
9
# File 'lib/wampproto/message/event.rb', line 7

def details
  @details
end

#kwargsObject (readonly)

Returns the value of attribute kwargs.



7
8
9
# File 'lib/wampproto/message/event.rb', line 7

def kwargs
  @kwargs
end

#publication_idObject (readonly)

Returns the value of attribute publication_id.



7
8
9
# File 'lib/wampproto/message/event.rb', line 7

def publication_id
  @publication_id
end

#subscription_idObject (readonly)

Returns the value of attribute subscription_id.



7
8
9
# File 'lib/wampproto/message/event.rb', line 7

def subscription_id
  @subscription_id
end

Class Method Details

.parse(wamp_message) ⇒ Object



25
26
27
28
29
30
# File 'lib/wampproto/message/event.rb', line 25

def self.parse(wamp_message)
  _type, subscription_id, publication_id, details, args, kwargs = wamp_message
  args   ||= []
  kwargs ||= {}
  new(subscription_id, publication_id, details, *args, **kwargs)
end

Instance Method Details

#marshalObject



18
19
20
21
22
23
# File 'lib/wampproto/message/event.rb', line 18

def marshal
  @payload = [Type::EVENT, subscription_id, publication_id, details]
  @payload << args if kwargs.any? || args.any?
  @payload << kwargs if kwargs.any?
  @payload
end