Module: ArtirixDataModels::CacheService
- Defined in:
- lib/artirix_data_models/cache_service.rb
Defined Under Namespace
Modules: CacheStoreHelper, Expirer, KeyCleaner, OptionsStore
Class Method Summary
collapse
Class Method Details
.digest_element(element) ⇒ Object
3
4
5
|
# File 'lib/artirix_data_models/cache_service.rb', line 3
def self.digest_element(element)
Digest::SHA1.hexdigest element.to_s
end
|
.expire_cache(*args, &block) ⇒ Object
21
22
23
|
# File 'lib/artirix_data_models/cache_service.rb', line 21
def self.expire_cache(*args, &block)
Expirer.expire_cache *args, &block
end
|
.first_options(*options, return_if_none: :default) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/artirix_data_models/cache_service.rb', line 7
def self.first_options(*options, return_if_none: :default)
key = options.detect { |x| OptionsStore.has? x }
return OptionsStore.get(key) if key.present?
case return_if_none
when NilClass
nil
when :default
OptionsStore.default.dup
else
{}
end
end
|
.method_missing(m, *args, &block) ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/artirix_data_models/cache_service.rb', line 25
def self.method_missing(m, *args, &block)
method = m.to_s
if KeyCleaner.valid_method method
KeyCleaner.final_key(m, *args)
elsif OptionsStore.valid_method method
OptionsStore.send m, *args, &block
elsif Expirer.valid_method method
Expirer.send m, *args, &block
else
super
end
end
|
.respond_to_missing?(m, include_all = false) ⇒ Boolean
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/artirix_data_models/cache_service.rb', line 42
def self.respond_to_missing?(m, include_all = false)
method = m.to_s
if KeyCleaner.valid_method method
true
elsif OptionsStore.valid_method method
OptionsStore.respond_to? m, include_all
elsif Expirer.valid_method method
Expirer.respond_to? m, include_all
else
super
end
end
|