module ActiveRecordLogger::ClassMethods

Public Instance Methods

log_changes(options = {}) click to toggle source
# File lib/rlog_items/active_record_logger.rb, line 47
def log_changes options = {}
  @recoverable = options[:recoverable].nil? ? true : options[:recoverable]
  include ActiveRecordLogger::InstanceMethods
  before_save :prepare_rlog_item
  after_save :save_rlog_item

  has_many :rlog_items, :as => :record
  attr_accessor :log

  ActiveRecordLogger.target_models.push self.name unless ActiveRecordLogger.target_models.include? self.name

  fields = self.attribute_names.map(&:to_sym)
  fields -= options[:expect].map(&:to_sym) if options[:expect]
  fields &= options[:only].map(&:to_sym) if options[:only]

  @rlog_fields = fields.map(&:to_sym)
end