Allow custom cache expiry

This commit is contained in:
2024-02-11 14:40:11 +11:00
parent 081de8b98e
commit d83dac92a5
3 changed files with 8 additions and 6 deletions

View File

@@ -3,18 +3,20 @@ require "json"
module Adamantium
module ViewCache
class Cacher
def call(key:, content:, expiry:)
def call(key:, content_proc:, expiry:)
cached_content = read(key: key)
return cached_content if cached_content
data = JSON.generate(expire: expiry.to_i, content: content)
rendered_content = content_proc.()
data = JSON.generate(expire: expiry.to_i, content: rendered_content)
path = "#{key}.json"
File.write(File.join(Hanami.app.root, "tmp", path), data)
content
rendered_content
end
private