module ActiveRecordLogger::InstanceMethods

Private Instance Methods

prepare_rlog_item() click to toggle source
# File lib/rlog_items/active_record_logger.rb, line 22
def prepare_rlog_item
  self.log = RlogItems::RlogItem.new
  self.log.user = ActiveRecord::Base.current_user
  self.log.ip = ActiveRecord::Base.current_request ? ActiveRecord::Base.current_request.remote_ip : "rails console"
  self.log.record = self
  self.log.name = self.to_s
  @changes = ActiveSupport::HashWithIndifferentAccess.new
  self.changes.each do |k, v|
    @changes[k] = [v.first] if self.class.rlog_fields.include?(k.to_sym) and v[0] != v[1]
  end
end
save_rlog_item() click to toggle source
# File lib/rlog_items/active_record_logger.rb, line 34
def save_rlog_item
  if @changes.present? #|| self.log.hack
    @changes.each do |k, v|
      @changes[k].push self.send(k)
    end
    self.log.record_changes = @changes
    self.log.save
  end
end