Module: VelocityAudited::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.


441
442
443
# File 'lib/audited/auditor.rb', line 441

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

#audited_columnsObject

Returns an array of columns that are audited. See non_audited_columns



387
388
389
# File 'lib/audited/auditor.rb', line 387

def audited_columns
  @audited_columns ||= column_names - non_audited_columns
end

#auditing_enabledObject



445
446
447
# File 'lib/audited/auditor.rb', line 445

def auditing_enabled
  VelocityAudited.store.fetch("#{table_name}_auditing_enabled", true) && VelocityAudited.auditing_enabled
end

#auditing_enabled=(val) ⇒ Object



449
450
451
# File 'lib/audited/auditor.rb', line 449

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

#default_ignored_attributesObject



453
454
455
# File 'lib/audited/auditor.rb', line 453

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

#disable_auditingObject



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

def disable_auditing
  self.auditing_enabled = false
end

#enable_auditingObject



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

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



392
393
394
# File 'lib/audited/auditor.rb', line 392

def non_audited_columns
  @non_audited_columns ||= calculate_non_audited_columns
end

#non_audited_columns=(columns) ⇒ Object



396
397
398
399
# File 'lib/audited/auditor.rb', line 396

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


421
422
423
424
425
426
427
# File 'lib/audited/auditor.rb', line 421

def with_auditing
  auditing_was_enabled = 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


407
408
409
410
411
412
413
# File 'lib/audited/auditor.rb', line 407

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