Module: Hashdown
- Defined in:
- lib/hashdown/cache.rb,
lib/hashdown/finder.rb,
lib/hashdown/version.rb,
lib/hashdown/select_options.rb
Defined Under Namespace
Modules: Finder, SelectOptions
Classes: Config
Constant Summary
collapse
- VERSION =
"0.2.3"
Class Method Summary
collapse
Class Method Details
.cache ⇒ Object
2
3
4
|
# File 'lib/hashdown/cache.rb', line 2
def self.cache
@cache ||= rails.cache || local_cache
end
|
.cache=(value) ⇒ Object
6
7
8
|
# File 'lib/hashdown/cache.rb', line 6
def self.cache=(value)
@cache = value
end
|
.cache_key(source, class_name, token = nil) ⇒ Object
14
15
16
|
# File 'lib/hashdown/cache.rb', line 14
def self.cache_key(source, class_name, token=nil)
['hashdown', rails.env, class_name, source, token].compact.join('-')
end
|
.cached(cache_key) ⇒ Object
22
23
24
25
26
|
# File 'lib/hashdown/cache.rb', line 22
def self.cached(cache_key)
cache.fetch(cache_key, :force => force_cache_miss?) do
yield
end
end
|
.force_cache_miss? ⇒ Boolean
10
11
12
|
# File 'lib/hashdown/cache.rb', line 10
def self.force_cache_miss?
rails.env.test?
end
|
.uncache(source, class_name, token) ⇒ Object
18
19
20
|
# File 'lib/hashdown/cache.rb', line 18
def self.uncache(source, class_name, token)
cache.delete(cache_key(source, class_name, token))
end
|