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.


481
482
483
# File 'lib/audited/auditor.rb', line 481

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



427
428
429
# File 'lib/audited/auditor.rb', line 427

def audited_columns
  @audited_columns ||= column_names - non_audited_columns
end

#auditing_enabledObject



485
486
487
# File 'lib/audited/auditor.rb', line 485

def auditing_enabled
  class_auditing_enabled && Audited.auditing_enabled
end

#auditing_enabled=(val) ⇒ Object



489
490
491
# File 'lib/audited/auditor.rb', line 489

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

#default_ignored_attributesObject



493
494
495
# File 'lib/audited/auditor.rb', line 493

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

#disable_auditingObject



469
470
471
# File 'lib/audited/auditor.rb', line 469

def disable_auditing
  self.auditing_enabled = false
end

#enable_auditingObject



473
474
475
# File 'lib/audited/auditor.rb', line 473

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



432
433
434
# File 'lib/audited/auditor.rb', line 432

def non_audited_columns
  @non_audited_columns ||= calculate_non_audited_columns
end

#non_audited_columns=(columns) ⇒ Object



436
437
438
439
# File 'lib/audited/auditor.rb', line 436

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


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

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


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

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