class ForeignOffice::Busses::PubnubBus

Public Class Methods

config(config) click to toggle source
# File lib/foreign_office/busses/pubnub_bus.rb, line 3
def self.config(config)
  self.publish_key = config[:publish_key]
  self.subscribe_key = config[:subscribe_key]
  self.secret_key = config[:secret_key]
end
connection() click to toggle source
# File lib/foreign_office/busses/pubnub_bus.rb, line 33
def self.connection
  @pubnub ||= ::Pubnub.new(
    publish_key:    self.publish_key, # publish_key only required if publishing.
    subscribe_key:  self.subscribe_key, # required
    secret_key:     self.secret_key,
    ssl:            true
  )
end
publish(message) click to toggle source
# File lib/foreign_office/busses/pubnub_bus.rb, line 42
def self.publish(message)
  channel = message[:channel]

  if browser_tab_id = message[:browser_tab_id]
    channel += "@#{browser_tab_id}" 
  end

  self.connection.publish(
    channel:  channel,
    message:  message,
    http_sync: true
  ) do |envelope|
    if '200' != envelope.status_code.to_s
      Rails.logger.error "ForeignOffice error esponse:"
      Rails.logger.error envelope.message
      Rails.logger.error envelope.channel
      Rails.logger.error envelope.status_code
      Rails.logger.error envelope.timetoken
    end
  end
end
publish_key() click to toggle source
# File lib/foreign_office/busses/pubnub_bus.rb, line 13
def self.publish_key
  @publish_key
end
publish_key=(publish_key) click to toggle source
# File lib/foreign_office/busses/pubnub_bus.rb, line 9
def self.publish_key=(publish_key)
  @publish_key = publish_key
end
secret_key() click to toggle source
# File lib/foreign_office/busses/pubnub_bus.rb, line 29
def self.secret_key
  @secret_key
end
secret_key=(secret_key) click to toggle source
# File lib/foreign_office/busses/pubnub_bus.rb, line 25
def self.secret_key=(secret_key)
  @secret_key = secret_key
end
subscribe_key() click to toggle source
# File lib/foreign_office/busses/pubnub_bus.rb, line 21
def self.subscribe_key
  @subscribe_key
end
subscribe_key=(subscribe_key) click to toggle source
# File lib/foreign_office/busses/pubnub_bus.rb, line 17
def self.subscribe_key=(subscribe_key)
  @subscribe_key = subscribe_key
end