Class: GitQuickBooks::Cache
- Inherits:
-
Object
- Object
- GitQuickBooks::Cache
- Defined in:
- lib/gitquickbooks/cache.rb
Overview
Setup Marshalling cache
Instance Method Summary collapse
- #delete(name) ⇒ Object
- #fetch(name, &block) ⇒ Object
-
#load(name) ⇒ Object
attr_accesor :base_path.
- #present?(name) ⇒ Boolean
- #write(name, data) ⇒ Object
Instance Method Details
#delete(name) ⇒ Object
20 21 22 |
# File 'lib/gitquickbooks/cache.rb', line 20 def delete(name) File.delete("tmp/#{name}") end |
#fetch(name, &block) ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# 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) ⇒ Object
attr_accesor :base_path
6 7 8 |
# File 'lib/gitquickbooks/cache.rb', line 6 def load(name) Marshal.load(IO.read("tmp/#{name}")) end |
#present?(name) ⇒ Boolean
10 11 12 |
# File 'lib/gitquickbooks/cache.rb', line 10 def present?(name) File.file?("tmp/#{name}") end |
#write(name, data) ⇒ Object
14 15 16 17 18 |
# 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 |