class ForeignOffice::Busses::PusherBus

Public Class Methods

app_id() click to toggle source
# File lib/foreign_office/busses/pusher_bus.rb, line 11
def self.app_id
  @app_id
end
app_id=(app_id) click to toggle source
# File lib/foreign_office/busses/pusher_bus.rb, line 7
def self.app_id=(app_id)
  @app_id = app_id
end
config(config) click to toggle source
# File lib/foreign_office/busses/pusher_bus.rb, line 2
def self.config(config)
  # Pusher now pulls config directly from the ENV
  Pusher.encrypted = true
end
connection() click to toggle source
# File lib/foreign_office/busses/pusher_bus.rb, line 31
def self.connection
  @pusher ||= Pusher
end
key() click to toggle source
# File lib/foreign_office/busses/pusher_bus.rb, line 19
def self.key
  @key
end
key=(key) click to toggle source
# File lib/foreign_office/busses/pusher_bus.rb, line 15
def self.key=(key)
  @key = key
end
publish(message) click to toggle source
# File lib/foreign_office/busses/pusher_bus.rb, line 35
def self.publish(message)
  message.symbolize_keys!
  channel = sanitize_channel(message[:channel])
  
  if browser_tab_id = message[:browser_tab_id]
    channel += "@#{browser_tab_id}"
  end

  self.connection.trigger(
    channel,
    'publish',
    message
  )
end
sanitize_channel(channel) click to toggle source
# File lib/foreign_office/busses/pusher_bus.rb, line 50
def self.sanitize_channel(channel)
  channel.gsub(/::/,'.')
end
secret() click to toggle source
# File lib/foreign_office/busses/pusher_bus.rb, line 27
def self.secret
  @secret
end
secret=(secret) click to toggle source
# File lib/foreign_office/busses/pusher_bus.rb, line 23
def self.secret=(secret)
  @secret = secret
end