Awesome Lists

awesome-ruby

by markets

awesome listpushed almost 2 years ago

💎 A collection of awesome Ruby libraries, tools, frameworks and software

AI summary

Ruby toolkit

A curated collection of Ruby libraries and tools for building modern applications and web apps.

stars
13.6K
forks
1.7K
watching
493
awesome lists
18
entries
950
View on GitHubawesome-ruby.com

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/markets/awesome-ruby/links.svg)](https://awesome.facts.dev/awesome/markets/awesome-ruby)
HTML
<a href="https://awesome.facts.dev/awesome/markets/awesome-ruby"><img src="https://awesome.facts.dev/shield/markets/awesome-ruby/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/markets/awesome-ruby/links.svg

What's in the list

950 links in 138 sections, with live GitHub stats.activeno commit in 2y

Admin Interface

  • ActiveAdmin

    A Ruby on Rails framework for creating elegant backends for website administration

  • ActiveScaffold

    ActiveScaffold provides quick and powerful user interfaces for CRUD (create, read, update, delete) operations for Rails applications. It's excellent for generating admin interfaces, managing Data-Heavy Applications, creating Widgets or for quick prototyping. ActiveScaffold is completly customizable and offers a bunch of additional features including searching, pagination, layout control and overrides of fields, forms and templates

  • Administrate

    A Rails engine that helps you put together a super-flexible admin dashboard, by Thoughtbot

  • Avo Admin for Rails

    Avo is the modern approach to building an advanced admin panel that can be used by the entire organization. It has all the tools an admin panel needs and more. We have carefully made sure that you have all the escape hatches you need to ensure you can build your next admin panel for Ruby on Rails incredibly fast and easily

  • bhf

    A simple to use Rails-Engine-Gem that offers an admin interface for trusted user

  • Hot Glue

    Hot Glue takes a different approach to building both admin and user dashboards. It is a code generation tool like the Rails scaffold generator but with significantly more features. Instead of providing a lot of configuration options, Hot Glue can generate your code. Good for lists & CRUD views for both admin and user-facing dashboards

  • MotorAdmin

    A low-code Admin panel and Business Intelligence Rails engine. No DSL - configurable from the UI

  • RailsAdmin

    A Rails engine that provides an easy-to-use interface for managing your data

  • Trestle

    A modern, responsive admin framework for Rails. Build a back-end in minutes that will grow with the needs of your application

Analytics

  • ActiveAnalytics

    First-party, privacy-focused traffic analytics for Ruby on Rails applications

  • Ahoy

    A solid foundation to track visits and events in Ruby, JavaScript, and native apps

  • Impressionist

    Rails Plugin that tracks impressions and page views

  • Legato

    Model analytics reports and queries against the official Google Analytics Reporting API

  • Rack::Tracker

    Rack middleware that can be hooked up to multiple services and exposing them in a unified fashion

  • Staccato

    Track analytics into the official Google Analytics Collection API

API Builder and Discovery

  • ActiveModel::Serializers

    JSON serialization of objects

  • Acts_As_Api

    Easy And Fun, in creating XML/JSON responses in Rails 3,4,5 and 6

  • Alba

    A JSON serializer for Ruby, JRuby and TruffleRuby

  • Blanket

    A dead simple API wrapper

  • Blueprinter

    Simple, Fast, and Declarative Serialization Library for Ruby

  • cache_crispies

    Speedy Rails JSON serialization with built-in caching

  • Crepe

    The thin API stack

  • Grape

    An opinionated micro-framework for creating REST-like APIs in Ruby

  • Her

    an ORM that maps REST resources to Ruby objects. Designed to build applications that are powered by a RESTful API instead of a database

  • jbuilder

    Create JSON structures via a Builder-style DSL

  • jsonapi-rb

    – Efficient and convenient JSON API (de)serialization library

  • jsonapi-serializer

    A fast JSON:API serializer for Ruby Objects

  • JSONAPI::Resources

    JSONAPI::Resources, or "JR", provides a framework for developing a server that complies with the JSON API specification

  • JSONAPI::Utils

    JSONAPI::Utils is built on top of JSONAPI::Resources taking advantage of its resource-driven style and bringing an easy way to build modern JSON APIs with no or less learning curve

  • Jsonite

    A tiny, HAL-compliant JSON presenter for your APIs

  • Pliny

    Opinionated template Sinatra app for writing excellent APIs in Ruby

  • rabl

    General ruby templating with json, bson, xml, plist and msgpack support

  • Roar

    Resource-Oriented Architectures in Ruby

  • Spyke

    Interact with REST services in an ActiveRecord-like manner

  • Version Cake

    An unobtrusive way to version APIs in your Rails app

  • versionist

    A plugin for versioning Rails based RESTful APIs

Assets

  • Asset Sync

    Synchronises Assets between Rails and S3

  • Autoprefixer

    Parse CSS and add vendor prefixes to rules by Can I Use

  • Bourbon

    A Lightweight Sass Tool Set

  • bower-rails

    Bower support for Rails projects

  • Emoji

    Exposes the Phantom Open Emoji library unicode/image assets and APIs for working with them

  • Less Rails

    The dynamic stylesheet language for the Rails asset pipeline

  • Rails Assets

    Bundler to Bower proxy

  • Sass

    Sass makes CSS fun again

  • Shakapacker

    Use Webpack to manage app-like JavaScript modules in Rails. (Official and actively maintained successor to rails/webpacker)

  • Sprockets

    Rack-based asset packaging system

  • Torba

    Bower-less bundler for Sprockets

  • Vite Ruby

    Use Vite.js as a modern assets pipeline in Ruby and Rails apps

Authentication and OAuth

  • API Guard

    JWT authentication solution for Rails APIs

  • Authentication Zero

    An authentication system generator for Rails applications

  • Authlogic

    Authlogic is a clean, simple, and unobtrusive ruby authentication solution

  • Clearance

    Small and simple email & password based authentication for Rails

  • Devise

    A flexible authentication solution for Rails based on Warden

  • JWT

    JSON Web Token implementation in Ruby

  • Monban

    A very simple and extensible user authentication library for rails

  • OmniAuth

    A library that standardizes multi-provider authentication utilizing Rack middleware

  • Rodauth

    Authentication and account management framework for Rack applications

  • Sorcery

    A stripped-down, bare-bones authentication library for Rails

  • warden

    General Rack Authentication Framework

Authentication and OAuth / OAuth:

  • Doorkeeper

    An OAuth2 provider for Rails

  • OAuth2

    A Ruby wrapper for the OAuth 2.0 protocol

  • Rodauth-Oauth

    A rodauth OAuth and OpenID provider plugin

Authorization

  • acl9

    Acl9 is a role-based authorization system that provides a concise DSL for securing your Rails application

  • AccessGranted

    Multi-role and whitelist based authorization gem for Rails

  • ActionPolicy

    Authorization framework for Ruby and Rails applications. Composable, extensible and performant

  • CanCanCan

    Continuation of CanCan, an authorization Gem for Ruby on Rails

  • Consul

    A scope-based authorization solution for Ruby on Rails

  • Petergate

    Easy to use and read action and content based authorizations

  • Pundit

    Minimal authorization through OO design and pure Ruby classes

Automation

  • ActiveWorkflow

    An intelligent process and workflow automation platform based on software agents

  • Danger

    Automate your team's conventions surrounding code review

  • Huginn

    Huginn is a system for building agents that perform automated tasks for you online

  • Neovim

    Ruby bindings for Neovim to make your own neovim editor plugins in Ruby

  • Runbook

    A framework and Ruby DSL for progressive system automation

  • Breadcrumbs on Rails

    A simple Ruby on Rails plugin for creating and managing a breadcrumb navigation for a Rails project

  • Gretel

    A Ruby on Rails plugin that makes it easy yet flexible to create breadcrumbs

  • loaf

    Manages and displays breadcrumb trails in Rails app - lean & mean

  • Simple Navigation

    A ruby gem for creating navigation (html list, link list or breadcrumbs with multiple levels) for your Rails 2, 3 & 4, Sinatra or Padrino

Business logic

  • ActiveInteraction

    Manage application specific business logic

  • Interactor

    Interactor provides a common interface for performing complex interactions in a single request

  • Light Service

    Series of Actions with an emphasis on simplicity

  • Mutations

    Compose your business logic into commands that sanitize and validate input

  • Surrounded

    Encapsulated related objects in a single system to add behavior during runtime. Extensible implementation of DCI

  • Waterfall

    A slice of functional programming to chain ruby services and blocks, thus providing a new approach to flow control

  • wisper

    A micro library providing Ruby objects with Publish-Subscribe capabilities

Caching

  • Action caching for Action Pack

    Action caching for Action Pack

  • Dalli

    A high performance pure Ruby client for accessing memcached servers

  • Garner

    A set of Rack middleware and cache helpers that implement various caching strategies

  • IdentityCache

    A blob level caching solution to plug into ActiveRecord

  • Kashmir

    Kashmir is a Ruby DSL that makes serializing and caching objects a snap

  • Readthis

    High performance, pooled, ActiveSupport compliant caching with Redis

  • Record Cache

    Cache Active Model Records in Rails 3

  • redis-store

    Redis Store provides a full set of stores (Cache, I18n, Session, HTTP Cache) for modern Ruby frameworks like: Ruby on Rails, Sinatra, Rack, Rack::Cache and I18n. It supports object marshalling, timeouts, single or multiple nodes, and namespaces

  • Second Level Cache

    Write-Through and Read-Through caching library for ActiveRecord 4

Captchas and anti-spam

  • ActsAsTextcaptcha

    Protection for Rails models with text-based logic question captchas (from Rob Tuley's textcaptcha.com)

  • Invisible Captcha

    Unobtrusive and flexible spam protection based on the honeypot strategy. It also provides a time-sensitive form submission

  • Rakismet

    Easy Akismet and TypePad AntiSpam integration for Rails

  • reCAPTCHA

    reCaptcha API helpers for ruby apps

  • Voight-Kampff

    A Ruby gem that detects bots, spiders, crawlers and replicants

CLI Builder

  • Clamp

    A command-line application framework

  • cmdparse

    An advanced command line parser supporting nested commands

  • Commander

    The complete solution for Ruby command-line executables

  • dry-cli

    General purpose Command Line Interface (CLI) framework for Ruby

  • GLI

    Git-Like Interface Command Line Parser

  • Main

    A class factory and DSL for generating command line programs real quick

  • Optimist

    A commandline option parser for Ruby that just gets out of your way

  • Rake

    A make-like build utility for Ruby

  • Runfile

    Build command line applications per project with ease. Rake-inspired, Docopt inside

  • Slop

    Simple Lightweight Option Parsing

  • Terrapin

    A small command line library (Formerly Cocaine)

  • Thor

    A toolkit for building powerful command-line interfaces

  • TTY

    Toolbox for developing CLI clients

CLI Utilities

  • Awesome Print

    Pretty print your Ruby objects with style -- in full color and with proper indentation

  • Betty

    Friendly English-like interface for your command line. Don't remember a command? Ask Betty

  • colorize

    Extends String class or add a ColorizedString with methods to set text color, background color and text effects

  • colorls

    Beautifies the command, with color and font-awesome icons

  • formatador

    STDOUT text formatting

  • Paint

    Simple and fast way to set ANSI terminal colors

  • Pastel

    Terminal output styling with intuitive and clean API

  • Ru

    Ruby in your shell

  • Ruby/Progressbar

    The most flexible text progress bar library for Ruby

  • Tabulo

    Plain text table generator with a DRY, column-based API

  • TablePrint

    Slice your data from multiple DB tables into a single CLI view

  • Terminal Table

    Ruby ASCII Table Generator, simple and feature rich

  • Tmuxinator

    Create and manage complex tmux sessions easily

  • Whirly

    A simple, colorful and customizable terminal spinner library for Ruby

Cloud

  • AWS SDK for Ruby

    The official AWS SDK for Ruby

  • browse-everything

    Multi-provider Rails engine providing access to files in cloud storage

  • Fog

    The Ruby cloud services library

  • humidifier

    Programmatically generate and manage AWS CloudFormation templates, stacks, and change sets

CMS

  • Alchemy CMS

    A powerful, userfriendly and flexible Open Source Rails CMS

  • Avo CMS for Rails

    Avo is a very custom Content Management System for Ruby on Rails that saves engineers and teams months of development time. It's designed to use your app's database structure, uses configuration instead of traditional methods, and when configuration isn't enough, it falls back to writing regular Rails code that you're used to

  • Camaleon CMS

    A dynamic and advanced content management system based on Ruby on Rails 4

  • ComfortableMexicanSofa

    Powerful Rails 5.2+ CMS Engine

  • Fae

    Flexible, open source, Rails CMS engine

  • MaglevCMS

    An open source page builder with an sleek UI

  • LocomotiveCMS

    A simple but powerful CMS based on Liquid templates and Mongodb database

  • Publify

    A self hosted Web publishing platform on Rails

  • PushType

    A next generation, open source content management system for Ruby on Rails

  • Radiant

    A no-fluff, open source content management system designed for small teams

  • Refinery CMS

    An open source Ruby on Rails content management system for Rails 5.2+

  • Sitepress

    Manage content files in Rails with the same features you'd expect from static site generators like Jekyll, Middleman, and Bridgetown

  • Spina CMS

    A beautiful CMS for Rails developers

  • Storytime

    Rails 4+ CMS and blogging engine, with a core focus on content

Code Analysis and Metrics

  • Brakeman

    A static analysis security vulnerability scanner for Ruby on Rails applications

  • Coverband

    Rack middleware to help measure production code coverage

  • Fasterer

    Make your Rubies go faster with this command line tool highly inspired by fast-ruby and Sferik's talk at Baruco Conf

  • Flay

    Flay analyzes code for structural similarities. Differences in literal values, variable, class, method names, whitespace, programming style, braces vs do/end, etc are all ignored. Making this totally rad

  • Flog

    Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in

  • fukuzatsu

    Complexity analysis tool with a rich web front-end

  • MetricFu

    A fist full of code metrics

  • Pippi

    A utility for finding suboptimal Ruby class API usage, focused on runtime analysis

  • Pronto

    Quick automated code review of your changes

  • rails_best_practices

    A code metric tool for rails projects

  • Reek

    Code smell detector for Ruby

  • Rubycritic

    A Ruby code quality reporter

  • Scientist

    A Ruby library for carefully refactoring critical paths

  • SimpleCov

    Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites

  • Sorbet

    A static type checker for Ruby

  • Suture

    A Ruby gem that helps you refactor your legacy code

  • Traceroute

    A Rake task gem that helps you find the dead routes and actions for your Rails 3+ app

Code Formatting

  • niceql

    A dependentless SQL and SQL errors formatting and colorizing. ActiveRecord seemless integration

  • prettier

    A prettier plugin for the Ruby language

  • RuboCop

    A static code analyzer, based on the community Ruby style guide

Code Formatting / RuboCop

  • Rubocop Rails

    A RuboCop extension focused on enforcing Rails best practices and coding conventions

  • Rubocop Rspec

    Code style checking for RSpec files

  • Rubocop Performance

    A RuboCop extension focused on code performance checks

Code Formatting

  • Standard

    Ruby Style Guide, with linter & automatic code fixer

Code Highlighting

  • CodeRay

    Fast and easy syntax highlighting for selected languages

  • pygments.rb

    A Ruby wrapper for the Python pygments syntax highlighter

  • Rouge

    A pure Ruby code highlighter that is compatible with Pygments

Code Loaders

  • Zeitwerk

    An efficient and thread-safe Ruby code loader

Coding Style Guides

  • Best-Ruby

    Ruby Tricks, Idiomatic Ruby, Refactoring & Best Practices

  • fast-ruby

    Writing Fast Ruby. Collect Common Ruby idioms

  • Fundamental Ruby

    Fundamental programming ruby with examples. Threads, design patterns, data structures, OOP SOLID principle, algorithms

  • Rails style guide

    Community-driven Rails best practices and style for Rails 3 and 4

  • RSpec style guide

    Better Specs { rspec guidelines with ruby }

  • Ruby Operators

    A webpage showing awesome names for different Ruby operators

  • Ruby style guide

    Community-driven Ruby coding style

Concurrency and Parallelism

  • Concurrent Ruby

    Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns

  • EventMachine

    An event-driven I/O and lightweight concurrency library for Ruby

  • forkoff

    brain-dead simple parallel processing for ruby

  • Parallel

    Run any code in parallel Processes (> use all CPUs) or Threads (> speedup blocking operations). Best suited for map-reduce or e.g. parallel downloads/uploads

  • Polyphony

    Fine-grained concurrency for Ruby

Configuration

  • Chamber

    Surprisingly customizable convention-based approach to managing your app's configuration

  • Configatron

    Simple and feature rich configuration system for Ruby apps

  • Configus

    Helps you easily manage environment specific settings

  • dotenv

    Loads environment variables from

  • Econfig

    Flexible configuration for Rails applications

  • ENVied

    ensure presence and type of your app's ENV-variables

  • Envyable

    The simplest YAML to ENV config loader

  • Figaro

    Simple, Heroku-friendly Rails app configuration using and a single YAML file

  • Global

    Provides accessor methods for your configuration data

  • RailsConfig

    Multi-environment yaml settings for Rails3

  • Sail

    A lightweight Rails engine that brings an admin panel for managing configuration settings on a live Rails app

Core Extensions

  • ActiveSupport

    A collection of utility classes and standard library extensions

  • Addressable

    Addressable is a replacement for the URI implementation that is part of Ruby's standard library. It more closely conforms to RFC 3986, RFC 3987, and RFC 6570 (level 4), providing support for IRIs and URI templates

  • Bitwise

    Fast, memory efficient bitwise operations on large binary strings

  • Finishing Moves

    Small, focused, incredibly useful methods added to core Ruby classes. Includes the endlessly useful

  • Docile

    A tiny library that lets you map a DSL (domain specific language) to your Ruby objects in a snap

  • dry-rb

    dry-rb is a collection of next-generation Ruby libraries, each intended to encapsulate a common task

  • Hamster

    Efficient, immutable, and thread-safe collection classes for Ruby

  • Hanami::Utils

    Lightweight, non-monkey-patch class utilities for Hanami and Ruby app

  • MemoWise

    Memoize any instance/class/module method, including support for frozen objects - rigorously tested and benchmarked on all Rubies - fast performance of memoized reads

  • Ruby Facets

    The premiere collection of general purpose method extensions and standard additions for Ruby

  • Trick Bag

    Assorted Ruby classes and methods to simplify and enhance your code

Core Extensions / Attributes

  • ActiveAttr

    What ActiveModel left out

  • Virtus

    Attributes on Steroids for Plain Old Ruby Objects

  • AttrExtras

    Takes some boilerplate out of Ruby with methods like attr_initialize

Core Extensions / Hash

  • Hashie

    A collection of tools that extend Hashes and make them more useful

Core Extensions / String

  • string_pattern

    Generate strings supplying a simple pattern

Country Data

  • Carmen

    A repository of geographic regions

  • Countries

    All sorts of useful information about every country packaged as pretty little country objects

  • i18n_data

    country/language names and 2-letter-code pairs, in 85 languages, for country/language i18n

  • normalize_country

    Convert country names and codes to a standard, includes a conversion program for XMLs, CSVs and DBs

  • Phonelib

    Ruby gem for phone validation and formatting using Google libphonenumber library data

  • Phony

    Fast international phone number (E164 standard) normalizing, splitting and formatting

  • validates_zipcode

    Postal code / zipcode validation for Rails, supporting 233 country codes

CRM

  • Fat Free CRM

    An open source Ruby on Rails based customer relationship management platform

  • Hitobito

    An open source Ruby on Rails based community management solution

Cryptocurrencies and Blockchains

  • Blockchain Lite

    Build your own blockchains with crypto hashes; revolutionize the world with blockchains, blockchains, blockchains one block at a time

  • Ciri

    Ruby implementation of Ethereum

  • MoneyTree

    A Ruby implementation of Bitcoin HD Wallets (Hierarchical Deterministic) BIP32

  • Peatio

    Most Advanced Cryptocurrency open-source assets exchange

Dashboards

  • Blazer

    Simple data viewer using only SQL. Output to table, chart, and maps

  • Smashing

    Smashing is a Sinatra based framework that lets you build beautiful dashboards. This project is the maintained spiritual successor to the Dashing framework

  • Dashing-Rails

    The exceptionally handsome dashboard framework for Rails

Data Processing and ETL

  • attr-gather

    A gem for creating workflows that "enhance" entities with extra attributes. At a high level, attr-gather provides a process to fetch information from many data sources (such as third party APIs, legacy databases, etc.) in a fully parallelized fashion

  • CSV Reader

    A modern tabular data (line-by-line records) reader supports "classic" CSV but also CSV Numerics, , , tab, space or fixed width fields (FWF) and many more flavors and dialects

  • Kiba

    A lightweight data processing / ETL framework for Ruby

  • Multiwoven

    The open-source reverse ETL, data activation platform developed using Ruby and Ruby on Rails

  • ruby-stemmer

    It Provides Snowball algorithm for stemming purposes

Data Visualization

  • Chartkick

    Create beautiful Javascript charts with one line of Ruby

  • GeoPattern

    Create beautiful generative geometric background images from a string

  • LazyHighCharts

    A simple and extremely flexible way to use HighCharts from ruby code. Tested on Ruby on Rails, Sinatra and Nanoc, but it should work with others too

  • ApexCharts.rb

    Awesome charts for your ruby app. Works on any ruby app, including Rails app. It even works on plain HTML+ERB files

  • RailRoady

    Ruby on Rails 3/4 model and controller UML class diagram generator

  • Rails Erd

    Generate Entity-Relationship Diagrams for Rails applications

  • Ruby/GraphViz

    Ruby interface to the GraphViz graphing tool

Database Drivers

  • Cassandra Driver

    A pure ruby driver for Apache Cassandra with asynchronous io and configurable load balancing, reconnection and retry policies

  • mongo-ruby-driver

    MongoDB Ruby driver

  • mysql2

    A modern, simple and very fast Mysql library for Ruby (binding to libmysql)

  • Neography

    A thin Ruby wrapper to the Neo4j Rest API

  • Redic

    Lightweight Redis Client

  • redis-rb

    A Ruby client that tries to match Redis' API one-to-one, while still providing an idiomatic interface

  • ruby-pg

    Ruby interface to PostgreSQL 8.3 and later

  • SQLite3

    Ruby bindings for the SQLite3 embedded database

  • SQL Server

    The SQL Server adapter for ActiveRecord

  • TinyTDS

    FreeTDS bindings for Ruby using DB-Library

  • Trilogy

    A performance-oriented C library for MySQL-compatible databases

Database Tools

  • connection_pool

    Generic connection pooling for Ruby, that can be used with anything, e.g. Redis, Dalli, etc

  • Database Cleaner

    Database Cleaner is a set of strategies for cleaning your database in Ruby

  • Database Consistency

    An easy way to check that application constraints and database constraints are in sync

  • Foreigner

    Adds foreign key helpers to migrations and correctly dumps foreign keys to schema.rb

  • Large Hadron Migrator

    Online MySQL schema migrations without locking the table

  • Lol DBA

    Scan your models and displays a list of columns that probably should be indexed

  • Online Migrations

    Catch unsafe PostgreSQL migrations in development and run them easier in production

  • Polo

    Creates sample database snapshots to work with real world data in development

  • PgHero

    Postgres insights made easy

  • Rails DB

    Database Viewer and SQL Query Runner

  • Rein

    Database constraints made easy for ActiveRecord

  • Scenic

    Versioned database views for Rails

  • SchemaPlus

    SchemaPlus provides a collection of enhancements and extensions to ActiveRecord

  • SecondBase

    Seamless second database integration for Rails. SecondBase provides support for Rails to manage dual databases by extending ActiveRecord tasks that create, migrate, and test your application

  • Seedbank

    Seedbank allows you to structure your Rails seed data instead of having it all dumped into one large file

  • Seed dump

    Rails 4 task to dump (parts) of your database to db/seeds.rb

  • Seed Fu

    Advanced seed data handling for Rails

  • Standby

    Read from standby databases for ActiveRecord (formerly Slavery)

  • Strong Migrations

    Catch unsafe migrations in development

  • Upsert

    Upsert on MySQL, PostgreSQL, and SQLite3. Transparently creates functions (UDF) for MySQL and PostgreSQL; on SQLite3, uses INSERT OR IGNORE

Date and Time Processing

  • biz

    Time calculations using business hours

  • business_time

    Support for doing time math in business hours and days

  • ByStar

    Find ActiveRecord objects by year, month, fortnight, week and more!

  • Chronic

    A natural language date/time parser written in pure Ruby

  • date_range_formatter

    The simple tool to make work with date ranges in Ruby more enjoyable

  • groupdate

    The simplest way to group temporal data in ActiveRecord, arrays and hashes

  • holidays

    A collection of Ruby methods to deal with statutory and other holidays

  • ice_cube

    A date recurrence library which allows easy creation of recurrence rules and fast querying

  • local_time

    Rails Engine for cache-friendly, client-side local time

  • montrose

    a simple library for expressing, serializing, and enumerating recurring events in Ruby

  • stamp

    Format dates and times based on human-friendly examples, not arcane strftime directives

  • time_diff

    Calculates the difference between two time

  • timezone

    Accurate current and historical timezones and transformations, with support for Geonames and Google latitude - longitude timezone lookups

  • TZinfo

    Provides daylight savings aware transformations between times in different timezones

  • validates_timeliness

    Date and time validation plugin for ActiveModel and Rails

  • working_hours

    A modern ruby gem allowing to do time calculation with working hours

  • yymmdd

    Tiny DSL for idiomatic date parsing and formatting

Debugging Tools

  • Byebug

    A simple to use, feature rich debugger for Ruby 2

  • did_you_mean

    Adds class, method & attribute suggestions to error messages

  • Pry Byebug

    Pry navigation commands via byebug

  • pry-rails

    Avoid repeating yourself, use pry-rails instead of copying the initializer to every rails project. This is a small gem which causes rails console to open pry. It therefore depends on pry

  • Seeing Is Believing

    Displays the results of every line of code in your file

  • tapping_device

    A tool that allows you to inspect your program from an Object's perspective

  • Xray

    A development tool that reveals your UI's bones

Decorators

  • Draper

    Draper adds an object-oriented layer of presentation logic to your Rails application

  • Decent Exposure

    A helper for creating declarative interfaces in controllers

  • Responders

    A set of Rails responders to dry up your application

  • ShowFor

    Quickly show a model information with I18n features. Like form_for for displaying model data

DevOps Tools

  • Backup

    Provides an elegant DSL in Ruby for performing backups on UNIX-like systems

  • BOSH

    Cloud Foundry BOSH is an open source tool chain for release engineering, deployment and lifecycle management of large scale distributed services

  • Capistrano

    A remote server automation and deployment tool written in Ruby

  • Centurion

    A mass deployment tool for Docker fleets

  • Chef

    A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure

  • Einhorn

    Einhorn will open one or more shared sockets and run multiple copies of your process. You can seamlessly reload your code, dynamically reconfigure Einhorn, and more

  • Itamae

    Simple and lightweight configuration management tool inspired by Chef

  • Kanrisuru

    Manage remote infrastructure in Ruby

  • Lita

    ChatOps for Ruby: A pluggable chat bot framework usable with any chat service

  • Logstash

    Logs/event transport, processing, management, search

  • Kamal

    Kamal offers zero-downtime deploys, rolling restarts, asset bridging, remote builds, accessory service management, and everything else you need to deploy and manage your web app in production with Docker

  • Mina

    Really fast deployer and server automation tool

  • Puppet

    An automated administrative engine for your Linux, Unix, and Windows systems, performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification

  • Rubber

    The rubber plugin enables relatively complex multi-instance deployments of RubyOnRails applications to Amazon's Elastic Compute Cloud (EC2)

  • SSHKey

    SSH private and public key generator in pure Ruby (RSA & DSA)

  • Sunzi

    Server provisioning utility for minimalists

  • Ruby-LXC

    Native ruby binding for Linux containers

  • Vagrant

    Create and configure lightweight, reproducible, and portable development environments

Diff

  • Diffy

    Easy Diffing With Ruby

  • gemdiff

    Find source repositories for gems. Open, compare, and update outdated gem versions

  • JsonCompare

    Returns the difference between two JSON files

Discover

  • Awesome Ruby @LibHunt

    Your go-to Ruby Toolbox. The Awesome Ruby collection + ordering by popularity, additional metadata and comparisons

  • GitHub Trending

    Find what repositories the GitHub community is most excited about today

  • Open Source Rails

    A gallery of the best open source rack and Ruby on Rails web applications

  • Ruby Bookmarks

    Ruby and Ruby on Rails bookmarks collection

  • RubyDaily

    Community driven news

  • RubyFlow

    Ruby Programming Community Link Blog

  • Ruby Land

    A well maintained Ruby/Rails aggregator that contains news, opinions, tutorials, and more

  • Ruby Rogues

    Weekly panel discussion about programming, primarily in Ruby

  • Ruby Weekly

    A free, once–weekly e-mail round-up of Ruby news and articles

  • The Ruby Bibliography

    Research papers about Ruby

  • The Ruby Toolbox

    A comprehensive catalog of Ruby and Rails plug-ins, gems, tools and resources for Ruby developers with popularity ratings based on GitHub watchers and Gem downloads

Documentation

  • AnnotateRb

    Adds database schema annotations for your ActiveRecord models as text comments as well as routes. An active and maintained hard fork of Annotate

  • Apipie

    Rails API documentation and display tool using Ruby syntax

  • Asciidoctor

    A fast, Ruby-based text processor & publishing toolchain for converting AsciiDoc to HTML5, DocBook, EPUB3, PDF & more

  • Documentation

    A Rails engine to provide the ability to add documentation to a Rails application

  • fitting

    Library add improve test log for RSpec and WebMock, validate its according to API Blueprint and Open API, show the documentation coverage with log

  • GitHub Changelog Generator

    Automatically generate change log from your tags, issues, labels and pull requests on GitHub

  • Gollum

    A simple, Git-powered wiki with a sweet API and local frontend

  • grape-swagger

    Add swagger compliant documentation to your Grape API

  • Hanna

    An RDoc formatter built with simplicity, beauty and ease of browsing in mind

  • Hologram

    A markdown based documentation system for style guides. It parses comments in your CSS and helps you turn them into a beautiful style guide

  • Inch

    Inch is a documentation measurement and evalutation tool for Ruby code, based on YARD

  • RDoc

    RDoc produces HTML and command-line documentation for Ruby projects

  • rspec_api_documentation

    Automatically generate API documentation from RSpec

  • YARD

    YARD enables the user to generate consistent, usable documentation that can be exported to a number of formats very easily

E-Commerce and Payments

  • Active Merchant

    A simple payment abstraction library extracted from Shopify

  • Braintree

    Braintree Ruby bindings

  • Conekta

    Conekta Ruby bindings

  • credit_card_validations

    A ruby gem for validating credit card numbers, generating valid numbers, Luhn checks

  • Paypal Merchant SDK

    Official Paypal Merchant SDK for Ruby

  • ROR Ecommerce

    A Rails e-commerce platform

  • Solidus

    An open source, eCommerce application for high volume retailers

  • Spree

    Spree is a complete open source e-commerce solution for Ruby on Rails

  • SquareConnect

    Square's SDK for payments and other Square APIs

  • stripe-ruby

    Stripe Ruby bindings

  • Workarea

    An extensible, high-performance eCommerce platform depended on by some of the world's top retailers

Ebook

  • Bookshop

    Bookshop is a an open-source agile book development and publishing framework for authors, editors

  • Gepub

    A generic EPUB library for Ruby : supports EPUB 3

  • Mobi

    A Ruby way to read MOBI format metadata

  • Review

    Re:VIEW is flexible document format/conversion system

Email

  • Ahoy Email

    Analytics and tracking for e-mails

  • Gibbon

    API wrapper for the Mailchimp e-mail marketing platform

  • Griddler

    Simplify receiving email in Rails

  • Incoming

    Incoming! helps you receive email in your Rack apps

  • LetterOpener

    Preview mail in the browser instead of sending

  • Mail

    A Really Ruby Mail Library

  • MailCatcher

    Catches mail and serves it through a dream

  • MailForm

    Send e-mail straight from forms in Rails with I18n, validations, attachments and request information

  • Maily

    A Rails Engine to manage, test and navigate through all your email templates of your app, being able to preview them directly in your browser

  • MidiSmtpServer

    The highly customizable ruby SMTP-Service library with builtin support for AUTH and SSL/STARTTLS, 8BITMIME and SMTPUTF8, IPv4 and IPv6 and more

  • Pony

    The express way to send mail from Ruby

  • Postal

    A fully featured open source mail delivery platform for incoming & outgoing e-mail

  • premailer-rails

    CSS styled emails without the hassle

  • Roadie

    Roadie tries to make sending HTML emails a little less painful by inlining stylesheets and rewriting relative URLs for you inside your emails

  • Sup

    A curses threads-with-tags style email client

  • Truemail

    Configurable framework agnostic plain Ruby email validator/verifier. Verify email via Regex, DNS and SMTP. Be sure that email address valid and exists

Encryption

  • bcrypt-ruby

    bcrypt-ruby is a Ruby binding for the OpenBSD bcrypt() password hashing algorithm

  • RbNaCl

    Ruby binding to the Networking and Cryptography (NaCl) library

  • Sym

    A time-saving symmetric encryption gem based on OpenSSL that uses 256bit (password-encrypted) keys. Read the key from STDIN, a file, ENV or, on a Mac: OS-X Keychain

  • Symmetric Encryption

    Transparently encrypt ActiveRecord, Mongoid, and MongoMapper attributes. Encrypt passwords in configuration files. Encrypt entire files at rest

  • Themis

    crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms

Environment Management

  • chruby

    Change your current Ruby. No shims, no crazy options or features, ~90 LOC

  • fry

    Simple ruby version manager for fish

  • gem_home

    A tool for changing your $GEM_HOME

  • rbenv

    Use rbenv to pick a Ruby version for your application and guarantee that your development environment matches production

  • ruby-build

    Compile and install Ruby

  • ruby-install

    Installs Ruby, JRuby, Rubinius, MagLev or MRuby

  • RVM

    RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems

  • Tokaido

    Ruby, Rails, SQLite and Redis encapsulated in a single drag-and-drop OS X app, designed to make installing a working RoR environment easy for beginners

  • Uru

    Uru is a lightweight, multi-platform command line tool that helps you use the multiple rubies on your 32/64-bit Linux, OS X, or Windows systems

Error Handling

  • Airbrake

    The official Airbrake library for Ruby on Rails (and other Rack based frameworks)

  • Better Errors

    Better error page for Rack apps

  • Bugsnag

    Error monitoring for Rails, Sinatra, Rack, and plain Ruby apps

  • Errbit

    The open source, self-hosted error catcher

  • Exception Handler

    Custom error pages

  • Exception Notification

    A set of notifiers for sending notifications when errors occur in a Rack/Rails application

  • Honeybadger

    Exception, uptime, and performance monitoring for Ruby

  • Nesty

    Nested exceptions for Ruby

  • Sentry Ruby

    The Ruby client for Sentry

  • Rollbar

    Easy and powerful exception and error tracking for your applications

Event Sourcing

  • Eventide Project

    Pub/sub, event sourcing, and evented autonomous services backed by the message store

  • Rails Event Store (RES)

    A library for publishing, consuming, storing and retrieving events. It's your best companion for going with an event-driven architecture for your Rails application

Feature Flippers and A/B Testing

  • Motorhead

    A Rails Engine framework that helps safe and rapid feature prototyping

  • flipper

    Feature flipping for ANYTHING. Make turning features on/off so easy that everyone does it. Whatever your data store, throughput, or experience

  • Rollout

    Feature flippers

  • Split

    Rack Based AB testing framework

  • Unleash

    Ruby client for Unleash, a powerful feature toggle system that gives you a great overview over all feature toggles across all your applications and services

  • Vanity

    an A/B testing framework for Rails that is datastore agnostic

File Upload

  • attache

    Standalone image and file server to decouple your app from file management concerns

  • CarrierWave

    Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks

  • DragonFly

    A Ruby gem for on-the-fly processing - suitable for image uploading in Rails, Sinatra and much more!

  • PaperClip

    Easy file attachment management for ActiveRecord. Deprecated as of May 14, 2018

  • rack-secure-upload

    Upload files securely

  • Refile

    A modern file upload library for Ruby applications, Refile is an attempt by CarrierWave's original author to fix the design mistakes and overengineering in CarrierWave

  • Shrine

    Toolkit for handling file uploads in Ruby

File System Listener

  • Guard

    A command line tool to easily handle events on file system modifications

  • Guard::LiveReload

    Automatically reload your browser when 'view' files are modified

  • Listen

    The Listen gem listens to file modifications and notifies you about the changes

  • Rerun

    Restarts an app when the filesystem changes. Uses growl and FSEventStream if on OS X

  • Retest

    A simple CLI to watch file changes and run their matching Ruby specs. Works on any ruby projects with no setup

Form Builder

  • Cocoon

    Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms

  • ComfyBootstrapForm

    Rails form builder that makes it easy to create forms with Bootstrap 4 markup

  • Formtastic

    A Rails form builder plugin with semantically rich and accessible markup

  • Rails Bootstrap Forms

    Rails form builder that makes it super easy to create beautiful-looking forms with Twitter Bootstrap 3+

  • Rapidfire

    Making dynamic surveys should be easy!

  • Reform

    Gives you a form object with validations and nested setup of models. It is completely framework-agnostic and doesn't care about your database

  • Simple Form

    Rails forms made easy

Game Development and Graphics

  • Dragon Ruby

    DragonRuby is a zero dependency, cross platform, Ruby runtime built on top of mRuby, libSDL, and LLVM. Write Ruby on any OS and deploy to PC, Mac, Linux, iOS, Android, Raspberry Pi, WASM, Nintendo Switch, Sony Playstation, and Microsoft Xbox

  • Gosu

    A 2D game development library for the Ruby and C++ programming languages

  • Mittsu

    Mittsu makes 3D graphics easier by providing an abstraction over OpenGL, and is based heavily off of THREE.js

  • Ruby 2D

    Create cross-platform 2D applications, games, and visualizations with ease

  • Taylor

    Taylor is a game engine built using mruby and raylib

Gem Generators

  • Gemsmith

    A command line interface for smithing new Ruby gems

  • Hoe

    Hoe is a Rake/RubyGems helper for project Rakefiles

Gem Servers

  • Gemfast

    A drop in replacement for geminabox written in Go

  • Gem in a box

    Really simple rubygem hosting

  • Gemirro

    Gem to automatically make a rubygems mirror

  • Gemstash

    A RubyGems.org cache and private gem server

Geolocation

  • Geocoder

    A complete geocoding solution for Ruby. With Rails it adds geocoding (by street or IP address), reverse geocoding (find street address based on given coordinates), and distance queries

  • geoip

    Searches a GeoIP database for a given host or IP address, and returns information about the country where the IP address is allocated, and the city, ISP and other information

  • Geokit

    Geokit gem provides geocoding and distance/heading calculations

  • Google Maps for Rails

    Enables easy Google map + overlays creation in Ruby apps

  • rgeo

    Geospatial data library. Spatial data types, geometric and spherical calculations, and WKT/WKB serialization

Git Tools

  • ginatra

    A web frontend for Git repositories

  • git-auto-bisect

    Find the commit that broke master

  • git_curate

    Peruse and delete git branches ergonomically

  • git_reflow

    An automated quality control workflow for Agile teams

  • git-spelunk

    Dig through git blame history

  • git-whence

    Find which merge a commit came from

  • Git Lint

    Analyzes Git commits for consistent quality

  • Overcommit

    A fully configurable and extendable Git hook manager

  • Rugged

    Ruby bindings to libgit2

GraphQL

GUI

  • FXRuby

    A Ruby library that provides an interface to the FOX GUI toolkit

  • Glimmer

    Ruby DSL for SWT

  • qtbindings

    Allows the QT Gui toolkit to be used from Ruby

  • Ruby-GNOME

    Ruby language bindings for the GNOME development environment

  • Shoes

    Shoes makes building little graphical programs for Mac, Windows, and Linux super simple

HTML/XML Parsing

  • HappyMapper

    Object to XML mapping library, using Nokogiri

  • HTML::Pipeline

    HTML processing filters and utilities

  • Nokogiri

    An HTML, XML, SAX, and Reader parser with XPath and CSS selector support

  • Nokolexbor

    High-performance HTML5 parser based on Lexbor, with support for both CSS selectors and XPath

  • Oga

    An XML/HTML parser written in Ruby. Oga does not require system libraries such as libxml, making it easier and faster to install on various platforms

  • Ox

    A fast XML parser and Object marshaller

  • ROXML

    Custom mapping and bidirectional marshalling between Ruby and XML using annotation-style class methods, via Nokogiri or LibXML

HTTP Clients and tools

  • Accept Language

    A tiny library for parsing the header from browsers (as defined in )

  • excon

    Usable, fast, simple Ruby HTTP 1.1. It works great as a general HTTP(s) client and is particularly well suited to usage in API clients

  • Faraday

    an HTTP client lib that provides a common interface over many adapters (such as Net::HTTP) and embraces the concept of Rack middleware when processing the request/response cycle

  • Device Detector

    A precise and fast user agent parser and device detector, backed by the largest and most up-to-date user agent database

  • Http Client

    Gives something like the functionality of libwww-perl (LWP) in Ruby

  • HTTP

    The HTTP Gem: a simple Ruby DSL for making HTTP requests

  • HTTPX

    Pure ruby HTTP client, supports HTTP/2 and HTTP/1, concurrent requests, plugin system for extended features (cookies, retries, following redirects, proxy, streaming...)

  • httparty

    Makes http fun again!

  • Http-2

    Pure Ruby implementation of HTTP/2 protocol

  • Patron

    Patron is a Ruby HTTP client library based on libcurl

  • RESTClient

    Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions

  • Savon

    Savon is a SOAP client for the Ruby programming language

  • Sawyer

    Secret user agent of HTTP, built on top of Faraday

  • Sniffer

    – Tool to log and debug outgoing HTTP requests across multiple ruby libraries

  • Typhoeus

    Typhoeus wraps libcurl in order to make fast and reliable requests

Image Processing

  • FastImage

    FastImage finds the size or type of an image given its uri by fetching as little as needed

  • ImageProcessing

    High-level image processing wrapper for libvips and ImageMagick/GraphicsMagick

  • MiniMagick

    A ruby wrapper for ImageMagick or GraphicsMagick command line

  • Phasion

    Ruby wrapper around pHash, the perceptual hash library for detecting duplicate multimedia files

  • PSD.rb

    Parse Photoshop files in Ruby with ease

  • RMagick

    RMagick is an interface between Ruby and ImageMagick

  • ruby-vips

    A binding for the libvips image processing library

  • Skeptick

    Skeptick is an all-purpose DSL for building and running ImageMagick commands

Implementations/Compilers

  • JRuby

    A Java implementation of the Ruby language

  • MRuby

    Lightweight Ruby. Can be linked and embedded in your application

  • Natalie

    Natalie is a Ruby compiler that provides an ahead-of-time compiler using C++ and gcc/clang as the backend

  • Opal

    Ruby to Javascript compiler

  • Rubinius

    An implementation of the Ruby programming language. Rubinius includes a bytecode virtual machine, Ruby syntax parser, bytecode compiler, generational garbage collector, just-in-time (JIT) native machine code compiler, and Ruby Core and Standard libraries

  • TruffleRuby

    A high performance implementation of the Ruby programming language. Built on the GraalVM by Oracle Labs

Internationalization

  • FastGettext

    Ruby internationalization tool with less memory, simple, clean namespace and threadsafe

  • Globalize

    Globalize builds on the I18n API in Ruby on Rails to add model translations to ActiveRecord models

  • i18n-tasks

    Manage missing and unused translations with the awesome power of static analysis

  • i18n

    Ruby Internationalization and localization solution

  • mini_i18n

    Minimalistic, flexible and fast Internationalization library. It supports localization, interpolations, pluralization, fallbacks, nested keys and more

  • rails-i18n

    Repository for collecting Locale data for Rails I18n as well as other interesting, Rails related I18n stuff

  • r18n

    Advanced i18n library for Rails, Sinatra, desktop apps, models, works well with complex languages like Russian

  • Termit

    Translations with speech synthesis in your terminal

  • Tolk

    A web interface for doing i18n translations packaged as a Rails engine

  • twitter-cldr-rb

    Ruby implementation of the ICU (International Components for Unicode) that uses the Common Locale Data Repository to format dates, plurals, and more

IRB

  • Clipboard

    Access to the system clipboard on Linux, MacOS and Windows

  • KatakataIrb

    IRB with Kata(型 Type) completion

  • irbtools

    Improvements for Ruby's IRB

  • Looksee

    A tool for illustrating the ancestry and method lookup path of objects. Handy for exploring unfamiliar codebases

  • Pry

    A powerful alternative to the standard IRB shell for Ruby

  • rib

    A lightweight and extensible IRB replacement

Logging

  • Fluentd

    Fluentd collects events from various data sources and writes them to files, database or other types of storages

  • HttpLog

    Log outgoing HTTP requests

  • Log4r

    Log4r is a comprehensive and flexible logging library for use in Ruby programs

  • Logging

    A flexible logging library for use in Ruby programs based on the design of Java's log4j library

  • Lograge

    An attempt to tame Rails' default policy to log everything

  • Ougai

    A structured logging system that is capable of handling a message, structured data, or an exception easily. It has JSON and human-readable formatters

  • Scrolls

    Simple logging

  • Semantic Logger

    Scalable, next generation enterprise logging for Ruby

  • Syslogger

    A drop-in replacement for the standard Logger Ruby library, that logs to the syslog instead of a log file

  • Yell

    Your Extensible Logging Library

Machine Learning

  • AI4R

    Algorithms covering several Artificial intelligence fields

  • Awesome Machine Learning with Ruby

    A Curated List of Ruby Machine Learning Links and Resources

  • langchain.rb

    Library for building LLM-powered applications in Ruby

  • m2cgen

    A CLI tool to transpile trained classic ML models into a native Ruby code with zero dependencies

  • PredictionIO Ruby SDK

    The PredictionIO Ruby SDK provides a convenient API to quickly record your users' behavior and retrieve personalized predictions for them

  • rb-libsvm

    Ruby language bindings for LIBSVM. SVM is a machine learning and classification algorithm

  • ruby-fann

    Ruby library for interfacing with FANN (Fast Artificial Neural Network)

  • ruby-openai

    OpenAI API + Ruby!

  • rumale

    A machine learning library with interfaces similar to Scikit-Learn

  • TensorFlow

    The end-to-end machine learning platform for Ruby

  • Torch.rb

    Deep learning for Ruby, powered by LibTorch

  • weka

    Machine learning and data mining algorithms for JRuby

Markdown Processors

  • kramdown

    Kramdown is yet-another-markdown-parser but fast, pure Ruby, using a strict syntax definition and supporting several common extensions

  • markdown_helper

    A markdown pre-processor implementing file inclusion and page TOC (table of contents)

  • Maruku

    A pure-Ruby Markdown-superset interpreter

  • Redcarpet

    A fast, safe and extensible Markdown to (X)HTML parser

  • word-to-markdown

    Gem to convert Microsoft Word documents to Markdown

  • ZMediumToMarkdown

    A powerful tool that allows you to effortlessly download and convert your Medium posts to Markdown format

Measurements

  • Measured

    Wrapper objects which encapsulate measurements and their associated units in Ruby

  • Ruby Units

    Provides classes and methods to perform unit math and conversions

Mobile Development

  • dryrun

    Try any Android library on your smartphone directly from the command line

  • fastlane

    Connect all iOS deployment tools into one streamlined workflow

  • PubNub

    Real-time Push Service in the Cloud

  • Ruboto

    A platform for developing full stand-alone apps for Android using the Ruby language and libraries

  • RubyMotion

    A revolutionary toolchain that lets you quickly develop and test full-fledged native iOS and OS X applications for iPhone, iPad, Mac and Android

Money

  • eu_central_bank

    A gem that calculates the exchange rate using published rates from European Central Bank

  • Monetize

    A library for converting various objects into Money objects

  • Money

    A Ruby Library for dealing with money and currency conversion

Music and Sound

  • Coltrane

    A music theory library with a command-line interface

  • Maestro

    A Slack-Powered music bot for Spotify

  • Sonic Pi

    A live coding synth for everyone originally designed to support computing and music lessons

Natural Language Processing

  • Awesome NLP with Ruby

    Awesome List for Practical Natural Language Processing done in Ruby

  • Parslet

    A small Ruby library for constructing parsers in the PEG (Parsing Expression Grammar) fashion

  • pocketsphinx-ruby

    Ruby speech recognition with Pocketsphinx

  • Pragmatic Segmenter

    Pragmatic Segmenter is a rule-based sentence boundary detection gem that works out-of-the-box across many languages

  • Ruby Natural Language Processing Resources

    Collection of links to Ruby Natural Language Processing (NLP) libraries, tools and software

  • ruby-spellchecker

    English spelling and grammar checker that can be used for autocorrection

  • Sentimental

    Simple sentiment analysis with Ruby

  • Text

    A collection of text algorithms including Levenshtein distance, Metaphone, Soundex 2, Porter stemming & White similarity

  • Treat

    Treat is a toolkit for natural language processing and computational linguistics in Ruby

  • Treetop

    PEG (Parsing Expression Grammar) parser

  • Words Counted

    A highly customisable Ruby text analyser and word counter

Networking

  • Dnsruby

    A pure Ruby DNS client library which implements a stub resolver. It aims to comply with all DNS RFCs

  • RubyDNS

    A high-performance DNS server which can be easily integrated into other projects or used as a stand-alone daemon

  • PacketFu

    A library for reading and writing packets to an interface or to a libpcap-formatted file

Notifications

  • Noticed

    ActionMailer-like Notification System for your Ruby on Rails app

  • Ruby Push Notifications

    iOS, Android and Windows Phone Push notifications made easy

  • Rpush

    The push notification service for Ruby which supports Apple Push Notification Service, Google Cloud Messaging, Amazon Device Messaging and Windows Phone Push Notification Service

  • webpush

    Encryption Utilities for Web Push protocol

Optimizations

  • bootsnap

    Boot large Ruby/Rails apps faster

  • fast_blank

    Provides a C-optimized method for determining if a string is blank

  • fast_count

    Quickly get a count estimation for large tables (>99% of accuracy for PostgreSQL)

  • fast_underscore

    Provides a C-optimized method for transforming a string from any capitalization into underscore-separated

  • pluck_in_batches

    A faster alternative to the custom use of with

  • yajl-ruby

    A streaming JSON parsing and encoding library for Ruby (C bindings to yajl)

ORM/ODM

  • ActiveRecord

    Object-relational mapping in Rails

  • Hanami::Model

    A lean Repository-pattern based ORM framework for Hanami and modern Ruby applications

  • Mongoid

    An ODM (Object-Document-Mapper) framework for MongoDB in Ruby

  • MongoModel

    Ruby ODM for interfacing with MongoDB databases

  • Neo4j.rb

    A Neo4j OGM (Object-Graph-Mapper) for use in Ruby on Rails and Rack frameworks heavily inspired by ActiveRecord

  • NoBrainer

    A RethinkDB ORM for Ruby

  • Ohm

    Object-hash mapping library for Redis

  • Redis-Objects

    Redis Objects provides a Rubyish interface to Redis, by mapping Redis data types to Ruby objects, via a thin layer over the redis gem

  • ROM

    Ruby Object Mapper (ROM) is an experimental Ruby library with the goal to provide powerful object mapping capabilities without limiting the full power of your datastore

  • Sequel

    Sequel is a simple, flexible, and powerful SQL database access toolkit for Ruby

ORM/ODM Extensions / Auditing and Versioning

  • active_snapshot

    Simplified snapshots and restoration for ActiveRecord models and associations with a transparent white-box implementation

  • acts_as_archival

    ActiveRecord plugin for atomic object tree archiving

  • ActsAsParanoid

    ActiveRecord plugin allowing you to hide and restore records without actually deleting them

  • Audited

    Audited is an ORM extension for ActiveRecord & MongoMapper that logs all changes to your models

  • Destroyed At

    Allows you to "destroy" an object without deleting the record or associated records

  • Discard

    A simple ActiveRecord mixin to add conventions for flagging records as discarded

  • Logidze

    Database changes log for Rails

  • marginalia

    Attach comments to your ActiveRecord queries. By default, it adds the application, controller, and action names as a comment at the end of each query

  • mongoid-history

    Multi-user non-linear history tracking, auditing, undo, redo for mongoid

  • PaperTrail

    Track changes to your ActiveRecord models' data for auditing or versioning

  • Paranoia

    A re-implementation of acts_as_paranoid for Rails 3 and 4, using much, much, much less code

  • PermenantRecords

    Soft-delete your ActiveRecord records, like an explicit version of ActsAsParanoid

ORM/ODM Extensions / Bit array

  • ActiveFlag

    Store up to 64 multiple flags in a single integer column with ActiveRecord

  • Bitfields

    Save migrations and columns by storing multiple booleans in a single integer

ORM/ODM Extensions / Import

  • ActiveRecord Import

    a library for bulk inserting data using ActiveRecord

  • bulk_insert

    A little ActiveRecord extension for helping to insert lots of rows in a single insert statement

  • data_miner

    Download, pull out of a ZIP/TAR/GZ/BZ2 archive, parse, correct, and import XLS, ODS, XML, CSV, HTML, etc. into your ActiveRecord models

  • ferry

    A ruby gem for easy data transfer

ORM/ODM Extensions / Misc

  • arel_extensions

    Extending Arel: more "rubyish" syntax, functions for strings, dates, math... and add native extensions for some DBs

  • ActiveRecord::Turntable

    A database sharding extension for ActiveRecord

  • ActiveValidators

    An exhaustive collection of off-the-shelf and tested ActiveModel/ActiveRecord validations

  • DeepPluck

    Allow you to pluck attributes from nested associations without loading a bunch of records

  • Enumerize

    Enumerated attributes with I18n and ActiveRecord/Mongoid/MongoMapper support

  • Goldiloader

    Automatic ActiveRecord eager loading

  • Rating

    A true Bayesian rating system with scope and cache enabled

ORM/ODM Extensions / Multi-tenancy

  • Acts As Tennant

    Add multi-tenancy to a Rails app through a shared database strategy

  • Apartment

    Multi-tenancy for Rails and ActiveRecord

  • Milia

    Non-invasive multi-tenancy for Rails which supports Devise authentication out of the box

ORM/ODM Extensions / Social

  • Merit

    Adds reputation behavior to Rails apps in the form of Badges, Points, and Rankings for ActiveRecord or Mongoid

  • PublicActivity

    Provides easy activity tracking for your ActiveRecord, Mongoid 3 and MongoMapper models in Rails 3 and 4. Similar to Github's Public Activity

  • Simple Feed

    Fast and highly scalable read-optimized social activity feed library in pure Ruby, backed by Redis

  • Unread

    Manage read/unread status of ActiveRecord objects - and it's fast

ORM/ODM Extensions / Sorting

  • ActsAsList

    Provides the capabilities for sorting and reordering a number of objects in a list

  • positioning

    Simple positioning for Active Record models. Supports multiple lists per model and relative positioning

  • ranked-model

    A modern row sorting library for ActiveRecord. It uses ARel aggressively and is better optimized than most other libraries

ORM/ODM Extensions / Tree

  • ActsAsTree

    Extends ActiveRecord to add simple support for organizing items into parent–children relationships

  • ActsAsRecursiveTree

    ActsAsTree but recursive

  • Ancestry

    Organise ActiveRecord model into a tree structure using a variation on the materialised path pattern

  • Awesome Nested Set

    Awesome Nested Set is an implementation of the nested set pattern for ActiveRecord models

  • Closure Tree

    Easily and efficiently make your ActiveRecord models support hierarchies using a Closure Table

  • Mongoid Tree

    A tree structure for Mongoid documents using the materialized path pattern

Package Management / Gems

  • Bundler

    Manage your application's gem dependencies with less pain

  • RubyGems

    Community's gem hosting service

  • Cloudsmith

    A fully managed package management SaaS with support for Rubygems (and many others)

Package Management / Packages and Applications

  • Berkshelf

    A Chef Cookbook manager

  • CocoaPods

    The Objective-C dependency manager

  • fpm

    Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity

  • Linuxbrew

    A fork of Homebrew for Linux

  • Homebrew-cask

    A CLI workflow for the administration of Mac applications distributed as binaries

  • Homebrew

    The missing package manager for OS X

  • Traveling Ruby

    Traveling Ruby lets you create self-contained Ruby app packages for Linux and OS X

Pagination

  • activerecord_cursor_paginate

    Cursor-based pagination for ActiveRecord

  • Kaminari

    A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for modern web app frameworks and ORMs

  • order_query

    A keyset pagination library to find the next or previous record(s) relative to the current one efficiently, e.g. for infinite scroll

  • Pagy

    Pagy is the ultimate pagination gem that outperforms the others in each and every benchmark and comparison. More details can be found on

  • will_paginate

    A pagination library that integrates with Ruby on Rails, Sinatra, Merb, DataMapper and Sequel

PDF

  • CombinePDF

    A Pure ruby library to merge or stump PDF files, number pages and more

  • Grim

    Extract PDF pages as images and text. A simple Ruby API to ghostscript, imagemagick, and pdftotext

  • HexaPDF

    A Versatile PDF Creation and Manipulation Library For Ruby

  • InvoicePrinter

    Super simple PDF invoicing in Ruby (built on top of Prawn)

  • Kitabu

    A framework for creating e-books from Markdown/Textile text markup using Ruby

  • Pdfkit

    HTML+CSS to PDF using wkhtmltopdf

  • Prawn

    Fast, Nimble PDF Writer for Ruby

  • RGhost

    RGhost is a document creation and conversion API

  • Squid

    Squid · A Ruby library to plot charts in PDF files

  • Wicked Pdf

    PDF generator (from HTML) plugin for Ruby on Rails

Performance Monitoring

  • Instrumental

    Measure your application in real time with

  • New Relic

    Find and fix Ruby errors with New Relic application monitoring and troubleshooting

  • RoRvsWild

    Performances and exceptions monitoring for Rails developers

  • Scout

    Scout Ruby Application Monitoring Agent

  • Skylight

    A smart profiler for your Rails apps that visualizes request performance

Presentation Programs

  • Slide Show (S9)

    Write your slides / talks / presentations in plain text with markdown formatting conventions and generate (static) web pages; template packs incl. deck.js, impress.js, reveal.js, shower, s6, s5 and more

Process Management and Monitoring

  • Bluepill

    Simple process monitoring tool

  • Eye

    Process monitoring tool. Inspired from Bluepill and God

  • Foreman

    Manage Procfile-based applications

  • God

    An easy to configure, easy to extend monitoring framework written in Ruby

  • Health Monitor Rails

    A mountable Rails plug-in to check health of services (Database, Cache, Sidekiq, Redis, e.t.c.) used by the Rails app

  • Procodile

    Run processes in the background (and foreground) on Mac & Linux from a Procfile

  • RedisWebManager

    Web interface that allows you to manage easily your Redis instance (see keys, memory used, connected client, etc...)

Processes

  • childprocess

    Cross-platform ruby library for managing child processes

  • posix-spawn

    Fast Process::spawn for Rubys >= 1.8.7 based on the posix_spawn() system interfaces

Profiler and Optimization

  • batch-loader

    – A generic lazy batching mechanism to avoid N+1 DB queries, HTTP queries, etc

  • benchmark-ips

    Provides iteration per second benchmarking for Ruby

  • bullet

    Help to kill N+1 queries and unused eager loading

  • Derailed Benchmarks

    A series of things you can use to benchmark any Rack based app

  • Peek

    Visual status bar showing Rails performance

  • rack-mini-profiler

    Profiler for your development and production Ruby rack apps

  • Rbkit

    profiler for Ruby. With a GUI

  • rbspy

    Sampling profiler for any Ruby process

  • ruby-prof

    A code profiler for MRI rubies

  • stackprof

    A sampling call-stack profiler for ruby 2.1+

  • test-prof

    Ruby Tests Profiling Toolbox

QR

  • RQRCode

    RQRCode is a library for creating and rendering QR codes into various formats

Queues and Messaging

  • Backburner

    Backburner is a beanstalkd-powered job queue that can handle a very high volume of jobs

  • Bunny

    Bunny is a popular, easy to use, well-maintained Ruby client for RabbitMQ (3.3+)

  • Delayed::Job

    Database backed asynchronous priority queue

  • GoodJob

    GoodJob is a multithreaded, Postgres-based, ActiveJob backend for Ruby on Rails

  • Gush

    A parallel runner for complex workflows using only Redis and Sidekiq

  • JobIteration

    An ActiveJob extension to make long-running jobs interruptible and resumable

  • Karafka

    Framework used to simplify Apache Kafka (a distributed streaming platform) based Ruby applications development

  • Lowkiq

    Ordered processing of background jobs for cases where Sidekiq can't help

  • March Hare

    Idiomatic, fast and well-maintained JRuby client for RabbitMQ

  • Resque

    A Redis-backed Ruby library for creating background jobs

  • Que

    A Ruby job queue that uses PostgreSQL's advisory locks for speed and reliability

  • RocketJob

    Enterprise Batch Processing System focused on performance, scalability, reliability, and visibility of every job in the system. Outgrown existing solutions? Or, start small and scale up later

  • Shoryuken

    A super efficient AWS SQS thread based message processor for Ruby

  • Sidekiq

    A full-featured background processing framework for Ruby. It aims to be simple to integrate with any modern Rails application and much higher performance than other existing solutions

  • SidekiqIteration

    A Sidekiq extension to make long-running jobs interruptible and resumable

  • Sneakers

    A fast background processing framework for Ruby and RabbitMQ

  • Sucker Punch

    A single process background processing library using Celluloid. Aimed to be Sidekiq's little brother

Rails Application Generators

  • Bootstrappers

    Bootstrappers generates a base Rails app using Bootstrap template and other goodies

  • Hobo

    The web app builder for Rails

  • orats

    Opinionated rails application templates

  • Rails Composer

    The Rails generator on steroids for starter apps

  • Raygun

    Builds applications with the common customization stuff already done

  • Suspenders

    Suspenders is the base Rails application used at thoughtbot

Robotics

  • Arli

    Arli is the CLI tool for searching, installing, and packaging Arduino libraries with a project using a YAML-based Arlifile. It's a "Bundler for Arduino Development"

  • Artoo

    Next generation robotics framework with support for different platforms: Arduino, Leap Motion, Pebble, Raspberry Pi, etc

RSS

  • Feed normalizer

    Extensible Ruby wrapper for Atom and RSS parsers

  • Feedjira

    A feed fetching and parsing library

  • feedparser

    A feed parser and normalizer (Atom, RSS, JSON, etc) library

  • Simple rss

    A simple, flexible, extensible, and liberal RSS and Atom reader

  • Stringer

    A self-hosted, anti-social RSS reader

Serverless

  • FaaStRuby

    Serverless Software Development Platform for Ruby and Crystal developers

  • Jets

    A Ruby Serverless Framework to create and deploy serverless microservices with ease, and to seamlessly glue AWS services

  • 🐑 Lamby

    Simple Rails & AWS Lambda Integration using Rack

Scheduling

  • minicron

    A system to manage and monitor cron jobs

  • que-scheduler

    A lightweight cron scheduler for the async job worker Que

  • resque-scheduler

    A light-weight job scheduling system built on top of Resque

  • rufus-scheduler

    Job scheduler for Ruby (at, cron, in and every jobs)

  • ruby-clock

    A job scheduler which runs jobs each in their own thread in a persistent process

  • Sidekiq-Cron

    A scheduling add-on for Sidekiq

  • Simple Scheduler

    An enhancement for Heroku Scheduler + Sidekiq for scheduling jobs at specific times with a readable YML file

  • Whenever

    A Ruby gem that provides a clear syntax for writing and deploying cron jobs

Scientific / Bindings

  • PyCall

    Calling Python functions from the Ruby language

  • ruby-opencv

    An OpenCV wrapper for Ruby

Scientific / Classifiers

  • classifier-reborn

    An active fork of Classifier, and general module to allow Bayesian and other types of classifications

Scientific / Data analysis/structures

  • daru

    A library for storage, analysis, manipulation and visualization of data in pure Ruby

  • Daru::View

    A library for easy and interactive plotting on Jupyter Notebooks and web applications

  • Rgl

    A framework for graph data structures and algorithms

Scientific / Numerical arrays

  • NMatrix

    Fast numerical linear algebra library for Ruby

  • Numo::NArray

    N-dimensional Numerical Array for Ruby

  • mdarray

    Multi dimensional array implemented for JRuby inspired by NumPy

Scientific

  • Red Data Tools

    Data processing tools for Ruby

  • SciRuby

    Tools for scientific computation in Ruby/Rails

Scientific / SciRuby

  • IRuby

    A Ruby kernel for Jupyter

  • statsample

    A suite for basic and advanced statistics on Ruby

  • statsample-timeseries

    Bioruby Statsample TimeSeries

  • statsample-glm

    Generalized Linear Models extension for Statsample

  • distribution

    Statistical Distributions multi library wrapper

  • minimization

    Minimization algorithms on pure Ruby

Scientific / Specific

  • BioRuby

    Library for developing bioinformatics software

  • bloomfilter-rb

    BloomFilter(s) in Ruby: Native counting filter + Redis counting/non-counting filters

  • decisiontree

    A ruby library which implements ID3 (information gain) algorithm for decision tree learning

Scientific / Utilities

  • algorithms

    Library with documentation on when to use a particular structure/algorithm

  • jaro_winkler

    Ruby & C implementation of Jaro-Winkler distance algorithm which supports UTF-8 string

  • primes-utils

    A Rubygem which provides a suite of extremely fast utility methods for testing and generating primes

  • Roots

    A Rubygem which provides utilities to find all the nth roots of real and complex values

  • smarter_csv

    Ruby Gem for smarter importing of CSV Files as Array(s) of Hashes

  • chewy

    High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client

  • elasticsearch-ruby

    Ruby integrations for Elasticsearch

  • elastics

    Simple ElasticSearch client with support for migrations and ActiveRecord integration

  • has_scope

    Has scope allows you to easily create controller filters based on your resources named scopes

  • Mongoid Search

    Simple full text search implementation for Mongoid

  • pg_search

    Builds ActiveRecord named scopes that take advantage of PostgreSQL's full text search

  • ransack

    Object-based searching

  • Rroonga

    The Ruby bindings of Groonga

  • scoped_search

    Adds a scope supporting search queries and autocompletion against existing fields on ActiveRecord models and associations

  • SearchCop

    Extends your ActiveRecord models to support fulltext search engine like queries via simple query strings and hash-based queries

  • Searchkick

    Searchkick learns what your users are looking for. As more people search, it gets smarter and the results get better. It’s friendly for developers - and magical for your users

  • Sunspot

    A Ruby library for expressive, powerful interaction with the Solr search engine

  • textacular

    Exposes full text search capabilities from PostgreSQL, and allows you to declare full text indexes. Textacular extends ActiveRecord with named_scope methods making searching easy and fun!

  • Thinking Sphinx

    A library for connecting ActiveRecord to the Sphinx full-text search tool

Security

  • BeEF

    BeEF is short for The Browser Exploitation Framework. It is a penetration testing tool that focuses on the web browser

  • bundler-audit

    Patch-level security verification for Bundler

  • Fingerprinter

    CMS/LMS/Library etc versions fingerprinter

  • haiti

    Hash type identifier (CLI & lib)

  • Metasploit

    World's most used penetration testing software

  • Pipal

    Password analyser and statistics generator

  • Rack::Attack

    Rack middleware for blocking & throttling abusive requests

  • Rack::Protection

    Rack middleware for protecting against typical Web attacks

  • Ronin

    A Ruby platform for vulnerability research and exploit development

  • SecureHeaders

    Automatically apply several headers that are related to security, including: Content Security Policy (CSP), HTTP Strict Transport Security (HSTS), X-Frame-Options (XFO), X-XSS-Protection, X-Content-Type-Options, X-Download-Options & X-Permitted-Cross-Domain-Policies

  • WhatWeb

    Website Fingerprinter

  • WPscan

    WordPress vulnerability scanner

Services and Apps

  • AppSignal

    Better monitoring for your Rails applications

  • Codacy

    Automated Code Review for Ruby, Rails, JS, PHP, Python etc. Security, Coverage & Quality

  • CodeClimate

    Quality & security analysis for Ruby on Rails and Javascript

  • GitHub

    Powerful collaboration, code review, and code management for open source and private projects

  • Gitlab CI

    Integrate with your GitLab to run tests for your projects

  • GitLab

    Open source software to collaborate on code

  • HoundCI

    Review your Ruby code for style guide violations

  • Inch CI

    Documentation badges for Ruby projects

  • OctoLinker

    Navigate through projects on GitHub.com efficiently with the OctoLinker browser extension

  • SemaphoreCI

    Hosted continuous integration and deployment service for open source and private projects

  • Travis CI

    Test and Deploy Your Code with Confidence

SEO

  • FriendlyId

    The "Swiss Army bulldozer" of slugging and permalink plugins for Active Record

  • MetaTags

    A gem to make your Rails application SEO-friendly

  • prerender_rails

    Rails middleware gem for prerendering javascript-rendered pages on the fly for SEO

  • SitemapGenerator

    A framework-agnostic XML Sitemap generator written in Ruby

Social Networking

  • Decidim

    free open-source participatory democracy for cities and organizations

  • diaspora*

    A privacy aware, distributed, open source social network

  • Discourse

    A platform for community discussion. Free, open, simple

  • Mailboxer

    A private message system for Rails applications

  • Mastodon

    A GNU Social-compatible microblogging server

  • Retrospring

    A social network following the Q/A (question and answer) principle

  • Social Shares

    A gem to check how many times url was shared in social networks

  • Thredded

    Rails 4.2+ forums/messageboards engine. Its goal is to be as simple and feature rich as possible

Spreadsheets and Documents

  • CAXLSX

    A community maintained excel xlsx generation library. - The original

  • Docsplit

    Gem to convert Microsoft Word (and other) documents into images, pdf, pages or text

  • Roo

    Implements read access for all spreadsheet types and read/write access for Google spreadsheets

  • spreadsheet_architect

    Spreadsheet Architect is a library that allows you to create XLSX, ODS, or CSV spreadsheets super easily from ActiveRecord relations, plain Ruby objects, or tabular data

State Machines

  • AASM

    State machines for Ruby classes (plain Ruby, Rails Active Record, Mongoid)

  • FiniteMachine

    A plain Ruby state machine with a straightforward and expressive syntax

  • MicroMachine

    A minimal finite state machine implementation in less than 50 lines of code

  • simple_states

    A super-slim statemachine-like support library

  • Statesman

    A statesmanlike state machine library

  • state_machines

    Adds support for creating state machines for attributes on any Ruby class

  • transitions

    A ruby state machine implementation

  • Workflow

    A finite-state-machine-inspired API for modeling and interacting with what we tend to refer to as 'workflow'

Static Site Generation

  • Bridgetown

    A Webpack-aware, Ruby-powered static site generator for the modern Jamstack era

  • High Voltage

    Easily include static pages in your Rails app

  • Jekyll

    Transform your plain text into static websites and blogs

Static Site Generation / Jekyll

  • Awesome Jekyll

    A collection of awesome Jekyll tools, plugins, themes, guides and much more

Static Site Generation

  • Middleman

    A static site generator using all the shortcuts and tools in modern web development

  • Nanoc

    A static site generator, fit for building anything from a small personal blog to a large corporate web site

  • Photish

    Generate a highly configurable static website from a photo collection

  • webgen

    webgen is a fast, powerful and extensible static website generator

Template Engine

  • Curly

    A template language that completely separates structure and logic

  • Haml

    HTML Abstraction Markup Language

  • Liquid

    Safe, customer facing template language for flexible web apps

  • Mustache

    Logic-less Ruby templates

  • Slim

    A template language whose goal is reduce the syntax to the essential parts without becoming cryptic

  • Tilt

    Generic interface to multiple Ruby template engines

Frameworks

  • RSpec

    Behaviour Driven Development for Ruby

Frameworks / RSpec / Formatters

  • Emoji-RSpec

    Custom Emoji Formatters for RSpec

  • Fuubar

    The instafailing RSpec progress bar formatter

  • Nyan Cat

    Nyan Cat inspired RSpec formatter!

Frameworks

  • Aruba

    Testing command line applications with cucumber and rspec

  • Bacon

    A small RSpec clone

  • Capybara

    Acceptance test framework for web applications

  • Cucumber

    BDD that talks to domain experts first and code second

  • Cutest

    Isolated tests in Ruby

  • Fix

    Specing framework for Ruby

  • Howitzer

    Ruby based framework for acceptance testing

  • minitest

    minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking

  • Mocha

    Mocha is a mocking and stubbing library for Ruby

  • RR

    A test double framework that features a rich selection of double techniques and a terse syntax

  • shoulda-matchers

    Provides Test::Unit- and RSpec-compatible one-liners that test common Rails functionality. These tests would otherwise be much longer, more complex, and error-prone

  • 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

  • TestBench

    TestBench is a principled test framework for Ruby and MRuby aiming to offer precisely what is needed to test well-designed code effectively and easily

  • Test::Unit

    Test::Unit is a xUnit family unit testing framework for Ruby

Fake Data

  • Fabrication

    A simple and powerful object generation library

  • factory_bot

    A library for setting up Ruby objects as test data

  • Fake Person

    Uses some of the most popular given & surnames in the US & UK

  • faker

    A library for generating fake data such as names, addresses, and phone numbers

  • ffaker

    A faster Faker, generates dummy data, rewrite of faker

  • Forgery

    Easy and customizable generation of forged data

Mock

  • ActiveMocker

    Generate mocks from ActiveRecord models for unit tests that run fast because they don’t need to load Rails or a database

  • DnsMock

    Ruby DNS mock. Mimic any DNS records for your test environment and even more

  • DuckRails

    Tool for mocking API endpoints quickly & dynamically

  • SmtpMock

    Ruby SMTP mock. Mimic any SMTP server behaviour for your test environment with fake SMTP server

  • TestXml

    TestXml is a small extension for testing XML/HTML

  • WebMock

    Library for stubbing and setting expectations on HTTP requests

WebDrivers

  • Ferrum

    High-level API to control Chrome in Ruby

  • Poltergeist

    A PhantomJS driver for Capybara

  • Selenium WebDriver

    Ruby bindings for WebDriver

  • Watir

    Web application testing in Ruby

Extra

  • Appraisal

    Appraisal integrates with bundler and rake to test your library against different versions of dependencies

  • CQL

    CQL is a library for making queries against Cucumber style test suites

  • cuke_modeler

    An modeling library for files that is an abstration layer on top of the gem, providing a stable base upon which to build other Gherkin related tools

  • gitarro

    Run, retrigger, handle all type and OS-independent tests against your GitHub Pull Requests

  • Knapsack

    Optimal test suite parallelisation across CI nodes for RSpec, Cucumber, Minitest, Spinach and Turnip

  • mutant

    Mutant is a mutation testing tool for Ruby

  • Parallel Tests

    Speedup Test::Unit + RSpec + Cucumber by running parallel on multiple CPUs (or cores)

  • power_assert

    Power Assert for Ruby

  • Ruby-JMeter

    A Ruby based DSL for building JMeter test plans

  • Spring

    Preloads your rails environment in the background for faster testing and Rake tasks

  • timecop

    Provides "time travel" and "time freezing" capabilities, making it dead simple to test time-dependent code

  • Turbo Tests

    Run RSpec tests on multiple cores. Like but with incremental summarized output

  • vcr

    Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests

  • Wraith

    A responsive screenshot comparison tool

  • Zapata

    Who has time to write tests? This is a revolutionary tool to make them write themselves

Third-party APIs

  • Ably

    Ruby library for realtime communication over Ably

  • Buffer

    Buffer API Ruby Library

  • discordrb

    An implementation of the Discord API

  • Dropbox

    Ruby client for Dropbox API v2

  • fb_graph2

    A full-stack Facebook Graph API wrapper

  • flickr

    A Ruby interface to the Flickr API

  • gitlab

    Ruby wrapper and CLI for the GitLab API

  • google-api-ads-ruby

    Google Adwords Ruby client

  • gmail

    A Rubyesque interface to Gmail, with all the tools you'll need

  • hipchat-rb

    HipChat HTTP API Wrapper in Ruby with Capistrano hooks

  • instagram-ruby-gem

    The official gem for the Instagram REST and Search APIs

  • itunes_store_transporter

    Ruby wrapper around Apple's iTMSTransporter program

  • linkedin

    Provides an easy-to-use wrapper for LinkedIn's REST APIs

  • Notion Ruby Client

    A Ruby wrapper for the Notion API

  • Octokit

    Ruby toolkit for the GitHub API

  • Pusher

    Ruby server library for the Pusher API

  • Restforce

    A Ruby client for the Salesforce REST api

  • ruby-gmail

    A Rubyesque interface to Gmail

  • ruby-trello

    Implementation of the Trello API for Ruby

  • simple-slack-bot

    You can easily make Slack Bot

  • Slack Notifier

    A simple wrapper for posting to Slack channels

  • Slack ruby gem

    A Ruby wrapper for the Slack API

  • soundcloud-ruby

    Official SoundCloud API Wrapper for Ruby

  • t

    A command-line power tool for Twitter

  • terjira

    A command-line power tool for Jira

  • tweetstream

    A simple library for consuming Twitter's Streaming API

  • twilio-ruby

    A module for using the Twilio REST API and generating valid TwiML

  • twitter

    A Ruby interface to the Twitter API

  • whatsapp-sdk

    Ruby client for the Whatsapp API

  • wikipedia

    Ruby client for the Wikipedia API

  • Yt

    An object-oriented Ruby client for YouTube API V3

Video

  • Streamio FFMPEG

    Simple yet powerful wrapper around the ffmpeg command for reading metadata and transcoding movies

  • VideoInfo

    Get video info from Dailymotion, Vimeo, Wistia, and YouTube URLs

  • Video Transcoding

    Tools to transcode, inspect and convert videos

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

  • 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

  • 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

  • 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

  • Pakyow

    A framework for building modern web-apps in Ruby. It helps you build working software faster with a development process that remains friendly to both designers and developers

  • 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

  • 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

  • TorqueBox

    A Ruby application server built on JBoss AS7 and JRuby

  • Unicorn

    Rack HTTP server for fast clients and Unix

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

  • Slanger

    Open Pusher implementation compatible with Pusher libraries

  • StimulusReflex

    Build reactive applications with the Rails tooling you already know and love

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.