Class: Tr8n::Cache

Inherits:
Object
  • Object
show all
Defined in:
lib/tr8n/cache.rb

Instance Method Summary collapse

Instance Method Details

#cache_nameObject



92
93
94
# File 'lib/tr8n/cache.rb', line 92

def cache_name
  self.class.name.split('::').last
end

#cached_by_source?Boolean

Returns:

  • (Boolean)


84
85
86
# File 'lib/tr8n/cache.rb', line 84

def cached_by_source?
  true
end

#clear(opts = {}) ⇒ Object



126
127
128
# File 'lib/tr8n/cache.rb', line 126

def clear(opts = {})
  # do nothing
end

#delete(key, opts = {}) ⇒ Object



118
119
120
# File 'lib/tr8n/cache.rb', line 118

def delete(key, opts = {})
  # do nothing
end

#enabled?Boolean

Returns:

  • (Boolean)


80
81
82
# File 'lib/tr8n/cache.rb', line 80

def enabled?
  Tr8n.config.cache[:enabled]
end

#exist?(key, opts = {}) ⇒ Boolean

Returns:

  • (Boolean)


122
123
124
# File 'lib/tr8n/cache.rb', line 122

def exist?(key, opts = {})
  false
end

#fetch(key, opts = {}) ⇒ Object



109
110
111
112
# File 'lib/tr8n/cache.rb', line 109

def fetch(key, opts = {})
  return nil unless block_given?
  yield
end

#info(msg) ⇒ Object



96
97
98
# File 'lib/tr8n/cache.rb', line 96

def info(msg)
  Tr8n.logger.info("#{cache_name} - #{msg}")
end

#read_only?Boolean

Returns:

  • (Boolean)


88
89
90
# File 'lib/tr8n/cache.rb', line 88

def read_only?
  true
end

#reset_versionObject



76
77
78
# File 'lib/tr8n/cache.rb', line 76

def reset_version
  @version = nil
end

#store(key, data, opts = {}) ⇒ Object



114
115
116
# File 'lib/tr8n/cache.rb', line 114

def store(key, data, opts = {})
  # do nothing
end

#update_version(new_version) ⇒ Object



67
68
69
# File 'lib/tr8n/cache.rb', line 67

def update_version(new_version)
  store(CACHE_VERSION_KEY, {'version' => new_version}, :ttl => 0)
end

#upgrade_versionObject



71
72
73
74
# File 'lib/tr8n/cache.rb', line 71

def upgrade_version
  update_version(version + 1)
  @version = nil
end

#versionObject



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/tr8n/cache.rb', line 51

def version
  @version ||= begin
    v = fetch(CACHE_VERSION_KEY) do
      {'version' => Tr8n.config.cache[:version]}
    end
    v['version']
  end

  if Tr8n.config.cache[:version] > @version
    update_version(Tr8n.config.cache[:version])
    @version = Tr8n.config.cache[:version]
  end

  @version
end

#versioned_key(key, opts = {}) ⇒ Object



104
105
106
107
# File 'lib/tr8n/cache.rb', line 104

def versioned_key(key, opts = {})
  return key if CACHE_VERSION_KEY == key
  "tr8n_rc_v#{version}_#{key}"
end

#warn(msg) ⇒ Object



100
101
102
# File 'lib/tr8n/cache.rb', line 100

def warn(msg)
  Tr8n.logger.warn("#{cache_name} - #{msg}")
end