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

  1. 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 -v

  2. Criaçã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.

    commands
    rails new cat_manager

  3. 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:

    commands
    cd cat_manager
    rails generate scaffold Cat name:string age:integer breed:string

  4. Execuçã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:

    commands
    rails db:migrate

  5. 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.

    Gemfile
    gem 'httparty'

  6. 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.rb
    class CatFactService
      include HTTParty
      base_uri 'https://catfact.ninja'
    
      def self.random_fact
        response = get('/fact')
        response['fact'] if response.success?
      end
    end

  7. Exibição dos Fatos no Controlador `CatsController`

    Modifique o controlador `CatsController` para buscar um fato sobre gatos ao criar um novo gato.

    CatsController.rb
    def 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

  8. 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.rb
    require 'test_helper'
    
    class CatTest < ActiveSupport::TestCase
      test 'valid cat' do
        cat = Cat.new(name: 'Whiskers', age: 2, breed: 'Tabby')
        assert cat.valid?
      end
    end

  9. 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.

Hashtags

#RubyOnRails #DesenvolvimentoDeSoftware #CatFacts #APIs #GerenciamentoDeGatos