class GitQuickBooks::Cache

Setup Marshalling cache

Public Instance Methods

delete(name) click to toggle source
# File lib/gitquickbooks/cache.rb, line 20
def delete(name)
  File.delete("tmp/#{name}")
end
fetch(name, &block) click to toggle source
# File lib/gitquickbooks/cache.rb, line 24
def fetch(name, &block)
  if !present?(name)
    @data = block.call
    write(name, @data)
    @data
  else
    puts "#{name} extracted from cache".red
    @data = GitQuickBooks::Cache.new.load(name)
  end
end
load(name) click to toggle source

attr_accesor :base_path

# File lib/gitquickbooks/cache.rb, line 6
def load(name)
  Marshal.load(IO.read("tmp/#{name}"))
end
present?(name) click to toggle source
# File lib/gitquickbooks/cache.rb, line 10
def present?(name)
  File.file?("tmp/#{name}")
end
write(name, data) click to toggle source
# File lib/gitquickbooks/cache.rb, line 14
def write(name, data)
  File.open("tmp/#{name}", 'w+') do |f|
    f.write(Marshal.dump(data))
  end
end