Class: MessageBus::Message

Inherits:
Struct
  • Object
show all
Defined in:
lib/message_bus/message.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#channelObject

Returns the value of attribute channel

Returns:

  • (Object)

    the current value of channel



1
2
3
# File 'lib/message_bus/message.rb', line 1

def channel
  @channel
end

#client_idsObject

Returns the value of attribute client_ids.



3
4
5
# File 'lib/message_bus/message.rb', line 3

def client_ids
  @client_ids
end

#dataObject

Returns the value of attribute data

Returns:

  • (Object)

    the current value of data



1
2
3
# File 'lib/message_bus/message.rb', line 1

def data
  @data
end

#global_idObject

Returns the value of attribute global_id

Returns:

  • (Object)

    the current value of global_id



1
2
3
# File 'lib/message_bus/message.rb', line 1

def global_id
  @global_id
end

#group_idsObject

Returns the value of attribute group_ids.



3
4
5
# File 'lib/message_bus/message.rb', line 3

def group_ids
  @group_ids
end

#message_idObject

Returns the value of attribute message_id

Returns:

  • (Object)

    the current value of message_id



1
2
3
# File 'lib/message_bus/message.rb', line 1

def message_id
  @message_id
end

#site_idObject

Returns the value of attribute site_id.



3
4
5
# File 'lib/message_bus/message.rb', line 3

def site_id
  @site_id
end

#user_idsObject

Returns the value of attribute user_ids.



3
4
5
# File 'lib/message_bus/message.rb', line 3

def user_ids
  @user_ids
end

Class Method Details

.decode(encoded) ⇒ Object



5
6
7
8
9
10
11
12
# File 'lib/message_bus/message.rb', line 5

def self.decode(encoded)
  s1 = encoded.index("|")
  s2 = encoded.index("|", s1+1)
  s3 = encoded.index("|", s2+1)

  MessageBus::Message.new(encoded[0..s1].to_i, encoded[s1+1..s2].to_i,
                          encoded[s2+1..s3-1].gsub("$$123$$", "|"), encoded[s3+1..-1])
end

Instance Method Details

#encodeObject

only tricky thing to encode is pipes in a channel name … do a straight replace



15
16
17
# File 'lib/message_bus/message.rb', line 15

def encode
  global_id.to_s << "|" << message_id.to_s << "|" << channel.gsub("|","$$123$$") << "|" << data
end