Class: GitQuickBooks::Cache

Inherits:
Object
  • Object
show all
Defined in:
lib/gitquickbooks/cache.rb

Overview

Setup Marshalling cache

Instance Method Summary collapse

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

Returns:

  • (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