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

.cacheObject



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