Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RubyConf 2017 - Criando sua Gem Ruby

RubyConf 2017 - Criando sua Gem Ruby

Apresentação na RubyConf 2017, explicando como funcionam as gems no Ruby e como uma gem, desde o desenvolvimento até a publicação.

Avatar for Danilo Barion Nogueira

Danilo Barion Nogueira

November 18, 2017

Other Decks in Technology

Transcript

  1. 09/Nov | P&D (Backend) Gestão horizontal (Sem chefes!) Tecnologia moderna

    e diversificada! Venha nos conhecer, estamos contratando! https://www.vagas.com.br/trabalhe-conosco
  2. O que é? Pra que serve? Estrutura de Diretórios Dependências

    Testes Versionamento Publicando Criando a nossa gem Sumário
  3. O que é? Pra que serve? Código pronto, para facilitar

    e agilizar o desenvolvimento e reutilização de código em diversos projetos! Ex.: devise, com funcionalidades para autenticação de usuários para Rails Boas gems facilitam a vida do desenvolvedor (boa documentação, qualidade de código, API fácil de usar, etc…)
  4. RubyGems.org é o repositório oficial de gems do Ruby Com

    o comando gem, é possível: 1) Busca 2) Instalação/Remoção 3) Geração de documentação das gems instaladas, 4) Alteração de código-fonte das gems O que é? Pra que serve?
  5. O que é? Pra que serve? Estrutura de Diretórios Dependências

    Testes Versionamento Publicando Criando a nossa gem Sumário
  6. O que é? Pra que serve? Estrutura de Diretórios Dependências

    Testes Versionamento Publicando Criando a nossa gem Sumário
  7. Dependências Desenvolvimento x Produção No .gemspec, são informadas suas dependências:

    1) Durante a etapa de desenvolvimento a) add_development_dependency 2) Para executar após a instalação a) opção add_runtime_dependency • $ bundle install
  8. O que é? Pra que serve? Estrutura de Diretórios Dependências

    Testes Versionamento Publicando Criando a nossa gem Sumário
  9. O que é? Pra que serve? Estrutura de Diretórios Dependências

    Testes Versionamento Publicando Criando a nossa gem Sumário
  10. Versionamento Semantic Versioning (Sugerido) PATCH 0.0.x - detalhes e bugs

    não críticos. MINOR 0.x.0 - mudanças na API, compatíveis com versões anteriores MAJOR x.0.0 - mudanças NÃO compatíveis com versões anteriores.
  11. O que é? Pra que serve? Estrutura de Diretórios Dependências

    Testes Versionamento Publicando Criando a nossa gem Sumário
  12. Publicando Distribuindo no RubyGems.org Após codificar e testar, vamos publicá-la

    no RubyGems.org: 1) Criar conta no RubyGems.org 2) Configurar nosso computador com esta conta a) http://guides.rubygems.org/make-your- own-gem/#wrapup 3) Enviar a gem para o RubyGems.org 4) Usar! :)
  13. O que é? Pra que serve? Estrutura de Diretórios Dependências

    Testes Versionamento Publicando Criando a nossa gem Sumário
  14. Criando a nossa gem Robohash! 1. O que é Robohash?

    i. API aberta 2. Qual o objetivo da gem? i. Obter avatares de forma simples e rápida 3. Problema que resolve? i. Exibir avatar para usuários de um site qualquer (Exemplo)
  15. Ideias de gems Quais problemas que poderíamos resolver? 1. Análise

    de Tweets para RT’s automáticos 2. Download e extração automática de arquivos do GDrive 3. Abstração para uso de API’s complexas