class Fontist::Cache::Store
Backend store using Marshal for serialization
Public Class Methods
Source
# File lib/fontist/cache/store.rb, line 8 def initialize(cache_dir) @cache_dir = cache_dir.to_s ensure_cache_dir end
Public Instance Methods
Source
# File lib/fontist/cache/store.rb, line 45 def cleanup_temp_files # Clean up orphaned .tmp files from interrupted writes # This can happen if the process crashes between File.write and File.rename Dir.glob(File.join(@cache_dir, "*.tmp")).each do |tmp| File.delete(tmp) rescue StandardError nil end end
Source
# File lib/fontist/cache/store.rb, line 37 def clear Dir.glob(File.join(@cache_dir, "*.marshal")).each do |f| File.delete(f) rescue StandardError nil end end
Source
# File lib/fontist/cache/store.rb, line 31 def delete(key) File.delete(cache_path(key)) rescue StandardError nil end
Source
# File lib/fontist/cache/store.rb, line 13 def get(key) entry = read_entry(key) return nil unless entry if entry.expired? delete(key) return nil end entry.value end
Source
# File lib/fontist/cache/store.rb, line 25 def set(key, value, ttl: nil) ensure_cache_dir entry = CacheEntry.new(value, ttl) write_entry(key, entry) end