Mais 10 Gems que você precisa conhecer!

10 gems

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:

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.

(Como instalar)

gem doctor

2 – Watir

Documentação oficial | Estrelas no GitHub: 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 http://onebitcode.com, digitar na barra de pesquisa “12 Gems que Você precisa conhecer” e “clicar” no botão enter:
gem watir

(Como instalar)

(Como resolver o problema: Unable to find the chromedriver executable)

3 – Wannable Bool

Documentação oficial | 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:

wannable bool

(Como instalar)

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.

(Como instalar)

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

(Como instalar)

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

(Como instalar)

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.

(Como instalar)

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"

(Como instalar)

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

(Como instalar)

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")

(Como instalar)

 

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

Deixe seu Feedback!

Comentários