Module: RedisSupport
- Extended by:
- ClassMethods
- Defined in:
- lib/redis_support/locks.rb,
lib/redis_support.rb,
lib/redis_support/class_extensions.rb
Overview
Locking support
Defined Under Namespace
Modules: ClassMethods, Keys Classes: DuplicateRedisKeyDefinitionError, InvalidRedisKeyDefinitionError, RedisKeyError
Constant Summary collapse
- VAR_PATTERN =
/^[A-Z]+(_[A-Z]+)*$/
- STR_PATTERN =
/^[a-z_]+$/
Class Method Summary collapse
- .included(model) ⇒ Object
-
.redis_connect(connection) ⇒ Object
Inspired/take from the redis= in Resque.
Instance Method Summary collapse
Methods included from ClassMethods
acquire_redis_lock, acquire_redis_lock_nonblock, has_redis_lock?, is_redis_fulfilling_locked?, is_redis_locked?, locked_until, redefine_redis_key, redis=, redis_key, redis_lock, redis_lock_nonblock, redis_throttle, release_redis_lock
Class Method Details
.included(model) ⇒ Object
33 34 35 |
# File 'lib/redis_support.rb', line 33 def self.included(model) model.extend ClassMethods end |
.redis_connect(connection) ⇒ Object
Inspired/take from the redis= in Resque
Accepts:
1. A 'hostname:port' string
2. A 'hostname:port:db' string (to select the Redis db)
3. An instance of `Redis`, `Redis::Client`
43 44 45 46 47 48 49 50 |
# File 'lib/redis_support.rb', line 43 def self.redis_connect(connection) if connection.respond_to? :split host, port, db = connection.split(':') Redis.new(:host => host,:port => port,:thread_safe => true,:db => db) else connection end end |
Instance Method Details
#keys ⇒ Object
18 19 20 |
# File 'lib/redis_support.rb', line 18 def keys Keys end |
#redis ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/redis_support.rb', line 10 def redis if( self.class.respond_to?(:redis) ) self.class.redis else @redis || RedisSupport.redis end end |