Trilha Pleno Trilha

A camada de lógica: Dry-RB

O curso avalia duas bibliotecas Dry-rb diante dos service objects de uma aplicação Rails real. Parte dos objetos Result feitos com Data.define e um booleano success, que a maioria dos services já usa, e aponta seus custos, como um helper de falha de oito campos que inventa valores vazios. Depois cobre Success e Failure do dry-monads, fmap e bind, notação Do e contratos do dry-validation com schemas e rules. Mostra como ligar um contrato a um service e termina avaliando, service por service, se a adoção vale a pena.

O que você vai aprender

  • ✓Como Success e Failure trocam um booleano success por dois tipos distintos
  • ✓Quando usar fmap e quando usar bind para encadear passos que podem falhar
  • ✓Como a notação Do mantém plano um service de vários passos e para no primeiro Failure
  • ✓Como escrever contratos do dry-validation com schemas params e rules
  • ✓Como carregar a extensão de monads para que to_monad ligue um contrato a um service
  • ✓Como avaliar, service por service, se uma gem remove um custo que o código já tem
Prévia grátis · Aula 1 6 min de leitura

O objeto Result que esta aplicação já tem

Em setembro de 2026, app/services nesta aplicação tinha 65 arquivos Ruby. Quarenta e nove deles declaram um tipo de resultado com uma linha no formato desta, copiada de app/services/auth/authenticate_user_service.rb:

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...