module Sinapse
Public Class Methods
config()
click to toggle source
# File lib/sinapse.rb, line 26 def config @config ||= { size: 5, timeout: 5, url: ENV['REDIS_URL'] || 'redis://localhost:6379/0' } end
config=(options)
click to toggle source
# File lib/sinapse.rb, line 34 def config=(options) @config = config.merge(options.symbolize_keys) end
generate_token()
click to toggle source
# File lib/sinapse/authentication.rb, line 4 def self.generate_token SecureRandom.urlsafe_base64(64) end
pool_options()
click to toggle source
# File lib/sinapse.rb, line 38 def pool_options @pool_options ||= { size: config[:size], timeout: config[:timeout] } end
redis(&block)
click to toggle source
# File lib/sinapse.rb, line 15 def redis(&block) raise ArgumentError, "requires a block" unless block @redis ||= ConnectionPool.new(pool_options) { Redis.new(url: config[:url]) } @redis.with(&block) end
redis=(redis)
click to toggle source
# File lib/sinapse.rb, line 21 def redis=(redis) raise ArgumentError, "requires a ConnectionPool" unless redis.kind_of?(ConnectionPool) @redis = redis end
version()
click to toggle source
# File lib/sinapse/version.rb, line 2 def self.version Gem::Version.new File.read(File.expand_path('../../../VERSION', __FILE__)) end
Public Instance Methods
sinapse()
click to toggle source
# File lib/sinapse.rb, line 10 def sinapse @sinapse ||= Sinapse::Channels.new(self) end