module ActiveAudit::Logger
Attributes
audit_extras[RW]
audit_user_id[RW]
Public Class Methods
loggable_event(event)
click to toggle source
# File lib/active_audit/logger.rb, line 25 def self.loggable_event(event) self.loggable_events.merge! event end
Public Instance Methods
log_activity_on_create()
click to toggle source
# File lib/active_audit/logger.rb, line 34 def log_activity_on_create self.class.loggable_events.each do |k,v| next unless k.eql?(:create) if v.eql?(true) log_event k.to_s elsif v.is_a?(Array) v.each do |field| if field.is_a?(Hash) and self.send(field.keys.first).eql?(field.values.first) log_event(k.to_s) and break elsif field.is_a?(Symbol) and self.send(field.to_s) log_event(k.to_s) and break end end end end end
log_activity_on_destroy()
click to toggle source
# File lib/active_audit/logger.rb, line 68 def log_activity_on_destroy self.class.loggable_events.each do |k,v| next unless k.eql?(:destroy) log_event k.to_s end end
log_activity_on_update()
click to toggle source
# File lib/active_audit/logger.rb, line 51 def log_activity_on_update self.class.loggable_events.each do |k,v| next if [:create,:destroy].include?(k) if k.eql?(:update) and v.eql?(true) log_event k.to_s elsif v.is_a?(Array) v.each do |field| if field.is_a?(Hash) and self.send("#{field.keys.first}_changed?") and self.send(field.keys.first).eql?(field.values.first) log_event(k.to_s) and break elsif field.is_a?(Symbol) and self.send("#{field}_changed?") log_event(k.to_s) and break end end end end end
Private Instance Methods
log_event(activity)
click to toggle source
# File lib/active_audit/logger.rb, line 29 def log_event(activity) ActiveAudit::Audit.create obj_id: id, obj_type: self.class.to_s, user_id: audit_user_id, activity: activity, extras: audit_extras end