class Sprockets::Cache::FileStore
A simple file system cache store.
environment.cache = Sprockets::Cache::FileStore.new("/tmp")
Public Class Methods
new(root)
click to toggle source
# File lib/sprockets/cache/file_store.rb, line 12 def initialize(root) @root = Pathname.new(root) end
Public Instance Methods
[](key)
click to toggle source
Lookup value in cache
# File lib/sprockets/cache/file_store.rb, line 17 def [](key) pathname = @root.join(key) pathname.exist? ? pathname.open('rb') { |f| Marshal.load(f) } : nil end
[]=(key, value)
click to toggle source
Save value to cache
# File lib/sprockets/cache/file_store.rb, line 23 def []=(key, value) # Ensure directory exists FileUtils.mkdir_p @root.join(key).dirname @root.join(key).open('w') { |f| Marshal.dump(value, f)} value end