Module: Legion::Cache::Settings

Defined in:
lib/legion/cache/settings.rb

Class Method Summary collapse

Class Method Details

.defaultObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/legion/cache/settings.rb', line 11

def self.default
  {
    driver: driver,
    servers: ['127.0.0.1:11211'],
    connected: false,
    enabled: true,
    namespace: 'legion',
    compress: false,
    failover: true,
    threadsafe: true,
    expires_in: 0,
    cache_nils: false,
    pool_size: 10,
    timeout: 5,
    serializer: Legion::JSON
  }
end

.driver(prefer = 'dalli') ⇒ Object



29
30
31
32
33
34
35
36
37
38
# File 'lib/legion/cache/settings.rb', line 29

def self.driver(prefer = 'dalli')
  secondary = prefer == 'dalli' ? 'redis' : 'dalli'
  if Gem::Specification.find_all_by_name(prefer).count.positive?
    prefer
  elsif Gem::Specification.find_all_by_name(secondary).count.positive?
    secondary
  else
    raise NameError('Legion::Cache.driver is nil')
  end
end