Module: Stacks::Backends::Backend

Included in:
KeyValueBackend, NamespacedBackend
Defined in:
lib/stacks/backends/backend.rb

Instance Method Summary collapse

Instance Method Details

#fill(item, ttl) ⇒ Object



21
22
23
24
25
# File 'lib/stacks/backends/backend.rb', line 21

def fill(item, ttl)
  value = set(item)
  expire(item, ttl)
  value
end

#get_or_set(item, ttl) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/stacks/backends/backend.rb', line 27

def get_or_set(item, ttl)
  begin
    value = get(item)
    return value
  rescue Stacks::NoValueException

  end

  fill(item, ttl)
end

#key(item) ⇒ Object



17
18
19
# File 'lib/stacks/backends/backend.rb', line 17

def key(item)
  [prefix_key, suffix_key(item)].join(Stacks::key_separator)
end

#prefix_keyObject



9
10
11
# File 'lib/stacks/backends/backend.rb', line 9

def prefix_key
  prefix_keys.join(Stacks::key_separator)
end

#prefix_keysObject



3
4
5
6
7
# File 'lib/stacks/backends/backend.rb', line 3

def prefix_keys
  keys = [Stacks.redis_prefix, backend_key]
  keys << Stacks.extra_prefix.call if Stacks.extra_prefix
  keys
end

#suffix_key(item) ⇒ Object



13
14
15
# File 'lib/stacks/backends/backend.rb', line 13

def suffix_key(item)
  item.key
end