Module: ActiveJob::Lockable
- Extended by:
- Lockable, ActiveSupport::Concern
- Included in:
- Lockable
- Defined in:
- lib/activejob/lockable.rb,
lib/activejob/lockable/version.rb,
lib/activejob/lockable/lockable.rb,
lib/activejob/lockable/redis_store.rb
Defined Under Namespace
Modules: ClassMethods Classes: RedisStore
Constant Summary collapse
- VERSION =
'0.2.0'
Instance Method Summary collapse
-
#redis ⇒ Object
Returns the current Redis connection, raising an error if it hasn’t been created.
-
#redis=(server) ⇒ Object
Accepts: 1.
Instance Method Details
#redis ⇒ Object
Returns the current Redis connection, raising an error if it hasn’t been created
34 35 36 37 |
# File 'lib/activejob/lockable.rb', line 34 def redis return @redis if @redis raise 'Redis is not configured' end |
#redis=(server) ⇒ Object
Accepts:
1. A redis URL (valid for `Redis.new(url: url)`)
2. an options hash compatible with `Redis.new`
3. or a valid Redis instance (one that responds to `#smembers`). Likely,
this will be an instance of either `Redis`, `Redis::Client`,
`Redis::DistRedis`, or `Redis::Namespace`.
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/activejob/lockable.rb', line 20 def redis=(server) @redis = if server.is_a?(String) Redis.new(:url => server, :thread_safe => true) elsif server.is_a?(Hash) Redis.new(server.merge(:thread_safe => true)) elsif server.respond_to?(:smembers) server else raise ArgumentError, 'You must supply a url, options hash or valid Redis connection instance' end end |