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