Class: Prefatory::Storage::RedisProvider

Inherits:
Object
  • Object
show all
Includes:
Keys
Defined in:
lib/prefatory/storage/redis_provider.rb

Constant Summary

Constants included from Keys

Keys::INCR_KEY

Instance Method Summary collapse

Methods included from Keys

#build_key

Constructor Details

#initialize(options, ttl, key_prefix = nil) ⇒ RedisProvider

Returns a new instance of RedisProvider.



8
9
10
11
12
13
# File 'lib/prefatory/storage/redis_provider.rb', line 8

def initialize(options, ttl, key_prefix=nil)
  options = default_settings(options)
  @ttl = ttl
  @key_prefix = key_prefix
  @client = options ? Redis.new(options) : Redis.current
end

Instance Method Details

#delete(key) ⇒ Object



23
24
25
# File 'lib/prefatory/storage/redis_provider.rb', line 23

def delete(key)
  @client.del(key)
end

#get(key) ⇒ Object



19
20
21
# File 'lib/prefatory/storage/redis_provider.rb', line 19

def get(key)
  @client.get(key)
end

#key?(key) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/prefatory/storage/redis_provider.rb', line 27

def key?(key)
  @client.exists(key)
end

#next_key(obj = nil) ⇒ Object



31
32
33
# File 'lib/prefatory/storage/redis_provider.rb', line 31

def next_key(obj=nil)
  build_key(obj, @client.incr(build_key(obj, nil, @key_prefix)), @key_prefix)
end

#set(key, value, ttl = nil) ⇒ Object



15
16
17
# File 'lib/prefatory/storage/redis_provider.rb', line 15

def set(key, value, ttl=nil)
  @client.set(key, value, ex: ttl||@ttl)
end