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

Version Path
message_bus-2.0.2 lib/message_bus/message.rb
message_bus-2.0.1 lib/message_bus/message.rb
message_bus-2.0.0 lib/message_bus/message.rb
message_bus-2.0.0.beta.11 lib/message_bus/message.rb
message_bus-2.0.0.beta.10 lib/message_bus/message.rb
message_bus-2.0.0.beta.9 lib/message_bus/message.rb
message_bus-2.0.0.beta.8 lib/message_bus/message.rb
message_bus-2.0.0.beta.7 lib/message_bus/message.rb
message_bus-2.0.0.beta.6 lib/message_bus/message.rb
message_bus-2.0.0.beta.5 lib/message_bus/message.rb
message_bus-2.0.0.beta.4 lib/message_bus/message.rb
message_bus-2.0.0.beta.3 lib/message_bus/message.rb
message_bus-2.0.0.beta.2 lib/message_bus/message.rb
message_bus-2.0.0.beta.1 lib/message_bus/message.rb
message_bus-1.1.1 lib/message_bus/message.rb
message_bus-1.1.0 lib/message_bus/message.rb
message_bus-1.0.16 lib/message_bus/message.rb
message_bus-1.0.15 lib/message_bus/message.rb
message_bus-1.0.14 lib/message_bus/message.rb
message_bus-1.0.13 lib/message_bus/message.rb