Adição da função de configuração de email e whatts
This commit is contained in:
27
app/services/notificacao/resultado.rb
Normal file
27
app/services/notificacao/resultado.rb
Normal file
@@ -0,0 +1,27 @@
|
||||
# app/services/notificacao/resultado.rb
|
||||
#
|
||||
# Retorno dos testes de envio. Existe para o controller não precisar saber nada
|
||||
# sobre SMTP nem sobre a API do Twilio — só perguntar `ok?` e jogar no flash.
|
||||
module Notificacao
|
||||
Resultado = Struct.new(:ok, :mensagem, :detalhe, keyword_init: true) do
|
||||
def self.sucesso(mensagem)
|
||||
new(ok: true, mensagem: mensagem)
|
||||
end
|
||||
|
||||
def self.falha(mensagem, detalhe = nil)
|
||||
new(ok: false, mensagem: mensagem, detalhe: detalhe)
|
||||
end
|
||||
|
||||
def ok?
|
||||
!!ok
|
||||
end
|
||||
|
||||
# O detalhe técnico (mensagem crua do servidor/Twilio) só aparece no erro —
|
||||
# é o que permite ao admin resolver sozinho sem abrir o log do container.
|
||||
def para_flash
|
||||
texto = mensagem.to_s
|
||||
texto += " [detalhe técnico: #{detalhe.to_s.truncate(180)}]" if !ok? && detalhe.present?
|
||||
{ ok? ? :notice : :alert => texto }
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user