class MessageBus::Message

Attributes

client_ids[RW]
group_ids[RW]
site_id[RW]
user_ids[RW]

Public Class Methods

decode(encoded) click to toggle source
# 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

Public Instance Methods

encode() click to toggle source

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

# File lib/message_bus/message.rb, line 15
def encode
  global_id.to_s << "|" << message_id.to_s << "|" << channel.gsub("|","$$123$$") << "|" << data
end