Sha256: ed7a69d54e003095b5d729c5db0a15132dd0ee76e0e7434c0592fa0852bdc151
Contents?: true
Size: 686 Bytes
Versions: 3
Compression:
Stored size: 686 Bytes
Contents
module Coltrane class Cache class << self def find_or_record(key, &block) if (cached = fetch(key)) return cached else cached = yield block record(key, cached) cached end end private def dir dir = File.expand_path('../../../', __FILE__) + "/cache/" Dir.mkdir(dir) unless Dir.exist?(dir) dir end def fetch(key) return unless File.file?(dir+key) Marshal.load File.read(dir+key) end def record(key, contents) File.open(dir+key, "w") do |f| f.write Marshal.dump(contents) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
coltrane-1.0.11 | lib/coltrane/cache.rb |
coltrane-1.0.1 | lib/coltrane/cache.rb |
coltrane-1.0.0 | lib/coltrane/cache.rb |