class LiveResource::Pubnub::PubnubProtocol

Public Class Methods

new(pubnub) click to toggle source
# File lib/live_resource/pubnub/pubnub_protocol.rb, line 9
def initialize(pubnub)
  @pubnub = pubnub
end

Public Instance Methods

channel_for(resource_id) click to toggle source
# File lib/live_resource/pubnub/pubnub_protocol.rb, line 30
def channel_for(resource_id)
  resource_id
end
encode_identifier(identifier) click to toggle source
# File lib/live_resource/pubnub/pubnub_protocol.rb, line 34
def encode_identifier(identifier)
  permitted_characters = URI::REGEXP::PATTERN::UNRESERVED
  identifier.gsub(/[^#{permitted_characters}]/, '_')
end
publish_message(resource_identifier, type, params = nil) click to toggle source
# File lib/live_resource/pubnub/pubnub_protocol.rb, line 13
def publish_message(resource_identifier, type, params = nil)
  params     ||= {}
  channel_id = channel_for(resource_identifier)

  message = params.merge(
      :type           => type,
      :':resource_id' => resource_identifier,
  )

  @pubnub.publish(
      params.merge(
          :channel  => channel_id,
          :message  => message,
          :callback => ->(x) {}
      ))
end