23 lines
651 B
Ruby
23 lines
651 B
Ruby
# app/models/auditoria_log.rb
|
|
class AuditoriaLog < ApplicationRecord
|
|
belongs_to :user, optional: true
|
|
|
|
validates :acao, presence: true
|
|
|
|
scope :recentes, -> { order(created_at: :desc) }
|
|
scope :do_usuario, ->(user) { where(user: user) }
|
|
|
|
# Cria um log de auditoria de forma simples
|
|
# AuditoriaLog.registrar(current_user, 'criar_consolidacao', ip, detalhes: '...')
|
|
def self.registrar(user, acao, ip = nil, detalhes: nil)
|
|
create!(
|
|
user: user,
|
|
acao: acao,
|
|
ip: ip,
|
|
detalhes: detalhes
|
|
)
|
|
rescue ActiveRecord::RecordInvalid => e
|
|
Rails.logger.warn("AuditoriaLog falhou: #{e.message}")
|
|
end
|
|
end
|