class Cachers::Base

Attributes

record[R]

Public Class Methods

new(record) click to toggle source
# File lib/cachers/base.rb, line 10
def initialize(record)
  @record = record
end

Public Instance Methods

cache() click to toggle source
# File lib/cachers/base.rb, line 14
def cache
  # Sublcass must implement this
end
recache() click to toggle source
# File lib/cachers/base.rb, line 22
def recache
  if record.previous_changes.any?
    previous_record = record.dup
    record.previous_changes.each do |attribute, values|
      previous_record.send "#{attribute}=", values.first
    end
    previous_record.id = record.id
    self.class.new(previous_record).uncache
  else
    uncache
  end
  cache
end
uncache() click to toggle source
# File lib/cachers/base.rb, line 18
def uncache
  # Subclass must implement this
end