Initial commit
This commit is contained in:
23
app/models/concerns/model_caching.rb
Normal file
23
app/models/concerns/model_caching.rb
Normal file
@@ -0,0 +1,23 @@
|
||||
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
|
||||
Reference in New Issue
Block a user