Sha256: 413891b3febe819583a84f86a0207540ede87c4f9ecebb757ed9751c36c798e7
Contents?: true
Size: 644 Bytes
Versions: 21
Compression:
Stored size: 644 Bytes
Contents
class MessageBus::Message < Struct.new(:global_id, :message_id, :channel , :data) attr_accessor :site_id, :user_ids, :group_ids, :client_ids 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 # only tricky thing to encode is pipes in a channel name ... do a straight replace def encode global_id.to_s << "|" << message_id.to_s << "|" << channel.gsub("|","$$123$$") << "|" << data end end
Version data entries
21 entries across 21 versions & 1 rubygems