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