module LogicalModel::Cache::InstanceMethods

Attributes

loaded_at[RW]

Public Instance Methods

_destroy(params={}) click to toggle source
Calls superclass method
# File lib/logical_model/cache.rb, line 39
def _destroy(params={})
  super
end
_destroy_with_cache(params={}) click to toggle source
# File lib/logical_model/cache.rb, line 43
def _destroy_with_cache(params={})
  delete_cached
  _destroy_without_cache
end
_save() click to toggle source
Calls superclass method
# File lib/logical_model/cache.rb, line 19
def _save
  super
end
_save_with_cache() click to toggle source
# File lib/logical_model/cache.rb, line 23
def _save_with_cache
  delete_cached
  _save_without_cache
end
_update(params={}) click to toggle source
Calls superclass method
# File lib/logical_model/cache.rb, line 29
def _update(params={})
  super
end
_update_with_cache(params={}) click to toggle source
# File lib/logical_model/cache.rb, line 33
def _update_with_cache(params={})
  delete_cached
  _update_without_cache params
end
delete_cached() click to toggle source
# File lib/logical_model/cache.rb, line 49
def delete_cached
  model_name = self.class.to_s.pluralize.underscore
  self.class.logger.debug "LogicalModel Log CACHE: Delete cache for #{model_name}\/#{self.id}-.*"
  # Delete cached models
  self.class.cache_store.delete_matched(/#{model_name}\/#{self.id}-.*/)
  
  if self.class.respond_to?(:belongs_to_keys) && !self.class.belongs_to_keys.blank?
    # If it belongs to another model (or models)
    self.class.belongs_to_keys.each do |association_name, association_class|
      model_name = association_class.to_s.pluralize.underscore
      self.class.logger.debug "LogicalModel Log CACHE: Delete cache for #{model_name}\/#{self.send("#{association_name}_id")}-.*"
      # Delete cached models
      self.class.cache_store.delete_matched(/#{model_name}\/#{self.send("#{association_name}_id")}-.*/)
    end
  end
end
initialize_loaded_at() click to toggle source
# File lib/logical_model/cache.rb, line 15
def initialize_loaded_at
  self.loaded_at = Time.now
end