class Shoestring::Cache

Attributes

block[R]
key[R]

Public Class Methods

new(key, &block) click to toggle source
# File lib/shoestring/cache.rb, line 5
def initialize(key, &block)
  @key = key
  @block = block
end

Public Instance Methods

check() click to toggle source
# File lib/shoestring/cache.rb, line 10
def check
  version = block.call(old_version)
  write_version(version)
end

Private Instance Methods

cache_directory() click to toggle source
# File lib/shoestring/cache.rb, line 25
def cache_directory
  'tmp'
end
cache_file() click to toggle source
# File lib/shoestring/cache.rb, line 21
def cache_file
  "#{cache_directory}/.#{key}"
end
old_version() click to toggle source
# File lib/shoestring/cache.rb, line 29
def old_version
  File.exists?(cache_file) ? File.read(cache_file) : nil
end
write_version(version) click to toggle source
# File lib/shoestring/cache.rb, line 16
def write_version(version)
  FileUtils.mkdir_p(cache_directory)
  File.open(cache_file, 'w') { |f| f.puts(version || 'cached') }
end