Files
Dena/app/models/concerns/model_caching.rb
2026-08-13 19:50:53 +03:30

24 lines
533 B
Ruby

module ModelCaching
extend ActiveSupport::Concern
def write_cache(action, value, expiration_time)
Rails.cache.write(cache_key_generator(action), value, expires_in: expiration_time.seconds)
end
def read_cache(action)
Rails.cache.read(cache_key_generator(action))
end
def delete_cache(action)
Rails.cache.delete(cache_key_generator(action))
end
private
def cache_key_generator(action)
class_name = self.class.name.to_s
object_id = id.to_s
"#{class_name}_#{object_id}_#{action}"
end
end