Sha256: 9606802c4b706c07e5134dd9f71da4c8d7897760f8ea7eaa2fdc897544c5432f

Contents?: true

Size: 602 Bytes

Versions: 20

Compression:

Stored size: 602 Bytes

Contents

class MessageBus::Message < Struct.new(:global_id, :message_id, :channel , :data)

  attr_accessor :site_id, :user_ids, :group_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

20 entries across 20 versions & 1 rubygems

Version Path
message_bus-1.0.11 lib/message_bus/message.rb
message_bus-1.0.10 lib/message_bus/message.rb
message_bus-1.0.9 lib/message_bus/message.rb
message_bus-1.0.8 lib/message_bus/message.rb
message_bus-1.0.7 lib/message_bus/message.rb
message_bus-1.0.6 lib/message_bus/message.rb
message_bus-1.0.5 lib/message_bus/message.rb
message_bus-1.0.4 lib/message_bus/message.rb
message_bus-1.0.3 lib/message_bus/message.rb
message_bus-1.0.2 lib/message_bus/message.rb
message_bus-1.0.1 lib/message_bus/message.rb
message_bus-1.0.0 lib/message_bus/message.rb
message_bus-0.9.6 lib/message_bus/message.rb
message_bus-0.9.5 lib/message_bus/message.rb
message_bus-0.9.4 lib/message_bus/message.rb
message_bus-0.9.3.2 lib/message_bus/message.rb
message_bus-0.9.3.1 lib/message_bus/message.rb
message_bus-0.9.3 lib/message_bus/message.rb
message_bus-0.0.2 lib/message_bus/message.rb
message_bus-0.0.1 lib/message_bus/message.rb