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