Module: Audited::Auditor::AuditedClassMethods

Defined in:
lib/audited/auditor.rb

Instance Method Summary collapse

Instance Method Details

#audit_as(user, &block) ⇒ Object

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 Also:

  • Audit#as_user.


479
480
481
# File 'lib/audited/auditor.rb', line 479

def audit_as(user, &block)
  Audited.audit_class.as_user(user, &block)
end

#audited_columnsObject

Returns an array of columns that are audited. See non_audited_columns



425
426
427
# File 'lib/audited/auditor.rb', line 425

def audited_columns
  @audited_columns ||= column_names - non_audited_columns
end

#auditing_enabledObject



483
484
485
# File 'lib/audited/auditor.rb', line 483

def auditing_enabled
  class_auditing_enabled && Audited.auditing_enabled
end

#auditing_enabled=(val) ⇒ Object



487
488
489
# File 'lib/audited/auditor.rb', line 487

def auditing_enabled=(val)
  Audited.store["#{table_name}_auditing_enabled"] = val
end

#default_ignored_attributesObject



491
492
493
# File 'lib/audited/auditor.rb', line 491

def default_ignored_attributes
  [primary_key, inheritance_column] | Audited.ignored_attributes
end

#disable_auditingObject



467
468
469
# File 'lib/audited/auditor.rb', line 467

def disable_auditing
  self.auditing_enabled = false
end

#enable_auditingObject



471
472
473
# File 'lib/audited/auditor.rb', line 471

def enable_auditing
  self.auditing_enabled = true
end

#non_audited_columnsObject

We have to calculate this here since column_names may not be available when ‘audited` is called



430
431
432
# File 'lib/audited/auditor.rb', line 430

def non_audited_columns
  @non_audited_columns ||= calculate_non_audited_columns
end

#non_audited_columns=(columns) ⇒ Object



434
435
436
437
# File 'lib/audited/auditor.rb', line 434

def non_audited_columns=(columns)
  @audited_columns = nil # reset cached audited columns on assignment
  @non_audited_columns = columns.map(&:to_s)
end

#with_auditingObject

Executes the block with auditing enabled.

Foo.with_auditing do
  @foo.save
end


459
460
461
462
463
464
465
# File 'lib/audited/auditor.rb', line 459

def with_auditing
  auditing_was_enabled = class_auditing_enabled
  enable_auditing
  yield
ensure
  disable_auditing unless auditing_was_enabled
end

#without_auditingObject

Executes the block with auditing disabled.

Foo.without_auditing do
  @foo.save
end


445
446
447
448
449
450
451
# File 'lib/audited/auditor.rb', line 445

def without_auditing
  auditing_was_enabled = class_auditing_enabled
  disable_auditing
  yield
ensure
  enable_auditing if auditing_was_enabled
end