module Samsara::Model
Public Class Methods
is_audited()
click to toggle source
# File lib/samsara/model.rb, line 9 def self.is_audited @is_audited = true has_many :auditing_revisions, class_name: Samsara.revision_class_name, as: :subject after_create :audit_create after_update :audit_update, if: :changed? after_destroy :audit_destroy end
is_audited?()
click to toggle source
# File lib/samsara/model.rb, line 5 def self.is_audited? @is_audited || false end
Public Instance Methods
audit_create()
click to toggle source
# File lib/samsara/model.rb, line 20 def audit_create create_audit :create end
audit_destroy()
click to toggle source
# File lib/samsara/model.rb, line 28 def audit_destroy create_audit :destroy end
audit_update()
click to toggle source
# File lib/samsara/model.rb, line 24 def audit_update create_audit :update end
create_audit(action)
click to toggle source
# File lib/samsara/model.rb, line 32 def create_audit(action) return unless Samsara.active? Samsara.revision_class.new do |a| a.action = action a.subject = self a.context = Samsara.current_context a.modified_attributes = self.attributes a.original_attributes = self.changed_attributes end.save end