module ModelsAuditor::Audit::ClassMethods

Public Instance Methods

disable_audit() click to toggle source

Дезактивирует аудит изменений данных модели

# File lib/models_auditor/audit.rb, line 214
def disable_audit
  @audit_enabled = false
end
enable_audit(audit_mode, options = {}) click to toggle source

Активирует аудит изменений данных модели @param [Integer] audit_mode Способ логирования

возможные значения: AUDIT_MODE_JSON | AUDIT_MODE_SERIALIZER | AUDIT_MODE_METHOD | AUDIT_MODE_CHANGES_ONLY
AUDIT_MODE_JSON         - Сериализация путем вызова метода as_json
AUDIT_MODE_SERIALIZER   - Сериализация через использование сериалайзера, указанного в опции :serializer
AUDIT_MODE_METHOD       - Сериализация данных формируемых в методе, указанном в опции :method
AUDIT_MODE_CHANGES_ONLY - Сериализация данных модели, которые были изменены

@param [Hash] options Настройки логирования @option options [params] Параметры сериализации данных.

Для AUDIT_MODE_JSON         значение передается в метод #as_json
  @example enable_audit ModelsAuditor::Audit::AUDIT_MODE_JSON, only: [:title, :subtitle, :published_at]
Для AUDIT_MODE_SERIALIZER   значение передается в сериалайзер в качестве опций
  @example enable_audit ModelsAuditor::Audit::AUDIT_MODE_SERIALIZER, serializer: AuditPostSerializer
Для AUDIT_MODE_METHOD       значение игнорируется
  @example enable_audit ModelsAuditor::Audit::AUDIT_MODE_SERIALIZER, method: :logged_data
Для AUDIT_MODE_CHANGES_ONLY значение игнорируется
  @example enable_audit ModelsAuditor::Audit::AUDIT_MODE_CHANGES_ONLY
# File lib/models_auditor/audit.rb, line 202
def enable_audit(audit_mode, options = {})
  @audit_enabled  = true
  @audit_mode     = audit_mode
  @audit_settings = options
  # Lazily include the instance methods so we don't clutter up
  # any more ActiveRecord models than we have to.
  send :include, InstanceMethods
  after_initialize :do_audit_init_snapshot
  after_commit :do_audit_process
end