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
- rails-assets
- sprockets - based asset packaging system
-
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
- Refinery CMS
- Browser
- Radiant - fluff, open source content management system
- Nesta
- Comfortable Mexican Sofa
- Browser
- Locomotive
- Nesta
- Browser
- alchemy_cms
- weby
-
Command-line Tools
-
Search
- Algoliasearch Rails - AlgoliaSearch integration to your favorite ORM
- Thinking Sphinx - Sphinx plugin for ActiveRecord/Rails
- elasticsearch-ruby - Ruby integrations for Elasticsearch
- Searchkick - Intelligent search made easy
- PgSearch - PostgreSQL's full text search
- Rroonga - The Ruby bindings of Groonga
- Sunspot - Solr-powered search for Ruby objects
-
Template Engine
- haml-rails
- Slim
- slim-rails
- Haml - A Markup Haiku
- Tilt
- Liquid
-
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
- viewpoint-spws
- koala
- fb_graph - stack Facebook Graph API wrapper
- tweetstream
- gitlab
- octokit.rb
- twilio-ruby
- viewpoint-spws
- youtube_it - oriented Ruby wrapper for the YouTube GData API
- flickraw
- f00px
- rspotify
-
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
- The Ruby Toolbox
- Ruby Curated Resources
- Ruby5 - The latest news in the Ruby and Rails community
- vim-ruby
- vim-rails
-
People to Follow
- Yukihiro "Matz" Matsumoto - Creator of Ruby lang
- David Heinemeier Hansson - Creator of Rails framework
- Koichi Sasada - Ruby core committer and the developer of YARV
- Aaron Patterson - Committer to Nokogiri, Ruby, and Ruby on Rails
- Avdi Grimm - Host of Ruby Tapas webcasts
- Aman Gupta - Ruby core committer
- awesome-awesomeness
- Aaron Patterson - Committer to Nokogiri, Ruby, and Ruby on Rails
- Avdi Grimm - Host of Ruby Tapas webcasts
- Yukihiro "Matz" Matsumoto - Creator of Ruby lang
- David Heinemeier Hansson - Creator of Rails framework
- Avdi Grimm - Host of Ruby Tapas webcasts
- Aman Gupta - Ruby core committer
-
Admin Panels
- administrate
- active_admin
- rails_admin - to-use interface for managing your data
-
Audio
-
Auditing
-
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
- byebug - Debugging in Ruby 2
- debugger - port of ruby-debug that works on 1.9.2 and 1.9.3
- puts_debuggerer - Debugger-less debugging FTW
-
Distribution
-
Documentation
-
Downloader
- GitHub Starred Repos Downloader - gsrd downloads your public starred repos. Just in case you want to keep a backup of them from time to time.
-
E-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
- abstract_feature_branch
- helioth
- flipper
- flip - wide)
- rollout
-
Forms
- simple_form
- formtastic
- bootstrap_form - style forms into your Rails application
-
Geolocation
-
Git Tools
- katip - Change logger for Git initialized projects
-
HTTP
-
Imagery
- rmagick
- minimagick
- chunky_png
- image_optim
- magickly - able) service
-
Internationalization
- globalize - facto standard library for ActiveRecord model/data translation
- i18n-tasks
-
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
- DocRaptor - based HTML-to-PDF API
- wicked_pdf
- pdfkit
- prawn
- InvoicePrinter - Super simple PDF invoicing in Ruby (built on top of Prawn).
-
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
- Resque - backed Ruby library for creating background jobs, placing them on multiple queues.
- Delayed::Job
- Qu
- Sidekiq
-
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
- rack-google-analytics
- DataDog
- Instrumental - scale, non-blocking agent for [Instrumental](https://instrumentalapp.com) application monitoring
- Keen IO
-
Static Page Generation
-
Starter Apps
- suspenders
- ruby2-rails4-bootstrap-heroku
- rails-bootstrap - end framework
- rails4-starterkit
- cybele - Rails 4.x template with responder, simple form, haml, exception notification, etc ...
-
Tagging
- acts-as-taggable-on - A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.
-
Video
-
Web Crawling
- upton - included framework for easy web-scraping
- metainspector
-
Web Servers
Programming Languages
Categories
WebSocket
25
Testing
22
Spreadsheets
21
Third-party APIs
15
People to Follow
13
Authentication and OAuth
11
CMS
11
CSS and Styling
8
RESTful API
8
ORM
8
Web Servers
7
Environment Management
7
Search
7
HTTP
6
DevOps Tools
6
Code Analysis and Linter
6
Template Engine
6
Error Handling
5
Web Frameworks
5
Editor Plugins
5
Imagery
5
Starter Apps
5
Feature flipping
5
PDF Processing
5
Queue
4
Push Notification
4
Scheduling
4
Site Monitoring
4
File Uploading
4
E-Commerce & Online Paying
4
Debugging Tools
3
Command-line Tools
3
Documentation
3
Package Management
3
Forms
3
Pagination
3
Admin Panels
3
GUI
3
Data Validation
2
Build Tools
2
Cloud Services
2
Static Page Generation
2
HTML/XML/CSS Manipulation
2
Database Drivers
2
Internationalization
2
Auditing
2
E-Mail
2
High Performance
2
Presentation Tools
2
Date and Time
2
Anti-spam
2
Web Crawling
2
Geolocation
2
Asset Management
2
Data Visualization
1
Audio
1
Git Tools
1
Profiling
1
Multi-tenancy
1
Caching
1
Processes and Threads
1
Machine Learning
1
Logging
1
Distribution
1
Text Processing
1
Serverless
1
Downloader
1
Natural Language Processing
1
Game Development
1
Tagging
1
Video
1
Sub Categories
Keywords
ruby
74
rails
31
activerecord
8
ruby-on-rails
5
http
5
ruby-gem
4
jruby
4
postgresql
4
search
4
authorization
3
feature-flags
3
redis
3
github
3
static-analysis
3
deployment
3
cms
3
server
3
client
2
logger
2
authentication
2
rack
2
rdoc
2
prawn
2
apm
2
notifications
2
push-notifications
2
static-site-generator
2
markdown
2
webpush
2
sinatra
2
mongoid
2
background-jobs
2
rollout
2
cloud
2
slim
2
rails-engine
2
swt
2
windows
2
bootstrap
2
cli
2
plugin
2
pagination
2
security
2
sass
2
elasticsearch
2
static-code-analysis
2
productivity
2
mysql
2
java
2
scheduler
2