Module: Catche::Tag
- Extended by:
- Tag
- Included in:
- Tag
- Defined in:
- lib/catche/tag.rb,
lib/catche/tag/object.rb,
lib/catche/tag/resource.rb
Defined Under Namespace
Classes: Object, Resource
Constant Summary
collapse
- KEY =
'catche'
- DIVIDER =
'_'
Instance Method Summary
collapse
Instance Method Details
#expire!(*tags) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/catche/tag.rb', line 28
def expire!(*tags)
expired_keys = []
tags.each do |tag|
keys = fetch_tag(tag)
expired_keys += keys
keys.each do |key|
Catche.adapter.delete key
Catche.adapter.write(
stored_key(:keys, key),
fetch_key(key).delete(stored_key(:tags, tag))
)
end
Catche.adapter.delete stored_key(:tags, tag)
end
expired_keys
end
|
#join(*tags) ⇒ Object
12
13
14
|
# File 'lib/catche/tag.rb', line 12
def join(*tags)
tags.flatten.compact.uniq.join(DIVIDER)
end
|
#tag!(key, *tags) ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/catche/tag.rb', line 16
def tag!(key, *tags)
tags.each do |tag|
keys = fetch_tag(tag)
key_tags = fetch_key(key)
tag_key = stored_key(:tags, tag)
key_key = stored_key(:keys, key)
Catche.adapter.write(tag_key, keys << key)
Catche.adapter.write(key_key, key_tags << tag_key)
end
end
|