An open API service indexing awesome lists of open source software.

awesome-ruby

💎 A collection of awesome Ruby libraries, tools, frameworks and software
https://github.com/markets/awesome-ruby

Last synced: 1 day ago
JSON representation

  • Code Analysis and Metrics

    • 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
    • Pronto - Quick automated code review of your changes.
    • rails_best_practices - A code metric tool for rails projects.
    • rubydex - A high-performance static analysis suite for Ruby, built in Rust with Ruby APIs.
    • SimpleCov - Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites.
  • Code Formatting

    • niceql - A dependentless SQL and SQL errors formatting and colorizing. ActiveRecord seemless integration.
    • prettier - A prettier plugin for the Ruby language.
    • Standard - Ruby Style Guide, with linter & automatic code fixer
    • Rubocop Performance - A RuboCop extension focused on code performance checks.
    • RuboCop - A static code analyzer, based on the community Ruby style guide.
    • RuboCop - A static code analyzer, based on the community Ruby style guide.
    • 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.
    • 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 style guide - Community-driven Ruby coding style.
    • fast-ruby - Writing Fast Ruby. Collect Common Ruby idioms.
    • 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 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

    • AnywayConfig - Configuration library for Ruby gems and applications, supporting multiple sources (yml, secrets) and environments.
    • 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 `.env`.
    • 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 `ENV` 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.
    • Econfig - Flexible configuration for Rails applications.
    • RailsConfig - Multi-environment yaml settings for Rails3.
  • Core Extensions

    • ActiveSupport - A collection of utility classes and standard library extensions.
    • dry-rb - dry-rb is a collection of next-generation Ruby libraries, each intended to encapsulate a common task.
    • 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
    • Docile - A tiny library that lets you map a DSL (domain specific language) to your Ruby objects in a snap.
    • 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.
    • 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.
    • string_pattern - Generate strings supplying a simple pattern.
    • Hashie - A collection of tools that extend Hashes and make them more useful.
    • Finishing Moves - Small, focused, incredibly useful methods added to core Ruby classes. Includes the endlessly useful `nil_chain`.
    • Hanami::Utils - Lightweight, non-monkey-patch class utilities for Hanami and Ruby app.
    • Hashie - A collection of tools that extend Hashes and make them more useful.
  • Country Data

    • 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.
    • Carmen - A repository of geographic regions.
    • Countries - All sorts of useful information about every country packaged as pretty little country objects.
    • Carmen - A repository of geographic regions.
    • Countries - All sorts of useful information about every country packaged as pretty little country objects.
  • 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

    • Ciri - Ruby implementation of Ethereum.
    • MoneyTree - A Ruby implementation of Bitcoin HD Wallets (Hierarchical Deterministic) BIP32.
    • Peatio - Most Advanced Cryptocurrency open-source assets exchange.
    • Blockchain Lite - Build your own blockchains with crypto hashes; revolutionize the world with blockchains, blockchains, blockchains one block at a time.
  • Dashboards

    • Smashing - Smashing is a Sinatra based framework that lets you build beautiful dashboards. This project is the maintained spiritual successor to the Dashing framework.
    • Blazer - Simple data viewer using only SQL. Output to table, chart, and maps.
    • Dashing-Rails - The exceptionally handsome dashboard framework for Rails.
  • 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.
    • Scenic - Versioned database views for Rails.
  • Data Processing and ETL

    • Kiba - A lightweight data processing / ETL framework for Ruby.
    • 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.
    • json-streamer - Stream JSON data based on various criteria (key, nesting level, etc).
    • 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.
    • smarter_csv - Fast Ingestion of CSV files into hashes with automatic header handling, type conversion, clean-up, and protection against Ruby CSV's [silent data corruption](https://dev.to/tilo_sloboda/10-ways-rubys-csvread-can-silently-corrupt-or-lose-your-data-1g02). Also exports CSV.
    • CSV Reader - A modern tabular data (line-by-line records) reader supports "classic" CSV but also CSV Numerics, `CSV <3 JSON`, `CSV <3 YAML`, tab, space or fixed width fields (FWF) and many more flavors and dialects.
    • CSV Reader - A modern tabular data (line-by-line records) reader supports "classic" CSV but also CSV Numerics, `CSV <3 JSON`, `CSV <3 YAML`, tab, space or fixed width fields (FWF) and many more flavors and dialects.
    • Kiba - A lightweight data processing / ETL framework for Ruby.
  • 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.
  • 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.
    • Jekyll-Timeago - A Ruby library to compute distance of dates in words, with localization support, alternative styles, CLI and Jekyll support.
    • 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.
    • ice_cube - A date recurrence library which allows easy creation of recurrence rules and fast querying.
  • Debugging Tools

    • Byebug - A simple to use, feature rich debugger for Ruby 2.
    • 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.
    • Xray - A development tool that reveals your UI's bones.
    • did_you_mean - Adds class, method & attribute suggestions to error messages.
    • tapping_device - A tool that allows you to inspect your program from an Object's perspective.
    • did_you_mean - Adds class, method & attribute suggestions to error messages.
    • 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.
    • tracer - A Ruby tracing tool for following method calls, line execution, and object allocations via TracePoint.
  • 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.
  • Developer Tooling

    • Fuzzy Ruby Server - A Ruby language server offering fuzzy search-based definitions, references, and completions.
    • Ruby LSP - An opinionated language server for Ruby with support for pull diagnostics, formatting, and more.
    • Solargraph - A Ruby language server providing IntelliSense, code completion, and inline documentation.
    • Ruby LSP (VS Code) - VS Code extension providing a rich Ruby development experience powered by Ruby LSP.
    • VSCode RuboCop - VS Code extension for RuboCop with autocorrection and lint support.
    • VSCode Standard - VS Code extension for StandardRB.
    • VSCode rdbg Ruby Debugger - VS Code extension for the debug gem with DAP support.
    • debug - The official Ruby debugger with Debug Adapter Protocol (DAP) support.
    • ruby-lsp-rails - A Ruby LSP addon for Rails that provides route, model, and association support.
    • ruby-lsp-rspec - A Ruby LSP addon that provides enhanced RSpec support, including code lens for running and debugging tests.
  • DevOps Tools

    • Capistrano - A remote server automation and deployment tool written in Ruby.
    • Lita - ChatOps for Ruby: A pluggable chat bot framework usable with any chat service.
    • 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.
    • 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.
    • Itamae - Simple and lightweight configuration management tool inspired by Chef.
    • Kanrisuru - Manage remote infrastructure in Ruby
    • 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.
    • Capistrano - A remote server automation and deployment tool written in Ruby.
    • 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.
  • 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.
Categories
Testing 55 ORM/ODM Extensions 51 Third-party APIs 36 API Builder and Discovery 27 Scientific 25 Database Tools 21 Queues and Messaging 20 CMS 20 Code Analysis and Metrics 20 Date and Time Processing 19 DevOps Tools 19 Web Frameworks 18 Core Extensions 18 HTTP Clients and tools 17 Email 17 Security 16 Search 16 Authentication and OAuth 16 Documentation 16 CLI Builder 16 CLI Utilities 15 Discover 14 Profiler and Optimization 14 E-Commerce and Payments 13 Configuration 13 Assets 13 ORM/ODM 12 Environment Management 12 Internationalization 12 Natural Language Processing 12 Package Management 12 Services and Apps 12 Web Servers 11 Database Drivers 11 PDF 11 Error Handling 11 Caching 11 Machine Learning 11 Form Builder 11 Logging 10 Admin Interface 10 Authorization 10 HTML/XML Parsing 10 Debugging Tools 10 Code Formatting 10 Type Signatures and Type Checking 10 Git Tools 10 Coding Style Guides 10 Developer Tooling 10 Business logic 9 Image Processing 9 Data Processing and ETL 9 Scheduling 9 State Machines 9 Country Data 9 Static Site Generation 8 Optimizations 8 Social Networking 8 Feature Flippers and A/B Testing 8 File Upload 8 Performance Monitoring 7 Automation 7 Data Visualization 7 Process Management and Monitoring 7 Game Development and Graphics 7 WebSocket 7 AI and LLMs 7 Mobile Development 7 Implementations/Compilers 7 RSS 7 Web Crawling 7 IRB 7 View helpers 7 GUI 6 View components 6 Template Engine 6 Markdown Processors 6 Encryption 6 Geolocation 6 Rails Application Generators 6 Analytics 6 Breadcrumbs 5 Cloud 5 Concurrency and Parallelism 5 Pagination 5 File System Listener 5 Captchas and anti-spam 5 GraphQL 5 Ebook 5 Decorators 4 Gem Generators 4 Boilerplates & UI Kits 4 Video 4 Spreadsheets and Documents 4 Notifications 4 Music and Sound 4 SEO 4 Serverless 4 Cryptocurrencies and Blockchains 4 Networking 4 Gem Servers 4 Robotics 3 Code Highlighting 3 Event Sourcing 3 Money 3 Processes 3 Dashboards 3 Diff 3 Measurements 2 CRM 2 QR 1 Presentation Programs 1 Code Loaders 1
Sub Categories