This is the second edition of the renewed Ruby/Rails digest. As some of you know, I’ve stopped making Rails digests since last year. But in June, I had officially come back to my favorite monitoring. I decided to put together July and August digests because there wasn’t much activity in between. Please, welcome the most popular, most interesting, and useful Ruby on Rails repositories on GitHub in July and August!
My mission here is to put together all the well-known or newly-made Ruby/Rails repositories on GitHub that were popular among developers this July and August.
Please meet the most popular and the most interesting Ruby/Rails repositories in July and August 2020:
- Grape is a REST-like API framework for Ruby. It’s designed to run on Rack or complement existing web application frameworks such as Rails and Sinatra by providing a simple DSL to easily develop RESTful APIs. 9,200 stars by now
- Brakeman is a static analysis tool that checks Ruby on Rails applications for security vulnerabilities. 5,800 stars by now
- Chartkick helps you to create beautiful JavaScript charts with one line of Ruby. 5,600 stars by now
- FriendlyId is the “Swiss Army bulldozer” of slugging and permalink plugins for ActiveRecord. It allows you to create pretty URL’s and work with human-friendly strings as if they were numeric ids for ActiveRecord models. 5,500 stars by now
- React on Rails is an integration of React + Webpack + Rails + rails/webpacker including server-side rendering of React, enabling a better developer experience and faster client performance. 4,558 stars by now
- Clearance is a Rails authentication with email & password. It is intended to be small, simple, and well-tested. It has opinionated defaults but is intended to be easy to override. 3,321 stars by now
- Ancestry is a gem that allows the records of a Ruby on Rails ActiveRecord model to be organized as a tree structure (or hierarchy). It employs the materialized path pattern and exposes all the standard tree structure relations (ancestors, parent, root, children, siblings, descendants), allowing all of them to be fetched in a single SQL query. 3,136 stars by now
- counter_culture is a turbo-charged counter cache for your Rails app. 1,301 stars by now
- ROTP (The Ruby One Time Password Library) is a Ruby library for generating and validating one time passwords (HOTP & TOTP) according to RFC 4226 and RFC 6238. It is compatible with Google Authenticator available for Android and iPhone and any other TOTP based implementations. 1,217 stars by now
- TTY::Prompt is a powerful interactive command line prompt. It provides an independent prompt component for TTY toolkit. 1,133 stars by now
- Squib is a Ruby DSL for prototyping card and board games. Write a little bit of Ruby, define your deck’s stats, then compile your game into a series of images ready for print-and-play or even print-on-demand. 833 stars by now
- MultiJSON is a generic swappable back-end for JSON handling. 710 stars by now
- Rainbow is a ruby gem for colorizing printed text on ANSI terminals. It provides a string presenter object, which adds several methods to your strings for wrapping them in ANSI escape codes. 669 stars by now
- Restforce is a Ruby client for the Salesforce REST API. 643 stars by now
- TrueMail is a Configurable framework-agnostic plain Ruby email validator. Verify email via Regex, DNS, and SMTP. Be sure that the email address valid and exists. 548 stars by now
- OmniAuth OAuth2 is a gem that contains a generic OAuth2 strategy for OmniAuth. It is meant to serve as a building block strategy for other strategies and not to be used independently (since it has no inherent way to gather uid and user info). 404 stars by now
- Motion is a Reactive frontend UI components for Rails in pure Ruby. It allows you to build reactive, real-time frontend UI components in your Rails application using pure Ruby. 303 stars by now
- Refinery CMS Blog is a blogging engine for Refinery CMS. 299 stars by now
- Racecar is a friendly and easy-to-approach Kafka consumer framework. It allows you to write small applications that process messages stored in Kafka topics while optionally integrating with your Rails models. 279 stars by now
- Rails::Auth is a modular resource-based authentication and authorization for Rails/Rack designed to support microservice authentication and claims-based identity. 264 stars by now
- Torch.rb is deep learning for Ruby. 242 stars by now
- TelephoneNumber is global phone number validation gem based on Google’s libphonenumber library. 225 stars by now
- Bmg is a relational algebra implemented as a ruby library. It implements the Relation as First-Class Citizen paradigm contributed with Alf a few years ago. 168 stars by now
- Bridgetown is a Webpack-aware, Ruby-powered static site generator for the modern Jamstack era. Bridgetown takes your content and frontend assets, renders Markdown and Liquid templates, and exports a complete website ready to be served by Jamstack services like Netlify or traditional web servers like Nginx. 168 stars by now
- Gammo provides a pure Ruby HTML5-compliant parser and XPath support for traversing the DOM tree built by Gammo. 147 stars by now
- TTY::Box provides box drawing component for TTY toolkit. 142 stars by now
If you have a Ruby/Rails project to share — let me know!
You can find my previous digest here.
Top comments (4)
Iren, how are the gems on this list decided?
For example, the Motion gem is nowhere near as popular as StimulusReflex by star count alone.
They were selected on the base of their popularity, buzz around the project during this particular period of time, and the potential of the project (how interesting this project is and what prospects it could have in future, evaluated according to my personal opinion).
I only ask because StimulusReflex and CableReady have been crushing it, lately. We're now regularly seeing job postings that mention SR in the stack description immediately after Rails and Postgres.
Meanwhile, I'm not aware of anyone using Motion in production.
Thanks for the hint! I haven’t heard of them before but will keep an eye on both when doing my next digest.