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