Module: ModelsAuditor::Audit::ClassMethods

Defined in:
lib/models_auditor/audit.rb

Instance Method Summary collapse

Instance Method Details

#disable_auditObject

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



227
228
229
# File 'lib/models_auditor/audit.rb', line 227

def disable_audit
  @audit_enabled = false
end

#enable_audit(audit_mode, options = {}) ⇒ Object

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

Options Hash (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
    


215
216
217
218
219
220
221
222
223
224
# File 'lib/models_auditor/audit.rb', line 215

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