Conversation
|
Fiz meio que na correria, mais para você ter um exemplo |
|
Obrigada Pedro, vi aqui! ficou ótimo, peguei a ideia. Só deixando aqui pra não esquecermos que tá quebrando com o front end por quê o nome do usuário não tá sendo retornado pelo backend nessa versão do backend (já que o PR #8 ainda não foi mergeado com a main |
|
Daí nesse caso o Services seria só pra Pokemons né? |
Isso mesmo |
| end | ||
|
|
||
| def pokemons_service | ||
| PokemonsService.new(PokemonsApiRepository.new) |
There was a problem hiding this comment.
Isso aqui seria um exemplo, que teriamos 2 repos, um que procuraria na base, outro na api
| def as_json | ||
| { | ||
| name: @pokemon.nome, | ||
| url: @pokemon.imagem | ||
| } |
There was a problem hiding this comment.
Aqui é como queremos mostrar a info, separei num presenter para separar a logica
| @@ -0,0 +1,11 @@ | |||
| class PokemonsService | |||
|
|
|||
| def initialize(repository = PokemonsRepository.new) | |||
There was a problem hiding this comment.
Por padrão, será o PokemonsRepository (que procura na base), o controller está procurando o da API, isso é legal pra gente isolar a logica das barreiras de acesso a banco de dados, logo podemos mudar como acessamos os dados sem mudar a interface
Sim, provavel peguei ainda uma versão antiga, mas a ideia era que você abstraisse e fizesse um seu, eu queria mais demonstrar o que eu tinha imaginado, pq acho que não consegui explicar de uma forma clara na reunião, mas é por ai |




Draft PR as an example using service using DB