Aprendizagem Sequencial com Quadrinhos Serials e Active Model Serializer

Mar 17 2023
Há algo em aprender a programar bancos de dados que me faz querer fazer aplicativos de coleta para todos os meus hobbies. Então, aqui estou novamente com outro programa de coleção, e estou usando-o para rastrear minha coleção de histórias em quadrinhos, histórias em quadrinhos e arte sequencial.
arte de David Mazzucchelli (de Asterios Polyp)

Há algo em aprender a programar bancos de dados que me faz querer fazer aplicativos de coleta para todos os meus hobbies. Então, aqui estou novamente com outro programa de coleção, e estou usando-o para rastrear minha coleção de histórias em quadrinhos, histórias em quadrinhos e arte sequencial. Desta vez, estou criando com Ruby on Rails. Este é Komiker.

Komiker: O Rastreador de Coleção de Graphic Novel

A adição mais significativa em nosso salto de Sinatra para Rails, em nosso currículo Ruby de duas partes, foi o Active Record Serializer. O Serializer nos dá uma ótima camada de textura para complementar as classes Controller e Model.

arte de David Mazzucchelli (de Asterios Polyp)

Em primeiro lugar, Active Record Serializer é uma gema Ruby. Os Guias do Ruby on Rails o descrevem concisamente como “fornecendo serialização básica para um hash serializável para seus objetos”. No contexto da construção de uma API, ela nos permite controlar facilmente os dados que estamos enviando do back-end.

No nível mais básico, os serializadores nos ajudam a moldar nossos dados. No meu projeto, ele me permite escolher quais atributos minha API manteria.

A imagem acima mostra que o serializador deseja que apenas esses atributos sejam incluídos pelo controlador. Excluí atributos como ID do editor e do usuário e carimbos de data/hora, pois eles não serão usados ​​pelo meu aplicativo e adicionariam confusão desnecessária à minha API. Também incluí a editora no final, que aninharia a editora de um livro sob meus livros.

Você também pode definir métodos em um serializador. Isso adiciona mais uma camada de personalização em nossa saída de dados. O exemplo mais simples disso em meu projeto foi definir o nome de usuário para capitalizá-lo. Isso é útil para mensagens de boas-vindas personalizadas em meu aplicativo.

Lembre-se de que o objeto aqui na linha 6 é um atributo específico do serializador que permite acessar a instância atual de User. Ser capaz de definir métodos e passá-los como atributos abre possibilidades para a saída de API desejada.