Introdução
Neste tutorial, vamos explorar a criação de um aplicativo de gerenciamento de gatos usando o poderoso framework Ruby on Rails. Você aprenderá a configurar um ambiente de desenvolvimento Rails e a criar uma aplicação completa que permitirá aos usuários cadastrar, editar e excluir informações sobre seus gatos. Para tornar essa experiência mais divertida e educativa, iremos integrar a API do Cat Facts, que fornecerá curiosidades sobre gatos. Vamos passo a passo, desde a configuração inicial até a implementação de testes unitários, garantindo que o aplicativo esteja funcional e pronto para ser usado. Este tutorial é ideal para desenvolvedores que desejam melhorar suas habilidades em Ruby on Rails e aprender a trabalhar com APIs externas.
Etapas
Configuração do Ambiente de Desenvolvimento
Para começar, você precisará ter o Ruby e o Rails instalados em sua máquina. Você pode instalar o Ruby seguindo as instruções do seu sistema operacional. Para instalar o Rails, use o comando `gem install rails`. Verifique se tudo está instalado corretamente executando os comandos `ruby -v` e `rails -v`.
commands# Verificar versões instaladas
ruby -v
rails -vCriação do Projeto Rails
Crie um novo projeto Rails chamado ‘cat_manager’ usando o comando abaixo. Isso gerará uma estrutura básica para sua aplicação.
commandsrails new cat_manager
Configuração do Modelo `Cat`
Vamos criar um modelo chamado `Cat`. Isso será feito gerando um scaffold que inclui o modelo, controlador e visualizações. Execute o seguinte comando:
commandscd cat_manager
rails generate scaffold Cat name:string age:integer breed:stringExecução das Migrações
Agora que o scaffold foi criado, precisamos executar as migrações para criar a tabela no banco de dados. Use o comando a seguir:
commandsrails db:migrate
Integração com a API do Cat Facts
Para tornar o aplicativo mais interessante, vamos integrar a API do Cat Facts. Você pode usar a gem ‘httparty’ para fazer requisições HTTP. Adicione a linha `gem ‘httparty’` ao seu arquivo Gemfile e execute `bundle install`. Em seguida, crie um serviço para buscar os fatos sobre gatos.
Gemfilegem 'httparty'
Criação do Serviço `CatFactService`
Crie um novo arquivo em `app/services/cat_fact_service.rb` e implemente a lógica para buscar fatos sobre gatos da API.
cat_fact_service.rbclass CatFactService include HTTParty base_uri 'https://catfact.ninja' def self.random_fact response = get('/fact') response['fact'] if response.success? end end
Exibição dos Fatos no Controlador `CatsController`
Modifique o controlador `CatsController` para buscar um fato sobre gatos ao criar um novo gato.
CatsController.rbdef create @cat = Cat.new(cat_params) if @cat.save @fact = CatFactService.random_fact redirect_to @cat, notice: 'Cat was successfully created. Here's a fact: #{@fact}' else render :new end end
Criação de Testes Unitários
Vamos garantir que a aplicação esteja funcionando corretamente através de testes unitários. Crie o arquivo de teste para o modelo `Cat` em `test/models/cat_test.rb`.
cat_test.rbrequire 'test_helper' class CatTest < ActiveSupport::TestCase test 'valid cat' do cat = Cat.new(name: 'Whiskers', age: 2, breed: 'Tabby') assert cat.valid? end end
Executando a Aplicação e Testes
Use o Rails para iniciar o servidor e executar seus testes. Use o seguinte comando para iniciar o servidor e acesse `http://localhost:3000/cats` em seu navegador. Para executar os testes, use `rails test`.
commands# Iniciar o servidor
rails server
# Executar os testes
rails test
Conclusão
Neste tutorial, você aprendeu a desenvolver um aplicativo de gerenciamento de gatos usando Ruby on Rails e a integrar a API do Cat Facts. Exploramos desde a configuração do ambiente até a criação de um modelo, controlador e testes. Agora você possui uma base sólida para expandir suas aplicações em Ruby on Rails, e com a integração divertida da API, você torna a experiência do usuário muito mais interessante. Sinta-se à vontade para adicionar recursos adicionais, como a capacidade de adicionar imagens dos gatos ou compartilhar fatos nas redes sociais.