Class: Colloquy::Helpers::Redis::RedisProxy

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/colloquy/helpers/redis.rb

Instance Method Summary collapse

Constructor Details

#initializeRedisProxy

Returns a new instance of RedisProxy.



23
24
25
# File 'lib/colloquy/helpers/redis.rb', line 23

def initialize
  @configured = false
end

Instance Method Details

#[](identifier) ⇒ Object



59
60
61
62
63
64
65
# File 'lib/colloquy/helpers/redis.rb', line 59

def [](identifier)
  unless @redis_connections[identifier.to_sym]
    raise Colloquy::RedisConnectionNotFoundException, "A Redis connection for #{identifier} was not found, did you mis-spell or forget to configure it?"
  end
        
  @redis_connections[identifier.to_sym]
end

#configureObject



27
28
29
30
# File 'lib/colloquy/helpers/redis.rb', line 27

def configure
  return if configured?
  configure!
end

#configure!Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/colloquy/helpers/redis.rb', line 32

def configure!
  unless redis_configuration_file.exist?
    raise Colloquy::RedisConfigurationNotFoundException, "Cannot find #{redis_configuration_file}"
  end

  begin
    require_redis_libraries
  rescue LoadError
    raise Colloquy::RedisGemsNotFoundException, "Cannot load the em-redis gem."
  end    

  @redis_connections ||= {}
  redis_configuration_load
  
  @configured = true
end

#configured?Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/colloquy/helpers/redis.rb', line 49

def configured?
  @configured
end

#require_redis_librariesObject



53
54
55
56
57
# File 'lib/colloquy/helpers/redis.rb', line 53

def require_redis_libraries
  require "em-redis"
  require "em-synchrony"
  require "em-synchrony/em-redis"
end