class Agave::Watch::SiteChangeWatcher

Constants

PUSHER_API_KEY

Attributes

site_id[R]

Public Class Methods

new(site_id) click to toggle source
# File lib/agave/watch/site_change_watcher.rb, line 11
def initialize(site_id)
  PusherClient.logger.level = Logger::WARN
  @site_id = site_id
  @socket = nil
end

Public Instance Methods

connect(&block) click to toggle source
# File lib/agave/watch/site_change_watcher.rb, line 17
def connect(&block)
  return if connected?

  @socket = PusherClient::Socket.new(PUSHER_API_KEY, secure: true)
  @socket.subscribe("site-#{site_id}")
  @socket.bind('site:change', &block)
  @socket.connect(true)

  self
end
connected?() click to toggle source
# File lib/agave/watch/site_change_watcher.rb, line 28
def connected?
  @socket && @socket.connected
end
disconnect!() click to toggle source
# File lib/agave/watch/site_change_watcher.rb, line 32
def disconnect!
  connected? && @socket.disconnect
end