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

awesome-ruby

A curated list of awesome Ruby frameworks, libraries and resources. Inspired by awesome-php & awesome-python.
https://github.com/sdogruyol/awesome-ruby

Last synced: 2 days ago
JSON representation

  • Anti-spam

  • Asset Management

  • Authentication and OAuth

    • tiddle - Devise strategy for token authentication in API-only Ruby on Rails applications
    • AuthLogic - A simple ruby authentication solution
    • Sorcery - Magical authentication for Rails 3 & 4
    • CanCanCan
    • authority - ORM neutral authorization.
    • doorkeeper
    • tiddle - Devise strategy for token authentication in API-only Ruby on Rails applications
    • pundit - Minimal authorization using object oriented design.
    • Warden - General Rack Authentication Framework
    • Devise - Devise is a flexible authentication solution for Rails based on Warden
    • Omniauth - OmniAuth is a flexible authentication system utilizing Rack middleware
  • Build Tools

  • CMS

  • Command-line Tools

    • Thor - Thor is a toolkit for building powerful command-line interfaces
    • Commander - The complete solution for Ruby command-line executables
    • Commander - The complete solution for Ruby command-line executables
  • Template Engine

  • Testing

    • Cucumber Github - Cucumber is a tool that executes plain-text functional descriptions as automated tests
    • RSpec - BDD for Ruby
    • Cucumber Site - Behaviour Driven Development with elegacy and joy
    • Mocha - Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.
    • Mocha - Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.
    • Rubytest - Rubytest is a testing meta-framework useful for creating highly customize test suites or building whole new test frameworks.
    • BRASS - Bare-metal Ruby assertion system standard used by Rubytest.
    • Lemon - Strict unit test system built on top of Rubytest.
    • MiniTest - minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking
    • Spinach - Spinach is a high-level BDD framework that leverages the expressive Gherkin language (used by Cucumber) to help you define executable specifications of your application or library's acceptance criteria.
    • Rubytest - Rubytest is a testing meta-framework useful for creating highly customize test suites or building whole new test frameworks.
    • BRASS - Bare-metal Ruby assertion system standard used by Rubytest.
    • Lemon - Strict unit test system built on top of Rubytest.
    • shoulda-matchers - Collection of testing matchers extracted from Shoulda
    • capybara - Acceptance test framework for web applications
    • RSpec-mocks - RSpec's 'test double' framework, with support for stubbing and mocking
    • Mocha - Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.
    • FlexMock - Flexible mocking for Ruby testing
    • Faker - A library for generating fake data such as names, addresses, and phone numbers
    • ffaker - Faker Refactored.
    • Forgery - Easy and customizable generation of forged data.
    • simplecov
  • Third-party APIs

  • Environment Management

    • rvm - Ruby Version Manager
    • rbenv - Groom your app’s Ruby environment
    • rbenv - Groom your app’s Ruby environment
    • chruby - Changes the current Ruby
    • chgems - Chroot for RubyGems
    • ruby-install - Installs Ruby, JRuby, Rubinius, MagLev or MRuby
    • ruby-build - Compile and install Ruby
  • Error Handling

    • Errbit - The open source, self-hosted error catcher
    • Errbit - The open source, self-hosted error catcher
    • Exception Notification - A set of notifiers for sending notifications when errors occur in a Rack/Rails application
    • Airbrake - The official Airbrake library for Ruby on Rails (and other Rack based frameworks)
    • Better Errors - Better error page for Rack apps
  • Game Development

    • Gosu - A 2D game development library for the Ruby and C++ programming languages
  • High Performance

    • Celluloid - Actor-based concurrent object framework for Ruby. It has its own [awesomeness](https://github.com/sashaegorov/awesome-celluloid).
    • EventMachine - EventMachine: fast, simple event-processing library for Ruby programs
  • ORM

    • ActiveRecord - Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes
    • DataMapper - DataMapper is an Object Relational Mapper written in Ruby. The goal is to create an ORM which is fast, thread-safe and feature rich.
    • Sequel - The Database Toolkit for Ruby
    • Mongoid - Mongoid (pronounced mann-goyd) is an Object-Document-Mapper (ODM) for MongoDB written in Ruby.
    • DataMapper - DataMapper is an Object Relational Mapper written in Ruby. The goal is to create an ORM which is fast, thread-safe and feature rich.
    • Mongoid - Mongoid (pronounced mann-goyd) is an Object-Document-Mapper (ODM) for MongoDB written in Ruby.
    • DataMapper - DataMapper is an Object Relational Mapper written in Ruby. The goal is to create an ORM which is fast, thread-safe and feature rich.
    • Ohm - Object-Hash Mapping for Redis
  • Package Management

    • Homebrew Cask - Cask provides a friendly homebrew-style CLI workflow for the administration of Mac applications distributed as binaries
    • RubyGems - RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries
    • Homebrew Cask - Cask provides a friendly homebrew-style CLI workflow for the administration of Mac applications distributed as binaries
  • Serverless

    • FaaStRuby - Serverless Software Development Platform for Ruby and Crystal developers.
  • Text Processing

    • Yomu - Read text and metadata from files and documents (.doc, .docx, .pages, .odt, .rtf, .pdf)
  • Web Frameworks

    • Roda - Modular, scalable Ruby framework. Extremely fast, extremely efficient.
    • Pakyow - Pakyow is an open-source framework for the modern web. Build working software faster with a development process that remains friendly to both designers and developers. It's built for getting along.
    • Hyperstack - A complete Isomorphic Ruby Framework using React, Opal and Rails
    • Ruby On Rails - Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity
    • Cramp - Cramp is a fully asynchronous real-time web application framework in Ruby
  • WebSocket

    • rib
    • BetterDocs - Documentation with collection practices in ruby. Good for new ruby developers and beginners.
    • jazz_hands - based enhancements for the default Rails 3 and 4 consoles
    • fast_attributes - FastAttributes adds attributes with their types to the class
    • websocket-rails - Plug and play websocket support for ruby on rails.
    • packetfu - level packet manipulation library for Ruby.
    • chatterbot - based Twitter Bot Framework, using OAuth to authenticate
    • sneakers
    • ransack - based searching.
    • cinch
    • pry
    • awesome_print
    • friendly_id
    • backup - like systems
    • kss
    • AASM - A library for adding finite state machines to Ruby classes
    • JsonCompare - Returns the difference between two JSON files
    • blankable - Adds blank slates to index view in Rails
    • tcmb_currency - T.C.M.B. currencies for Money Gem
    • enumerize - Enumerated attributes with I18n and ActiveRecord/Mongoid support
    • lol_dba - lol_dba is a small package of rake tasks that scan your application models and displays a list of columns that probably should be indexed.
    • annotate-models - Annotate ActiveRecord models
    • Letter Opener
    • Auto HTML
    • OctoLinker - Navigate through projects on GitHub.com efficiently with the OctoLinker browser extension.
  • Editor Plugins

  • People to Follow

  • Admin Panels

  • Audio

  • Auditing

    • Audited - Audited (formerly acts_as_audited) is an ORM extension that logs all changes to your Rails models.
    • Logidze - Logs model changes via database triggers (PL/SQL functions). Fastest model diffs. PostgreSQL 9.5+ only.
  • Caching

  • Cloud Services

  • CSS and Styling

  • DevOps Tools

    • Capistrano - Remote multi-server automation tool
    • Puppet - Server automation framework and application
    • Chef - A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
    • Vagrant - Vagrant is a tool for building and distributing development environments.
    • Mina
    • Nanobox - A micro-PaaS (μPaaS) for creating consistent, isolated, Ruby environments deployable anywhere https://nanobox.io.
  • E-Commerce & Online Paying

    • PayPal Merchant SDK - Provides Ruby APIs for processing payments, recurring payments, subscriptions and transactions using PayPal's Merchant APIs.
    • Active Merchant - A simple payment abstraction library extracted from Shopify.
    • Spree - A complete open source e-commerce solution for Ruby on Rails.
    • Square SDK - Use this gem to integrate Square payments into your app and grow your business with Square APIs including Catalog, Customers, Employees, Inventory, Labor, Locations, and Orders.
  • GUI

  • HTML/XML/CSS Manipulation

  • Push Notification

    • Houston - A simple gem for sending Apple Push Notifications.
    • Rpush - The push notification service for Ruby.
    • apn_sender - Background worker to send Apple Push Notifications over a persistent TCP socket.
    • webpush - Encryption Utilities for Web Push protocol
  • RESTful API

    • Grape - An opinionated micro-framework for creating REST-like APIs in Ruby.
    • APIcasso - An abstract API design as a Rails-based mountable engine. RESTfullize your legacy code.
    • Rails::API - Rails for API only applications
    • jbuilder - Create JSON structures via a Builder-style DSL
    • rabl - General Ruby templating with json, bson, xml, plist and msgpack support
    • active_model_serializers - ActiveModel::Serializer implementation and Rails hooks
    • oat - Adapters-based API serializers with Hypermedia support for Ruby apps (HAL, Siren, JSONAPI).
    • APIcasso - An abstract API design as a Rails-based mountable engine. RESTfullize your legacy code.
  • Spreadsheets

    • Fastsheet - Fast spreadsheet reader using Rust native extensions.
    • spreadsheet - The Spreadsheet Library is designed to read and write Spreadsheet Documents.
    • caxlsx - Caxlsx excels at helping you generate beautiful Office Open XML Spreadsheet documents.
    • caxlsx_rails - Axlsx-Rails provides an Axlsx renderer so you can move all your spreadsheet code from your controller into view files.
    • roo - Roo implements read access for all spreadsheet types and read/write access for Google spreadsheets.
    • google-spreadsheet-ruby - This is a library to read/write Google Spreadsheet.
    • rubyXL - rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents
    • Odf-report - Generates ODF files, given a template (.odt) and data, replacing tags
    • simple_xlsx_writer - Just as the name says, simple writter for Office 2007+ Excel files
    • remote_table - Open local or remote XLSX, XLS, ODS, CSV (comma separated), TSV (tab separated), other delimited, fixed-width files, and Google Docs.
    • acts_as_caxlsx - acts_as_caxlsx lets you turn any ActiveRecord::Base inheriting class into an excel spreadsheet.
    • activeadmin-caxlsx - This gem uses caxlsx to provide excel/xlsx downloads for resources in Active Admin.
    • to_spreadsheet - Render XLSX from Rails using existing views
    • write_xlsx - write_xlsx is a gem to create a new file in the Excel 2007+ XLSX format.
    • excel_rails - Allows you to program spreadsheets using .rxls views
    • sheets - Work with spreadsheets easily in a native ruby format.
    • workbook - Workbook contains workbooks, as in a table, contains rows, contains cells, reads/writes excel, ods and csv and tab separated files...
    • Spreadsheet report - Simple tool for running queries against ActiveRecord and putting them into a Google Spreadsheet.
    • oxcelix - A fast Excel 2007/2010 (.xlsx) file parser that returns a collection of Matrix objects
    • wrap_excel - WrapExcel is to wrap the win32ole, and easy to use Excel operations with ruby. Detailed description please see the README.
    • write_xlsx_rails - xlsx renderer for Rails base on write_xlsx gem
  • Code Analysis and Linter

    • sonarlint-intellij - An IDE extension that helps you detect and fix quality issues as you write code.
    • Rubocop - A Ruby static code analyzer, based on the community Ruby style guide.
    • ruby-lint - ruby-lint is a static code analysis tool for Ruby
    • brakeman - Static analysis tool which checks Ruby on Rails applications for security vulnerabilities
    • reek - Code smell detector for Ruby
    • Breezer - Lock your Gemfile dependencies to safe versions.
  • Data Validation

    • kangal - Extended validation gem for email, subdomain, credit card, tax number etc
    • bin_checker - BIN validator for Turkish Banks
  • Data Visualization

  • Database Drivers

  • Date and Time

  • Debugging Tools

  • Distribution

  • Documentation

    • Dictum - A tool that let's you create automatic documentation of your Rails API endpoints through your tests.
    • rdoc
    • yard
  • Downloader

  • E-Mail

  • File Uploading

    • paperclip
    • dragonfly - the-fly processing - suitable for image uploading in Rails, Sinatra and much more
    • carrierwave
    • attache - Yet another approach to file upload https://attache-demo.herokuapp.com
  • Feature flipping

  • Forms

  • Geolocation

    • geocoder
    • Geokit - Geokit gem provides geocoding and distance/heading calculations.
  • Git Tools

    • katip - Change logger for Git initialized projects
  • HTTP

  • Imagery

  • Internationalization

  • Logging

  • Machine Learning

    • m2cgen - A CLI tool to transpile trained classic ML models into a native Ruby code with zero dependencies.
  • Multi-tenancy

    • Apartment - Database multi-tenancy for Rack (and Rails) applications
  • Natural Language Processing

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

  • PDF Processing

  • Presentation Tools

  • Processes and Threads

    • Parallel - Ruby parallel processing made simple and fast
  • Profiling

    • bullet - help to kill N+1 queries and unused eager loading
  • Queue

  • Scheduling

    • whenever
    • resque-scheduler - weight job scheduling system built on top of resque
    • rufus-scheduler
    • Clockwork - running Ruby process which sits alongside your web processes (Mongrel/Thin) and your worker processes (DJ/Resque/Minion/Stalker) to schedule recurring work at particular times or dates.
  • Site Monitoring

  • Static Page Generation

  • Starter Apps

  • Tagging

    • acts-as-taggable-on - A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.
  • Video

  • Web Crawling

  • Web Servers

Sub Categories