module Audited::Auditor::AuditedClassMethods
Public Instance Methods
audit_as(user, &block)
click to toggle source
All audit operations during the block are recorded as being made by user
. This is not model specific, the method is a convenience wrapper around @see Audit#as_user.
# File lib/audited/auditor.rb, line 407 def audit_as(user, &block) Audited.audit_class.as_user(user, &block) end
audited_columns()
click to toggle source
Returns an array of columns that are audited. See non_audited_columns
# File lib/audited/auditor.rb, line 353 def audited_columns @audited_columns ||= column_names - non_audited_columns end
auditing_enabled()
click to toggle source
# File lib/audited/auditor.rb, line 411 def auditing_enabled Audited.store.fetch("#{table_name}_auditing_enabled", true) && Audited.auditing_enabled end
auditing_enabled=(val)
click to toggle source
# File lib/audited/auditor.rb, line 415 def auditing_enabled=(val) Audited.store["#{table_name}_auditing_enabled"] = val end
default_ignored_attributes()
click to toggle source
# File lib/audited/auditor.rb, line 419 def default_ignored_attributes [primary_key, inheritance_column] | Audited.ignored_attributes end
disable_auditing()
click to toggle source
# File lib/audited/auditor.rb, line 395 def disable_auditing self.auditing_enabled = false end
enable_auditing()
click to toggle source
# File lib/audited/auditor.rb, line 399 def enable_auditing self.auditing_enabled = true end
non_audited_columns()
click to toggle source
We have to calculate this here since column_names may not be available when `audited` is called
# File lib/audited/auditor.rb, line 358 def non_audited_columns @non_audited_columns ||= calculate_non_audited_columns end
non_audited_columns=(columns)
click to toggle source
# File lib/audited/auditor.rb, line 362 def non_audited_columns=(columns) @audited_columns = nil # reset cached audited columns on assignment @non_audited_columns = columns.map(&:to_s) end
with_auditing() { || ... }
click to toggle source
Executes the block with auditing enabled.
Foo.with_auditing do @foo.save end
# File lib/audited/auditor.rb, line 387 def with_auditing auditing_was_enabled = auditing_enabled enable_auditing yield ensure disable_auditing unless auditing_was_enabled end
without_auditing() { || ... }
click to toggle source
Executes the block with auditing disabled.
Foo.without_auditing do @foo.save end
# File lib/audited/auditor.rb, line 373 def without_auditing auditing_was_enabled = auditing_enabled disable_auditing yield ensure enable_auditing if auditing_was_enabled end
Protected Instance Methods
calculate_non_audited_columns()
click to toggle source
# File lib/audited/auditor.rb, line 434 def calculate_non_audited_columns if audited_options[:only].present? (column_names | default_ignored_attributes) - audited_options[:only] elsif audited_options[:except].present? default_ignored_attributes | audited_options[:except] else default_ignored_attributes end end
normalize_audited_options()
click to toggle source
# File lib/audited/auditor.rb, line 425 def normalize_audited_options audited_options[:on] = Array.wrap(audited_options[:on]) audited_options[:on] = [:create, :update, :destroy] if audited_options[:on].empty? audited_options[:only] = Array.wrap(audited_options[:only]).map(&:to_s) audited_options[:except] = Array.wrap(audited_options[:except]).map(&:to_s) max_audits = audited_options[:max_audits] || Audited.max_audits audited_options[:max_audits] = Integer(max_audits).abs if max_audits end