
Sobre o Blog
Este Blog é destinado a dar dicas sobre desenvolvimento Web focado principalmente na utilização de Ruby On Rails.
Em breve teremos vídeos tutoriais no canal do Youtube, portanto assine o canal e receba notificações sobre os novos tutoriais que virão 🙂 (Acesse o canal clicando aqui)
12 Gems que podem melhorar seus projetos e facilitar sua vida
O Rails possui muitas Gems e às vezes fica difícil identificar quais delas podem ter uma utilidade real no seu projeto. Aqui você encontrará uma pequena lista de Gems que não são tão utilizadas, mas que podem enriquecer seu projeto e te economizar um bom tempo.
*Para ir ao repositório da Gem, clique no título do post
Brakeman
O Brakeman é uma Gem que lhe permite descobrir algumas vulnerabilidades do seu projeto em Rails. Ao rodá-lo no root do seu projeto, ele apontará uma lista das vulnerabilidades que você pode ter deixado passar (como SQL Injection, File Access etc) e também de vulnerabilidades da própria versão do Rails que você está utilizando. Então, se você quer aumentar a qualidade do seu projeto e não ser pego desprevenido, instale o Brakeman e descubra se você está seguro.
Better Errors
Usando essa Gem, você recebe uma página de erros mais amigável e informativa enquanto desenvolve seu projeto. Ter uma tela que o ajude a identificar o problema rapidamente, pode diminuir o tempo que você gasta caçando Bugs.
Geocoder
Se a sua aplicação envolve o uso de informações geográficas como transformar um endereço em coordenadas ou vice versa, cálculos de distâncias ou até mesmo descobrir o endereço aproximado de um IP, você pode usar o Geocoder e fazer isso com uma simples chamada no seu código.
1 2 |
# returns Geocoder::Result object result = request.location |
(Pegando a localização de quem fez a requisição )
RuboCop
Se você se preocupa em escrever um bom código e também que ele seja de fácil entendimento para outros desenvolvedores, mas ainda não memorizou as boas práticas do Rails, talvez seja interessante você usar o RuboCop para que ele faça esse trabalho duro por você e te avise quando você estiver pisando fora da linha. 🙂
MINA
O MINA, assim como o capistrano, é uma ferramenta que lhe permite fazer o deploy da sua aplicação levando em conta o fato de que o MINA usa apenas uma conexão SSH para cada comando rodado, diferente do capistrano. Isso permite acelerar o processo de deploy.
1 2 3 4 5 6 |
$ mina deploy -----> Deploying to 2012-06-12-040248 ... Lots of things happening... ... -----> Done. |
Slack Notifhttps://onebitcode.com/relative-dating-limitations/
O gay escort boy é o sistema unânime de mensagens para equipes entre os desenvolvedores no mundo todo. Ele permite a criação de integrações, bots etc e isso cria possibilidades muito interessantes. A Gem Slack-Notifier, como o nome já diz, ajuda na integração em seu projeto e o Slack, com apenas uma simples chamada, torna possível que você avise sua equipe sobre os eventos mais importantes que estão acontecendo no seu projeto instantaneamente.
1 2 3 4 |
require 'slack-notifier' notifier = Slack::Notifier.new "WEBHOOK_URL" notifier.ping "Hello World" |
Whenever
Com o Whenever você pode escrever comandos simples para programar o cron jobs e não sofre muito com isso.
Escrever comandos é tão simples quanto neste exemplo:
1 2 3 4 5 6 7 8 9 |
every 3.hours do # 1.minute 1.day 1.week 1.month 1.year is also supported runner "MyModel.some_process" rake "my:rake:task" command "/usr/bin/my_great_command" end every 1.day, :at => '4:30 am' do runner "MyModel.task_to_run_at_four_thirty_in_the_morning" end |
Chartkick
Com essa Gem, você pode criar gráficos gerados por Javascript usando poucas linhas de rails. É possível criar gráficos de linha, de área e até gráficos usando o mapa mundi.
Um exemplo de gráfico de área:
Rails admin
Se você quer gerar um BackOffice completo para seu projeto, o Rails Admin é uma boa alternativa. É possível gerar um CRUD para suas tabelas editando apenas um simples arquivo. Se quiser melhorar a aparência do BackOffice (que não é ruim), você pode usar um dos templates prontos ou até mesmo criar o seu.
(Exemplo usando o Tema Rollincode)
Rack attack
O Rack Attack é um Middleware que protege seu Web App de ataques na internet. Usando essa Gem, é possível criar Safelisting, Blocklisting e bloquear o acesso para determinado IP depois de “X” tentativas por minuto de acesso à determinada página como /login (Brute Force), por exemplo.
1 2 3 4 5 6 |
# Always allow requests from localhost # (blocklist < throttles are skipped) Rack::Attack.safelist('allow from localhost') do |req| # Requests are allowed if the return value is truthy '127.0.0.1' == req.ip || '::1' == req.ip end |
(Exemplo de configuração de Safelist)
Awesome print
Essa Gem possibilita que você melhore a aparência dos resultados das consultas ao banco de dados enquanto usa o Rails Console. Pode parecer simples, mas quando você precisa investigar ou testar algo usando o console é realmente difícil encontrar o campo de retornos que você está procurando caso não haja formatação do banco de dados.
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 31 32 33 34 35 36 |
rails<=> require "awesome_print" rails<=> ap Account.limit(2).all [ [0] # { :id => 1, :user_id => 5, :assigned_to => 7, :name => "Hayes-DuBuque", :access => "Public", :website => "http://www.hayesdubuque.com", :toll_free_phone => "1-800-932-6571", :phone => "(111)549-5002", :fax => "(349)415-2266", :deleted_at => nil, :created_at => Sat, 06 Mar 2010 09:46:10 UTC +00:00, :updated_at => Sat, 06 Mar 2010 16:33:10 UTC +00:00, :email => "info@hayesdubuque.com", :background_info => nil }, [1] # { :id => 2, :user_id => 4, :assigned_to => 4, :name => "Ziemann-Streich", :access => "Public", :website => "http://www.ziemannstreich.com", :toll_free_phone => "1-800-871-0619", :phone => "(042)056-1534", :fax => "(106)017-8792", :deleted_at => nil, :created_at => Tue, 09 Feb 2010 13:32:10 UTC +00:00, :updated_at => Tue, 09 Feb 2010 20:05:01 UTC +00:00, :email => "info@ziemannstreich.com", :background_info => nil } ] |
Peek
O Peek é uma ferramenta para te ajudar a entender alguns dados sobre sua aplicação. Ele foi desenvolvido pelo GitHub para uso interno, mas posteriormente foi liberado para qualquer um integrá-lo em seu próprio projeto.
O Peek adiciona uma barra no seu site (enquanto você está em development) para te dar alguns insights sobre o banco de dados, redis, mongo etc. Vale a pena conferir.

Não perca nenhum conteúdo
Receba nosso resumo semanal com os novos posts, cursos, talks e vagas o/
Esse foi o primeiro post desse blog, esperamos que tenha gostado. 🙂
Outras listas sobre Gems virão assim como outros posts (alguns em vídeo) mostrando a criação de algumas Apps de exemplo (e alguns Bots também).
Curta nossa página no Facebook para receber os novos posts e se inscreva no canal do Youtube para receber notificações sobre os ScreenCasts.
Obrigado!
Equipe OneBitCode.
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/