sdogruyol/awesome-ruby
{ "createdAt": "2014-07-03T10:31:05Z", "defaultBranch": "master", "description": "A curated list of awesome Ruby frameworks, libraries and resources. Inspired by awesome-php & awesome-python.", "fullName": "sdogruyol/awesome-ruby", "homepage": null, "language": null, "name": "awesome-ruby", "pushedAt": "2024-08-15T08:02:23Z", "stargazersCount": 1266, "topics": [], "updatedAt": "2026-07-07T19:21:53Z", "url": "https://github.com/sdogruyol/awesome-ruby"}View components
Section titled “View components”- Cells - View Components for Rails.
- Komponent - An opinionated way of organizing front-end code in Rails, based on components.
- Phlex - A framework for building object-oriented views in Ruby.
- ViewComponent - View components for Rails.
View helpers
Section titled “View helpers”- active_link_to - View helper to manage “active” state of a link.
- auto_html - Rails extension for transforming URLs to appropriate resource (image, link, YouTube, Vimeo video…).
- Bh - Bootstrap Helpers for Ruby.
- gon - If you need to send some data to your js files and you don’t want to do this with long way through views and parsing - use gon.
- PluggableJs - Page-specific javascript for Rails applications with the ability of passing data from a controller.
- render_async - Render partials to your views asynchronously and increase load performance of your pages.
Web Crawling
Section titled “Web Crawling”- LinkThumbnailer - Ruby gem that generates thumbnail images and videos from a given URL. Much like popular social website with link preview.
- Kimurai - A modern web scraping framework written in Ruby which works out of box with Headless Chromium/Firefox, PhantomJS, or simple HTTP requests and allows to scrape and interact with JavaScript rendered websites.
- Mechanize - Mechanize is a ruby library that makes automated web interaction easy.
- MetaInspector - Ruby gem for web scraping purposes.
- Spidr - A versatile Ruby web spidering library that can spider a site, multiple domains, certain links or infinitely. Spidr is designed to be fast and easy to use.
- Upton - A batteries-included framework for easy web-scraping.
- Wombat - Web scraper with an elegant DSL that parses structured data from web pages.
Web Frameworks
Section titled “Web Frameworks”- Camping - A web microframework which consistently stays at less than 4kB of code.
- Cuba - A microframework for web development.
- Hobbit - A minimalistic microframework built on top of Rack.
- Hanami - It aims to bring back Object Oriented Programming to web development, leveraging on a stable API, a minimal DSL, and plain objects.
- Hyperstack - A Complete Isomorphic Ruby Framework using React and Opal.
- Padrino - A full-stack ruby framework built upon Sinatra.
- Rack::App - Bare bone minimalistic framework for building rack apps.
- Roda - A routing tree web framework.
- Ruby on Rails - A web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
- Scorched - Light-weight, inheritable and composable web framework, inspired by Sinatra.
- Sinatra - Classy web-development dressed in a DSL.
- Syro - Simple router for web applications.
- Trailblazer - Trailblazer is a thin layer on top of Rails. It gently enforces encapsulation, an intuitive code structure and gives you an object-oriented architecture.
Web Servers
Section titled “Web Servers”- Agoo - A high performance HTTP server for Ruby that includes GraphQL and WebSocket support.
- Falcon - A high-performance web server for Ruby, supporting HTTP/1, HTTP/2 and TLS.
- Iodine - An non-blocking HTTP and Websocket web server optimized for Linux/BDS/macOS and Ruby MRI.
- Phusion Passenger - Fast and robust web server and application server.
- Puma - A modern, concurrent web server for Ruby.
- Rack - A common Ruby web server interface. By itself, it’s just a specification and utility library, but all Ruby web servers implement this interface.
- Thin - Tiny, fast & funny HTTP server.
- Unicorn - Rack HTTP server for fast clients and Unix.
WebSocket
Section titled “WebSocket”- AnyCable – Polyglot replacement for Ruby WebSocket servers with Action Cable protocol.
- CableReady - CableReady completes the ActionCable story and expands the utility of web sockets in your Rails app.
- Faye - A set of tools for simple publish-subscribe messaging between web clients.
- Firehose - Build realtime Ruby web applications.
- StimulusReflex - Build reactive applications with the Rails tooling you already know and love.
Awesome Ruby
Section titled “Awesome Ruby”A curated list of awesome Ruby frameworks, libraries and resources. Inspired by awesome-php & awesome-python.
Contribution
Section titled “Contribution”Your Pull requests are welcome! Let’s make this the awesomest resource for Ruby :purple_heart:
| Resources | ||
|---|---|---|
| - [Awesome Ruby]!(#awesome-ruby) | - [Admin Panels]!(#admin-panels) | - [Anti-spam]!(#anti-spam) |
| - [Asset Management]!(#asset-management) | - [Audio]!(#audio) | - [Auditing]!(#auditing) |
| - [Authentication and OAuth]!(#authentication-and-oauth) | - [Build Tools]!(#build-tools) | - [Caching]!(#caching) |
| - [Cloud Services]!(#cloud-services) | - [CMS]!(#cms) | - [Code Analysis and Linter]!(#code-analysis-and-linter) |
| - [Command-line Tools]!(#command-line-tools) | - [Configuration]!(#configuration) | - [CSS and Styling]!(#css-and-styling) |
| - [Data Validation]!(#data-validation) | - [Data Visualization]!(#data-visualization) | - [Database Drivers]!(#database-drivers) |
| - [Date and Time]!(#date-and-time) | - [Debugging Tools]!(#debugging-tools) | - [DevOps Tools]!(#devops-tools) |
| - [Distribution]!(#distribution) | - [Documentation]!(#documentation) | - [Downloader]!(#downloader) |
| - [E-Commerce & Online Paying]!(#e-commerce—online-paying) | - [E-Mail]!(#e-mail) | - [Environment Management]!(#environment-management) |
| - [File Uploading]!(#file-uploading) | - [Feature Flipping]!(#feature-flipping) | - [Foreign Function Interface]!(#foreign-function-interface) |
| - [Forms]!(#forms) | - [Game Development]!(#game-development) | - [Geolocation]!(#geolocation) |
| - [GUI]!(#gui) | - [High Performance]!(#high-performance) | - [HTML/XML/CSS Manipulation]!(#htmlxmlcss-manipulation) |
| - [HTTP]!(#http) | - [Imagery]!(#imagery) | - [Internationalization]!(#internationalization) |
| - [Logging]!(#logging) | - [Machine Learning]!(#machine-learning) | - [MapReduce]!(#mapreduce) |
| - [Multi-tenancy]!(#multi-tenancy) | - [Natural Language Processing]!(#natural-language-processing) | - [Networking]!(#networking) |
| - [ORM]!(#orm) | - [Package Management]!(#package-management) | - [Presentation Tools]!(#presentation-tools) |
| - [Processes and Threads]!(#processes-and-threads) | - [Push Notification]!(#push-notification) | - [Queue]!(#queue) |
| - [Serverless]!(#serverless) | - [Spreadsheets]!(#spreadsheets) | - [RESTful API]!(#restful-api) |
| - [Science and Data Analysis]!(#science-and-data-analysis) | - [Search]!(#search) | - [Site Monitoring]!(#site-monitoring) |
| - [Starter Apps]!(#starter-apps) | - [Tagging]!(#tagging) | - [Template Engine]!(#template-engine) |
| - [Testing]!(#testing) | - [Text Processing]!(#text-processing) | - [Third-party APIs]!(#third-party-apis) |
| - [URL Manipulation]!(#url-manipulation) | - [Video]!(#video) | - [Web Content Extracting]!(#web-content-extracting) |
| - [Web Crawling]!(#web-crawling) | - [Web Frameworks]!(#web-frameworks) | - [Web Servers]!(#web-servers) |
| - [WebSocket]!(#websocket) | - [Miscellaneous]!(#miscellaneous) | - [Editor Plugins]!(#editor-plugins) |
| - [Resources]!(#resources) | - [People to Follow]!(#people-to-follow) | - [Other Awesome Lists]!(#other-awesome-lists) |
| - [Contributing]!(#contributing) |
Admin Panels
Section titled “Admin Panels”Libraries for administrative interfaces.
- active_admin The administration framework for Ruby on Rails applications
- rails_admin A Rails engine that provides an easy-to-use interface for managing your data
- administrate A framework for creating flexible, powerful admin dashboards in Rails.
Anti-spam
Section titled “Anti-spam”Libraries for fighting spam.
- RubySpamAssassin Kills Spam Dead. Perhaps before it’s sent!
Asset Management
Section titled “Asset Management”Tools for managing, compressing and minifying website assets.
- sprockets Rack-based asset packaging system
- rails-assets is the frictionless proxy between Bundler and Bower
- seal A C library (with Ruby binding) for 3D audio rendering
Auditing
Section titled “Auditing”Tools for logging changes to ActiveRecord models
- Audited - Audited (formerly acts_as_audited) is an ORM extension that logs all changes to your Rails models.
- Logidze - Logs model changes via database triggers (PL/SQL functions). Fastest model diffs. PostgreSQL 9.5+ only.
Authentication and OAuth
Section titled “Authentication and OAuth”Libraries for implementing authentications schemes.
- Devise - Devise is a flexible authentication solution for Rails based on Warden
- Omniauth - OmniAuth is a flexible authentication system utilizing Rack middleware
- Warden - General Rack Authentication Framework
- AuthLogic - A simple ruby authentication solution
- Sorcery - Magical authentication for Rails 3 & 4
- CanCanCan Authorization gem for Rails (continued version of CanCan from ryanb)
- pundit - Minimal authorization using object oriented design.
- authority - ORM neutral authorization.
- doorkeeper An OAuth 2 provider for Rails
- tiddle - Devise strategy for token authentication in API-only Ruby on Rails applications
Build Tools
Section titled “Build Tools”Compile software from source code.
- teapot A decentralised build tool for managing complex cross-platform projects
Caching
Section titled “Caching”Libraries for caching data.
- rack-cache HTTP Caching for Ruby Web Apps
- Dalli - a high performance pure Ruby client for accessing memcached servers.
Cloud Services
Section titled “Cloud Services”- fog The Ruby cloud services library
- aws-sdk-ruby The official AWS SDK for Ruby
Content management systems
- Refinery CMS An extendable Ruby on Rails CMS that supports Rails 3.2 and 4.2
- Comfortable Mexican Sofa A powerful Rails 4/5 CMS Engine
- Browser Humane Content Management for Rails
- Locomotive a brand new CMS system with super sexy UI and cool features
- Radiant A no-fluff, open source content management system
- Nesta A lightweight CMS, implemented in Sinatra
- alchemy_cms the most powerful, user friendly and flexible Rails CMS
- weby Newbie CMS in Ruby on Rails
Code Analysis and Linter
Section titled “Code Analysis and Linter”Libraries and tools for analyzing, parsing and manipulation codebases.
- sonarlint-intellij - An IDE extension that helps you detect and fix quality issues as you write code.
- Rubocop - A Ruby static code analyzer, based on the community Ruby style guide.
- ruby-lint - ruby-lint is a static code analysis tool for Ruby
- brakeman - Static analysis tool which checks Ruby on Rails applications for security vulnerabilities
- reek - Code smell detector for Ruby
- Breezer - Lock your Gemfile dependencies to safe versions.
Command-line Tools
Section titled “Command-line Tools”Libraries for building command-line application.
- Commander - The complete solution for Ruby command-line executables
- Thor - Thor is a toolkit for building powerful command-line interfaces
Configuration
Section titled “Configuration”Libraries for storing configuration options.
CSS and Styling
Section titled “CSS and Styling”- sass A CSS preproccessor
- sass-rails Rails stylesheet engine for Sass
- less-rails The dynamic stylesheet language for the Rails
- compass A a Stylesheet Authoring Environment
- bootstrap-sass Official Sass port of Bootstrap
- foundation-rails Foundation for Rails
- bootswatch-rails Bootswatches converted to SCSS ready to use in Rails
- bourbon A lightweight mixin library for Sass
Data Validation
Section titled “Data Validation”Libraries for validating data. Used for forms in many cases.
- kangal - Extended validation gem for email, subdomain, credit card, tax number etc
- bin_checker - BIN validator for Turkish Banks
Data Visualization
Section titled “Data Visualization”Libraries for visualizing data.
- prosperity The easiest way to graph data from your Rails models
Database Drivers
Section titled “Database Drivers”Libraries for connecting and operating databases.
-
Relational Databases
- ruby-pg Ruby interface to the PostgreSQL >= 8.4
- mysql2 A modern, simple and very fast Mysql library for Ruby
- sqlite3-ruby Ruby bindings for the SQLite3 embedded database
-
NoSQL Databases
Date and Time
Section titled “Date and Time”Libraries for working with dates and times.
Debugging Tools
Section titled “Debugging Tools”Libraries for debugging and developing.
- byebug - Debugging in Ruby 2
- debugger - port of ruby-debug that works on 1.9.2 and 1.9.3
- puts_debuggerer - Debugger-less debugging FTW
DevOps Tools
Section titled “DevOps Tools”Software and libraries for DevOps.
- Puppet - Server automation framework and application
- Chef - A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
- Vagrant - Vagrant is a tool for building and distributing development environments.
- Capistrano - Remote multi-server automation tool
- Mina Really fast deployer and server automation tool
- Nanobox - A micro-PaaS (μPaaS) for creating consistent, isolated, Ruby environments deployable anywhere https://nanobox.io.
Distribution
Section titled “Distribution”Libraries to create packaged executables for release distribution.
- fpm Building packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
Documentation
Section titled “Documentation”Libraries for generating project documentation.
- Dictum - A tool that let’s you create automatic documentation of your Rails API endpoints through your tests.
- rdoc HTML and online documentation for Ruby projects
- yard A Ruby Documentation tool
Downloader
Section titled “Downloader”Libraries for downloading.
- GitHub Starred Repos Downloader - gsrd downloads your public starred repos. Just in case you want to keep a backup of them from time to time.
E-Commerce & Online Paying
Section titled “E-Commerce & Online Paying”- Active Merchant - A simple payment abstraction library extracted from Shopify.
- Spree - A complete open source e-commerce solution for Ruby on Rails.
- Square SDK - Use this gem to integrate Square payments into your app and grow your business with Square APIs including Catalog, Customers, Employees, Inventory, Labor, Locations, and Orders.
- PayPal Merchant SDK - Provides Ruby APIs for processing payments, recurring payments, subscriptions and transactions using PayPal’s Merchant APIs.
Libraries for sending and parsing email.
Environment Management
Section titled “Environment Management”Libraries for Ruby version and environment management.
- chruby - Changes the current Ruby
- chgems - Chroot for RubyGems
- rvm - Ruby Version Manager
- rbenv - Groom your app’s Ruby environment
- ruby-install - Installs Ruby, JRuby, Rubinius, MagLev or MRuby
- ruby-build - Compile and install Ruby
- Nanobox - A tool for creating isolated Ruby environments for consistency across teams and application stages (dev, staging, production, etc.) https://nanobox.io.
Error Handling
Section titled “Error Handling”Libraries for exception and error handling.
- Exception Notification - A set of notifiers for sending notifications when errors occur in a Rack/Rails application
- Errbit - The open source, self-hosted error catcher
- Airbrake - The official Airbrake library for Ruby on Rails (and other Rack based frameworks)
- Better Errors - Better error page for Rack apps
File Uploading
Section titled “File Uploading”Libraries for handling file uploads.
- paperclip Easy file attachment management for ActiveRecord
- dragonfly On-the-fly processing - suitable for image uploading in Rails, Sinatra and much more
- carrierwave Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks
- attache - Yet another approach to file upload https://attache-demo.herokuapp.com
Feature flipping
Section titled “Feature flipping”Libraries for flipping features
- abstract_feature_branch a gem that enables developers to easily branch by abstraction
- helioth Manage feature flipping and rollout
- flipper feature flipping for ANYTHING
- flip Flip lets you declare and manage feature flags, backed by cookies (private testing) and database (site-wide)
- rollout Feature flippers.
Foreign Function Interface
Section titled “Foreign Function Interface”Libraries for providing foreign function interface.
Libraries for working with forms.
- simple_form Forms made easy for Rails
- formtastic A Rails form builder plugin with semantically rich and accessible markup
- bootstrap_form A Rails form builder that makes it super easy to integrate Bootstrap v4-style forms into your Rails application
Game Development
Section titled “Game Development”Awesome game development libraries.
- Gosu - A 2D game development library for the Ruby and C++ programming languages
Geolocation
Section titled “Geolocation”Libraries for geocoding addresses and working with latitudes and longitudes.
- geocoder Complete Ruby geocoding solution
- Geokit - Geokit gem provides geocoding and distance/heading calculations.
Git Tools
Section titled “Git Tools”Libraries for working with Git VCS
- katip - Change logger for Git initialized projects
Libraries for working with graphical user interface applications.
- glimmer Ruby Desktop Development GUI Library
- shoes A tiny graphical app kit for ruby
- shoes4 the next version of Shoes
High Performance
Section titled “High Performance”Libraries for making Ruby faster.
- EventMachine - EventMachine: fast, simple event-processing library for Ruby programs
- Celluloid - Actor-based concurrent object framework for Ruby. It has its own awesomeness.
HTML/XML/CSS Manipulation
Section titled “HTML/XML/CSS Manipulation”Libraries for working with HTML, XML & CSS.
- Nokogiri
- loofah A general library for manipulating and transforming HTML/XML documents and fragments
Libraries for working with HTTP.
- httparty Makes http fun again!
- faraday Simple, but flexible HTTP client library, with support for multiple backends.
- http A simple Ruby DSL for making HTTP requests
- excon Usable, fast, simple HTTP(S) 1.1 for Ruby
- nestful Simple Ruby HTTP/REST client with a sane API
- response_code Response Code in readable way
Imagery
Section titled “Imagery”Libraries for manipulating images.
- rmagick An interface to the ImageMagick and GraphicsMagick image processing libraries
- minimagick Minified version of rmagick
- chunky_png Read/write access to PNG images in pure Ruby
- image_optim Optimize images using multiple utilities
- magickly image manipulation as a (plugin-able) service
Internationalization
Section titled “Internationalization”Libraries for woking with i18n.
- i18n - Basic internationalization(i18n) library for Ruby
- globalize Rails I18n de-facto standard library for ActiveRecord model/data translation
- i18n-tasks Manage translations in ruby applications with the awesome power of static analysis
Logging
Section titled “Logging”Libraries for generating and working with log files.
- Logstash Logstash is a tool for managing events and logs.
Machine Learning
Section titled “Machine Learning”Libraries for Machine Learning.
- PredictionIO Ruby SDK - The PredictionIO Ruby SDK provides a convenient API to quickly record your users’ behavior and retrieve personalized predictions for them
- m2cgen - A CLI tool to transpile trained classic ML models into a native Ruby code with zero dependencies.
MapReduce
Section titled “MapReduce”Frameworks and libraries for MapReduce.
Multi-tenancy
Section titled “Multi-tenancy”Libraries for managing multi-tenant apps.
- Apartment - Database multi-tenancy for Rack (and Rails) applications
Natural Language Processing
Section titled “Natural Language Processing”Libraries for working with human languages.
- Treat - Treat is a toolkit for natural language processing and computational linguistics in Ruby
Networking
Section titled “Networking”Libraries for network programming.
Libraries that implement Object-Relational Mapping or data mapping techniques.
-
Relational Databases
- ActiveRecord - Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes
- DataMapper - DataMapper is an Object Relational Mapper written in Ruby. The goal is to create an ORM which is fast, thread-safe and feature rich.
- Sequel - The Database Toolkit for Ruby
-
NoSQL Databases
Package Management
Section titled “Package Management”Libraries for package and dependency management.
- RubyGems - RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries
- Bundler - Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed
- Homebrew - Homebrew installs the stuff you need that Apple didn’t
- Homebrew Cask - Cask provides a friendly homebrew-style CLI workflow for the administration of Mac applications distributed as binaries
Pagination
Section titled “Pagination”- kaminari A Scope & Engine based, clean, powerful, customizable and sophisticated paginator
- will_paginate Pagination library for Rails 3, Sinatra, Merb, DataMapper, and more
- order_query Keyset pagination to find the next or previous record(s) relative to the current one efficiently, e.g. for infinite scroll.
PDF Processing
Section titled “PDF Processing”- DocRaptor Wrapper library for DocRaptor’s Ruby-based HTML-to-PDF API
- wicked_pdf PDF generator (from HTML) plugin for Ruby on Rails
- pdfkit HTML+CSS to PDF using wkhtmltopdf
- prawn Fast, Nimble PDF Writer for Ruby
- InvoicePrinter - Super simple PDF invoicing in Ruby (built on top of Prawn).
Presentation Tools
Section titled “Presentation Tools”Processes and Threads
Section titled “Processes and Threads”Libraries for woking with processes or threads
- Parallel - Ruby parallel processing made simple and fast
Profiling
Section titled “Profiling”- bullet - help to kill N+1 queries and unused eager loading
Push Notification
Section titled “Push Notification”- Rpush - The push notification service for Ruby.
- apn_sender - Background worker to send Apple Push Notifications over a persistent TCP socket.
- Houston - A simple gem for sending Apple Push Notifications.
- webpush - Encryption Utilities for Web Push protocol
Libraries for working with event and task queues.
- Resque A Redis-backed Ruby library for creating background jobs, placing them on multiple queues.
- Delayed::Job — Database backed asynchronous priority queue.
- Qu A Ruby library for queuing and processing background jobs.
- Sidekiq Simple, efficient background processing for Ruby
RESTful API
Section titled “RESTful API”Libraries for developing RESTful APIs.
- Grape - An opinionated micro-framework for creating REST-like APIs in Ruby.
- Rails::API - Rails for API only applications
- jbuilder - Create JSON structures via a Builder-style DSL
- rabl - General Ruby templating with json, bson, xml, plist and msgpack support
- active_model_serializers - ActiveModel::Serializer implementation and Rails hooks
- oat - Adapters-based API serializers with Hypermedia support for Ruby apps (HAL, Siren, JSONAPI).
- APIcasso - An abstract API design as a Rails-based mountable engine. RESTfullize your legacy code.
Serverless
Section titled “Serverless”- FaaStRuby - Serverless Software Development Platform for Ruby and Crystal developers.
Spreadsheets
Section titled “Spreadsheets”Libraries for manipulating Excel, Google Spreadsheets, Numbers, OpenOffice and LibreOffice files
- spreadsheet - The Spreadsheet Library is designed to read and write Spreadsheet Documents.
- caxlsx - Caxlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents.
- caxlsx_rails - Axlsx-Rails provides an Axlsx renderer so you can move all your spreadsheet code from your controller into view files.
- roo - Roo implements read access for all spreadsheet types and read/write access for Google spreadsheets.
- google-spreadsheet-ruby - This is a library to read/write Google Spreadsheet.
- rubyXL - rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents
- Odf-report - Generates ODF files, given a template (.odt) and data, replacing tags
- simple_xlsx_writer - Just as the name says, simple writter for Office 2007+ Excel files
- remote_table - Open local or remote XLSX, XLS, ODS, CSV (comma separated), TSV (tab separated), other delimited, fixed-width files, and Google Docs.
- acts_as_caxlsx - acts_as_caxlsx lets you turn any ActiveRecord::Base inheriting class into an excel spreadsheet.
- activeadmin-caxlsx - This gem uses caxlsx to provide excel/xlsx downloads for resources in Active Admin.
- to_spreadsheet - Render XLSX from Rails using existing views
- write_xlsx - write_xlsx is a gem to create a new file in the Excel 2007+ XLSX format.
- excel_rails - Allows you to program spreadsheets using .rxls views
- sheets - Work with spreadsheets easily in a native ruby format.
- workbook - Workbook contains workbooks, as in a table, contains rows, contains cells, reads/writes excel, ods and csv and tab separated files…
- Spreadsheet report - Simple tool for running queries against ActiveRecord and putting them into a Google Spreadsheet.
- oxcelix - A fast Excel 2007/2010 (.xlsx) file parser that returns a collection of Matrix objects
- wrap_excel - WrapExcel is to wrap the win32ole, and easy to use Excel operations with ruby. Detailed description please see the README.
- write_xlsx_rails - xlsx renderer for Rails base on write_xlsx gem
- Fastsheet - Fast spreadsheet reader using Rust native extensions.
Scheduling
Section titled “Scheduling”- whenever Cron jobs in Ruby
- resque-scheduler A light-weight job scheduling system built on top of resque
- rufus-scheduler Scheduler for Ruby
- Clockwork Clockwork is a cron replacement. It runs as a lightweight, long-running Ruby process which sits alongside your web processes (Mongrel/Thin) and your worker processes (DJ/Resque/Minion/Stalker) to schedule recurring work at particular times or dates.
Science and Data Analysis
Section titled “Science and Data Analysis”Libraries for scientific computing and data analyzing.
Search
Section titled “Search”Libraries and software for indexing and performing search queries on data.
- Thinking Sphinx - Sphinx plugin for ActiveRecord/Rails
- elasticsearch-ruby - Ruby integrations for Elasticsearch
- Searchkick - Intelligent search made easy
- Algoliasearch Rails - AlgoliaSearch integration to your favorite ORM
- PgSearch - PostgreSQL’s full text search
- Rroonga - The Ruby bindings of Groonga
- Sunspot - Solr-powered search for Ruby objects
Site Monitoring
Section titled “Site Monitoring”Libs for analytics, monitoring
- rack-google-analytics Simple Rack middleware for implementing google analytics tracking
- DataDog A monitoring service for IT, operations and development teams
- Instrumental High-scale, non-blocking agent for Instrumental application monitoring
- Keen IO Build analytics features directly into your Ruby apps
Static Page Generation
Section titled “Static Page Generation”Starter Apps
Section titled “Starter Apps”App templates for creating apps quickly
- suspenders A Rails template with our standard defaults, ready to deploy to Heroku
- ruby2-rails4-bootstrap-heroku A starter application based on Ruby 2, Rails 4 and Bootstrap for Sass, deployable on Heroku
- rails-bootstrap Rails 4.1 starter app with the Bootstrap front-end framework
- rails4-starterkit Rails 4.1 starter app with production ready performance, security, and authentication
- cybele - Rails 4.x template with responder, simple form, haml, exception notification, etc …
Text Processing
Section titled “Text Processing”Libraries for parsing and manipulating texts.
-
General
-
Specific Formats
-
Parser
- Yomu - Read text and metadata from files and documents (.doc, .docx, .pages, .odt, .rtf, .pdf)
Tagging
Section titled “Tagging”Libraries for tagging items.
- acts-as-taggable-on - A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.
Template Engine
Section titled “Template Engine”Libraries and tools for templating and lexing.
- Slim A templating lang that reduce the syntax to the essential parts without becoming cryptic.
- slim-rails Rails port of Slim lang
- Haml HTML Abstraction Markup Language - A Markup Haiku
- haml-rails Rails port of Haml lang
- Tilt
- Liquid
Testing
Section titled “Testing”Libraries for testing codebases and generating test data.
-
Testing Frameworks
- RSpec - BDD for Ruby
- MiniTest - minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking
- [Cucumber]
- Cucumber Github - Cucumber is a tool that executes plain-text functional descriptions as automated tests
- Cucumber Site - Behaviour Driven Development with elegacy and joy
- Spinach - Spinach is a high-level BDD framework that leverages the expressive Gherkin language (used by Cucumber) to help you define executable specifications of your application or library’s acceptance criteria.
- Rubytest - Rubytest is a testing meta-framework useful for creating highly customize test suites or building whole new test frameworks.
- shoulda-matchers - Collection of testing matchers extracted from Shoulda
- capybara - Acceptance test framework for web applications
-
Mock
- RSpec-mocks - RSpec’s ‘test double’ framework, with support for stubbing and mocking
- Mocha - Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.
- FlexMock - Flexible mocking for Ruby testing
-
Fake Data
-
Code Coverage
- simplecov Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage
-
Load Testing
-
Error Handler
Third-party APIs
Section titled “Third-party APIs”Libraries for accessing third party APIs.
- koala A lightweight, flexible library for Facebook
- fb_graph A full-stack Facebook Graph API wrapper
- twitter A Ruby interface to the Twitter API
- tweetstream A simple library for consuming Twitter’s Streaming API
- gitlab Ruby wrapper and CLI for the GitLab API
- octokit.rb Ruby toolkit for the GitHub API
- instagram The official gem for the Instagram API
- linkedin Ruby wrapper for the LinkedIn API
- twilio-ruby A Ruby gem for communicating with the Twilio API and generating TwiML
- viewpoint-spws A Microsoft Sharepoint Web Services library for Ruby.
- youtube_it An object-oriented Ruby wrapper for the YouTube GData API
- flickraw Flickraw is a library to access flickr api
- f00px Official 500px api ruby gem
- rspotify Ruby wrapper for the Spotify Web API
URL Manipulation
Section titled “URL Manipulation”Libraries for parsing URLs.
Libraries for manipulating video and GIFs.
- streamio-ffmpeg Simple yet powerful ruby FFmpeg wrapper for reading metadata and transcoding movies
Web Content Extracting
Section titled “Web Content Extracting”Libraries for extracting web contents.
Web Crawling
Section titled “Web Crawling”Libraries for scraping websites.
- upton A batteries-included framework for easy web-scraping
- metainspector
Web Frameworks
Section titled “Web Frameworks”Web development frameworks.
- Ruby On Rails - Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity
- Roda - Modular, scalable Ruby framework. Extremely fast, extremely efficient.
- Hanami - (formerly Lotus) A complete full-stack application framework that is simple, fast and lightweight. Designed for scale.
- Sinatra - Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.
- Padrino - The Godfather of Sinatra provides a full-stack agnostic framework on top of Sinatra
- Cramp - Cramp is a fully asynchronous real-time web application framework in Ruby
- Cuba - Cuba is a microframework for web development originally inspired by Rum, a tiny but powerful mapper for Rack applications.
- Pakyow - Pakyow is an open-source framework for the modern web. Build working software faster with a development process that remains friendly to both designers and developers. It’s built for getting along.
- Hyperstack - A complete Isomorphic Ruby Framework using React, Opal and Rails
Web Servers
Section titled “Web Servers”App server interface
- puma A simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications.
- thin A thin and fast web server
- trinidad Run Rails or Rack applications within an embedded Apache Tomcat container.
- unicorn An HTTP server for Rack applications designed to only serve fast clients.
- passenger A modern web server and application server for Ruby, Python, and Node.js.
- pow Pow treats files and directories as ruby objects giving you more power and flexibility.
- goliath is a non-blocking Ruby web server framework.
WebSocket
Section titled “WebSocket”Libraries for woking with WebSocket.
- Faye - Simple pub/sub messaging for the web
- websocket-rails - Plug and play websocket support for ruby on rails.
Miscellaneous
Section titled “Miscellaneous”Useful libraries or tools that don’t fit in the categories above.
- packetfu A mid-level packet manipulation library for Ruby.
- chatterbot A straightforward ruby-based Twitter Bot Framework, using OAuth to authenticate
- sneakers A fast background processing framework for Ruby and RabbitMQ
- ransack Object-based searching.
- cinch The IRC Bot Building Framework
- pry An IRB alternative and runtime developer console
- rib A lightweight and extensible IRB replacement
- jazz_hands Pry-based enhancements for the default Rails 3 and 4 consoles
- awesome_print A Ruby library that pretty prints Ruby objects in full color exposing their internal structure with proper indentation.
- friendly_id Slugging and permalink plugins for ActiveRecord
- backup An elegant DSL in Ruby for performing backups on UNIX-like systems
- kss Documenting CSS and generating styleguides
- AASM - A library for adding finite state machines to Ruby classes
- JsonCompare - Returns the difference between two JSON files
- blankable - Adds blank slates to index view in Rails
- tcmb_currency - T.C.M.B. currencies for Money Gem
- enumerize - Enumerated attributes with I18n and ActiveRecord/Mongoid support
- lol_dba - lol_dba is a small package of rake tasks that scan your application models and displays a list of columns that probably should be indexed.
- annotate-models - Annotate ActiveRecord models
- fast_attributes - FastAttributes adds attributes with their types to the class
- Github Changelog Generator — automatically generate change log from your tags, issues, labels and pull requests on GitHub.
- Letter Opener — Preview email in the default browser instead of sending it.
- Auto HTML — Transforming URLs to appropriate resource (image, link, YouTube, Vimeo video,…).
- OctoLinker - Navigate through projects on GitHub.com efficiently with the OctoLinker browser extension.
- BetterDocs - Documentation with collection practices in ruby. Good for new ruby developers and beginners.
Editor Plugins
Section titled “Editor Plugins”Plugins for various editors.
Resources
Section titled “Resources”Where to discover things (libraries, news e.g) about Ruby.
- The Ruby Toolbox
- RubyGems
- RubyDaily - Community driven news
- Ruby Weekly - A free, once–weekly e-mail round-up of Ruby news and articles.
- Ruby5 - The latest news in the Ruby and Rails community
- RubyFlow - Ruby Programming Community Link Blog
- Ruby Curated Resources
People to Follow
Section titled “People to Follow”People in Ruby World
- Yukihiro “Matz” Matsumoto - Creator of Ruby lang
- David Heinemeier Hansson - Creator of Rails framework
- Koichi Sasada - Ruby core committer and the developer of YARV
- Aaron Patterson - Committer to Nokogiri, Ruby, and Ruby on Rails
- Avdi Grimm - Host of Ruby Tapas webcasts
- Aman Gupta- Ruby core committer
Other Awesome Lists
Section titled “Other Awesome Lists”Other amazingly awesome lists can be found in the awesome-awesomeness list.