
Conhecer as Gems certas pode fazer a sua vida no mundo Ruby mais simples, então eu trouxe mais um Pacote de Gems para incrementar o seu repertório.
Caso você não tenha visto a lista anterior, dê uma olhada nesse link: 12 Gems que você precisa conhecer!.
Agora eu estou lançando um Screencast por semana, caso você goste de aprender em vídeo também, dê uma olhada nos Screencasts que já foram lançados:
- Criando autenticação com o Facebook em 10 minutos (devise + omniauth)
- Criando um E-commerce com Spree
Se você ainda não se inscreveu no canal do Youtube, se inscreva clicando aqui ou no botão a baixo para receber os novos Screencasts.
As 10 Gems
1 – Doctor
Documentação oficial | Estrelas no GitHub: 192
Gem para centralizar sua documentação
O Doctor é um servidor para colocar todas as documentações do seu projeto, ele centraliza as informações e mostra elas de uma forma bonita.
Ele permite que você controle os usuários que incluem novos documentos e tenha uma visão geral do número de documentos e etc através de um dashboard bonito.
Se você está buscando uma solução para documentar o seu projeto e ter essa documentação online, talvez este seja o caminho.
2 – Watir
Documentação oficialhttps://onebitcode.com/free-dating-site-usa-free-singles/707
Gem para Controlar o Browser
O Watir é uma Gem bem bacana que te permite criar automações incríveis (e testes também), basicamente ele te dá o controle sobre o seu browser, permitindo por exemplo que você dê um comando para abrir o browser, depois para que ele navegue até o site X, preencha o campo Y e clique no botão Z tudo isso usando o nome das classes ou IDs desses botões. As possibilidade são infinitas.
Um exemplo do código usado para abrir o Chrome, ir até o https://onebitcode.com, digitar na barra de pesquisa “12 Gems que Você precisa conhecer” e “clicar” no botão enter:
https://onebitcode.com/fuck-dating-really-free-in-la/
35 year old woman dating 27 year old man
free teenage online dating sites
3 – Wannable Bool
best interracial dating sites | Estrelas no GitHub: 84
Gem para adicionar o “to_b” (to boolean) ao seu projeto
Com o Wannable Bool você consegue converter vários tipos de valores como “on e off”, “yes e no”, “f e t” e etc para 0 ou 1. Isso pode ajudar a resolver problemas com o retorno de checkbox e etc facilitando sua vida.
A lista completa:
4 – Countries
Documentação oficial | Estrelas no GitHub: 929
Informações sobre países como (latitude e longitude), siglas e etc
O Countries te ajuda a incluir informações específicas por país no seu projeto como a sigla da moeda, estados, o nome do país por idioma e etc.
Então se você está trabalhando em um projeto internacional (ou que precise de informações internacionais) talvez seja uma boa ideia usar essa Gem para facilitar sua vida.
5 – ByeBug
Documentação oficial | Estrelas no GitHub: 2083
Gem para te ajudar na hora de encontrar os Bugs 🙂
O ByeBug já é bem conhecido, mas vale a pena falar dele para os que ainda não usam. O ByeBug permite que você depure a sua aplicação de uma maneira bem simples.
Você só precisar colocar a Gem no seu Gemfile e o comando “byebug” em qualquer parte do seu código ruby e quando esta parte do código estiver em execução o byebug vai parar o processamento e te dar um console para que você possa executar linha por linha e ver se o resultado é o que você esperava.
6 – Backup
Documentação oficial | Estrelas no GitHub: 3892
Gem para você fazer Backups agendados e ser notificado (email, slack e etc) quando o backup ocorrer
Essa Gem é bem bacana e ela pode salvar a sua vida quando se trata de Backup, ela permite que você agende backups diários (ou outros períodos), guarde esses backups no S3 da aws (ou dropbox ou via ftp e etc) por exemplo e seja notificado via Slack (twitter, email e etc) sempre que o backup acontecer.
Eu usei essa Gem para backups diários, com armazenamento no S3 e notificação via Slack em um sistema de propostas comerciais chamado Negocie.
Exemplo de uso:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Model.new(:my_backup, 'Description for my_backup') do archive :my_archive do |archive| archive.add "/path/to/a/file.rb" archive.add "/path/to/a/folder/" archive.exclude "/path/to/a/excluded_file.rb" archive.exclude "/path/to/a/excluded_folder" end store_with Local do |local| local.path = "~/backups/" local.keep = 5 end compress_with Gzip notify_by Mail do |mail| mail.on_success = true mail.on_warning = true mail.on_failure = true mail.from = "sender@email.com" mail.to = "receiver@email.com" mail.address = "smtp.gmail.com" mail.port = 587 mail.domain = "your.host.name" mail.user_name = "sender@email.com" mail.password = "my_password" mail.authentication = "plain" mail.encryption = :starttls end end |
7 – Griddler
Documentação oficial | Estrelas no GitHub: 1055
Receba emails na sua Aplicação Rails
Se você precisa receber emails na sua aplicação Rails você pode usar o Griddler.
Um exemplo de uso seria um sistema que recebe respostas de clientes por email, como por exemplo a OLX onde você pode responder a uma proposta por email ao invés de ir até o site.
8 – MiniMagick
Documentação oficial | Estrelas no GitHub: 1853
Gem para editar e combinar imagens
O MiniMagick é uma Gem para você editar as suas imagens, como por exemplo redimensionar, inverter, girar e até mesmo combinar duas imagens diferentes.
Exemplo de código para combinar duas imagens:
1 2 3 4 5 6 7 |
first_image = MiniMagick::Image.new("first.jpg") second_image = MiniMagick::Image.new("second.jpg") result = first_image.composite(second_image) do |c| c.compose "Over" # OverCompositeOp c.geometry "+20+20" # copy second_image onto first_image from (20, 20) end result.write "output.jpg" |
9 – Gmail Gem
Documentação oficial | Estrelas no GitHub: 206
Escreva e leia emails usando o Ruby (Gmail)
Essa Gem te dá o poder de controlar o seu Gmail, você pode ler os novos emails, responder aos emails, deletar emails, arquivar emails e etc.
Uma integração que pretendo fazer em um futuro próximo usando essa Gem é um chatbot que lê os emails do Gmail, notifica via Facebook Messenger que novos emails chegaram e que permite que se responda o email pelo próprio chat. (Inclusive se você quiser ver esse tutorial por aqui, comenta aí em baixo 🙂 )
Exemplo, marcando emails como lidos usando filtro por data e remetente:
1 2 3 4 |
gmail.inbox.find(:before => Date.parse("2010-04-20"), :from => "news@nbcnews.com").each do |email| email.read! # can also unread!, spam! or star! email.archive! end |
10 – Twitter
Documentação oficial | Estrelas no GitHub: 3679
Controle o seu Twitter usando Ruby
Essa Gem permite que você automatize o uso do seu Twitter facilmente usando Ruby.
Você pode Twittar, ler seus twittes, seguir usuários e etc.
(Também vão surgir alguns exemplos de automação por aqui usando essa gem em breve)
Exemplo, twittando seu primeiro Hello World:
1 |
client.update("Hello World") |

Não perca nenhum conteúdo
Receba nosso resumo semanal com os novos posts, cursos, talks e vagas o/
Conclusão
Você tem sugestões de Gems para a próxima lista? Comenta aí em baixo.
Ficou com alguma dúvida ou tem outras sugestões?
Clica aqui para enviar sua sugestão ou me adiciona no Facebook clicando aqui.
Muito Obrigado pela atenção,
Grande abraço,
Leonardo Scorza
Primeira vez no OneBitCode? Curtiu esse conteúdo?
O OneBitCode tem muito mais para você!
O OneBitCode traz conteúdos de qualidade, e em português, sobre programação com foco em Ruby on Rails e também JavaScript.
Além disso, aqui sempre levamos à você conteúdos valiosos sobre a carreira de programação, dicas sobre currículos, portfólios, perfil profissional, soft skills, enfim, tudo o que você precisa saber para continuar evoluindo como Programador(a)!
Fique por dentro de todos os conteúdos o/
Nossas redes sociais:
📹 • https://youtube.com/Onebitcode [Live todas as terças-feiras às 19h)
💻 • https://linkedin.com/company/onebitcode
🙂 • https://facebook.com/onebitcode
📱 • https://instagram.com/one_bit_code
🐦 • https://twitter.com/onebitcode
Nossos cursos:
🥇 • Programador Full Stack Javascript em 8 Semanas
💎 • Curso Completo de Ruby
⚙ • Minicurso: API Rails 5 Completo
🐞 • Minicurso de Testes para Ruby on Rails com RSpec
Espero que curta nossos conteúdos e sempre que precisar de ajuda, fala com a gente!
Estamos aqui para você 🙂
Bem-vindo à família OneBitCode o/