module Audited::Audit::ClassMethods
Public Instance Methods
as_user(user) { || ... }
click to toggle source
All audits made during the block called will be recorded as made by
user
. This method is hopefully threadsafe, making it ideal for
background operations that require audit information.
# File lib/audited/audit.rb, line 28 def as_user(user, &block) Thread.current[:audited_user] = user yield ensure Thread.current[:audited_user] = nil end
assign_revision_attributes(record, attributes)
click to toggle source
@private
# File lib/audited/audit.rb, line 46 def assign_revision_attributes(record, attributes) attributes.each do |attr, val| record = record.dup if record.frozen? if record.respond_to?("#{attr}=") record.attributes.has_key?(attr.to_s) ? record[attr] = val : record.send("#{attr}=", val) end end record end
audited_classes()
click to toggle source
Returns the list of classes that are being audited
# File lib/audited/audit.rb, line 21 def audited_classes audited_class_names.map(&:constantize) end
reconstruct_attributes(audits) { |attributes| ... }
click to toggle source
@private
# File lib/audited/audit.rb, line 36 def reconstruct_attributes(audits) attributes = {} result = audits.collect do |audit| attributes.merge!(audit.new_attributes).merge!(:version => audit.version) yield attributes if block_given? end block_given? ? result : attributes end
setup_audit()
click to toggle source
# File lib/audited/audit.rb, line 9 def setup_audit belongs_to :auditable, :polymorphic => true belongs_to :user, :polymorphic => true belongs_to :associated, :polymorphic => true before_create :set_version_number, :set_audit_user, :set_request_uuid cattr_accessor :audited_class_names self.audited_class_names = Set.new end