module Pubsubstub
Constants
- VERSION
Attributes
channels_scrollback_size[RW]
channels_scrollback_ttl[RW]
error_handler[RW]
heartbeat_frequency[RW]
logger[RW]
reconnect_timeout[RW]
redis_url[RW]
use_persistent_connections[RW]
Public Class Methods
handle_error(error)
click to toggle source
# File lib/pubsubstub.rb, line 57 def handle_error(error) logger.error("Uncaught exception: #{error.class}: #{error.message}\n#{error.backtrace.join("\n\t")}\n") error_handler && error_handler.call(error) end
heartbeat_event()
click to toggle source
# File lib/pubsubstub.rb, line 53 def heartbeat_event Event.new('ping', name: 'heartbeat', retry_after: reconnect_timeout) end
new_redis()
click to toggle source
# File lib/pubsubstub.rb, line 45 def new_redis Redis.new(url: redis_url) end
publish(channel_name, *args)
click to toggle source
# File lib/pubsubstub.rb, line 27 def publish(channel_name, *args) Channel.new(channel_name).publish(Event.new(*args)) nil end
redis()
click to toggle source
# File lib/pubsubstub.rb, line 37 def redis @redis || synchronize { @redis ||= new_redis } end
redis=(client)
click to toggle source
# File lib/pubsubstub.rb, line 41 def redis=(client) synchronize { @redis = client } end
redis_url=(url)
click to toggle source
# File lib/pubsubstub.rb, line 32 def redis_url=(url) @redis_url = url.to_s @redis = nil end
report_errors() { || ... }
click to toggle source
# File lib/pubsubstub.rb, line 62 def report_errors yield rescue => error handle_error(error) raise end
subscriber()
click to toggle source
# File lib/pubsubstub.rb, line 49 def subscriber @subscriber || synchronize { @subscriber ||= Subscriber.new } end