class GemOnDemand::FileCache
Public Class Methods
new(dir)
click to toggle source
# File lib/gem_on_demand/file_cache.rb, line 3 def initialize(dir) @dir = dir end
Public Instance Methods
delete(file)
click to toggle source
# File lib/gem_on_demand/file_cache.rb, line 19 def delete(file) file = "#{@dir}/#{file}" File.unlink(file) if File.exist?(file) end
fetch(file) { || ... }
click to toggle source
# File lib/gem_on_demand/file_cache.rb, line 24 def fetch(file, &block) read(file) || write(file, yield) end
read(file)
click to toggle source
# File lib/gem_on_demand/file_cache.rb, line 14 def read(file) file = "#{@dir}/#{file}" Marshal.load(File.read(file)) if File.exist?(file) end
write(file, value)
click to toggle source
# File lib/gem_on_demand/file_cache.rb, line 7 def write(file, value) Utils.ensure_directory(@dir) file = "#{@dir}/#{file}" File.write(file, Marshal.dump(value)) value end