class Sprockets::Cache::MemcacheStore

A simple Memcache cache store.

environment.cache = Sprockets::Cache::MemcacheStore.new

Public Class Methods

new(key_prefix = 'sprockets') click to toggle source
# File lib/sprockets/cache/memcache_store.rb, line 10
def initialize(key_prefix = 'sprockets')
  @memcache   = Dalli::Client.new
  @key_prefix = key_prefix
end

Public Instance Methods

[](key) click to toggle source

Lookup value in cache

# File lib/sprockets/cache/memcache_store.rb, line 16
def [](key)
  data = @memcache.get path_for(key)
  Marshal.load data if data
rescue ::Dalli::DalliError, Errno::ECONNREFUSED
end
[]=(key, value) click to toggle source

Save value to cache

# File lib/sprockets/cache/memcache_store.rb, line 23
def []=(key, value)
  @memcache.set path_for(key), Marshal.dump(value)
  value
rescue ::Dalli::DalliError, Errno::ECONNREFUSED
end

Private Instance Methods

path_for(key) click to toggle source
# File lib/sprockets/cache/memcache_store.rb, line 31
def path_for(key)
  "#{@key_prefix}:#{key}"
end