├── CONTRIBUTING.md
└── README.md
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contribution Guidelines
2 |
3 | * Use the following format: `[LIBRARY](LINK) - DESCRIPTION.`
4 | * The link should be the name of the package or project.
5 | * Links and categories should be sorted alphabetically.
6 | * Add one link per Pull-Request.
7 | * Keep descriptions concise, clear and simple, and end them with a period / stop.
8 | * New categories, or improvements to the existing ones are also welcome.
9 | * Make sure your text editor is set to remove trailing whitespace.
10 |
11 | ## Quality standard
12 |
13 | To stay on the list, projects should follow these quality standards:
14 |
15 | * Generally useful to the community.
16 | * Actively maintained (even if that just means take care of open issues).
17 | * Stable.
18 | * Documented.
19 | * Tests.
20 |
21 | Thanks to all [contributors](https://github.com/markets/awesome-ruby/graphs/contributors), you're awesome and wouldn't be possible without you!
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | #
Awesome Ruby
2 |
3 | A collection of awesome Ruby libraries, tools, frameworks and software. The essential Ruby to build modern Apps and Web Apps.
4 |
5 | Inspired by the `awesome-*` trend on GitHub.
6 |
7 | The goal is to build a categorized community-driven collection of very well-known resources.
8 |
9 | Sharing, suggestions and contributions are always welcome! Please take a look at the [contribution guidelines and quality standard](https://github.com/markets/awesome-ruby/blob/master/CONTRIBUTING.md) first.
10 |
11 | Thanks to all [contributors](https://github.com/markets/awesome-ruby/graphs/contributors), you're awesome and wouldn't be possible without you!
12 |
13 | * [Awesome Ruby](#awesome-ruby)
14 | * [Abstraction](#abstraction)
15 | * [A/B Testing](#ab-testing)
16 | * [Admin Interface](#admin-interface)
17 | * [Analytics](#analytics)
18 | * [API Builder](#api-builder)
19 | * [Assets](#assets)
20 | * [Authentication and OAuth](#authentication-and-oauth)
21 | * [Authorization](#authorization)
22 | * [Automation](#automation)
23 | * [Caching](#caching)
24 | * [CLI Builder](#cli-builder)
25 | * [CMS](#cms)
26 | * [Code Analysis and Metrics](#code-analysis-and-metrics)
27 | * [Coding Style Guides](#coding-style-guides)
28 | * [Concurrency](#concurrency)
29 | * [Configuration](#configuration)
30 | * [Core Extensions](#core-extensions)
31 | * [Country Data](#country-data)
32 | * [CRM](#crm)
33 | * [Dashboards](#dashboards)
34 | * [Data Visualization](#data-visualization)
35 | * [Database Drivers](#database-drivers)
36 | * [Database Tools](#database-tools)
37 | * [Date and Time Processing](#date-and-time-processing)
38 | * [Debugging Tools](#debugging-tools)
39 | * [Decorators](#decorators)
40 | * [DevOps Tools](#devops-tools)
41 | * [Documentation](#documentation)
42 | * [E-Commerce and Payments](#e-commerce-and-payments)
43 | * [Ebook](#ebook)
44 | * [Email](#email)
45 | * [Environment Management](#environment-management)
46 | * [Error Handling](#error-handling)
47 | * [File Upload](#file-upload)
48 | * [Form Builder](#form-builder)
49 | * [Game Development](#game-development)
50 | * [Geolocation](#geolocation)
51 | * [Git Tools](#git-tools)
52 | * [GUI](#gui)
53 | * [HTML/XML Parsing](#htmlxml-parsing)
54 | * [HTTP](#http)
55 | * [Image Processing](#image-processing)
56 | * [Internationalization](#internationalization)
57 | * [Logging](#logging)
58 | * [Machine Learning](#machine-learning)
59 | * [Markdown Processors](#markdown-processors)
60 | * [Misc](#misc)
61 | * [Mobile Development](#mobile-development)
62 | * [Money](#money)
63 | * [Natural Language Processing](#natural-language-processing)
64 | * [Navigation](#navigation)
65 | * [ORM/ODM](#ormodm)
66 | * [ORM/ODM Extensions](#ormodm-extensions)
67 | * [Package Management](#package-management)
68 | * [Pagination](#pagination)
69 | * [PDF](#pdf)
70 | * [Performance Monitoring](#performance-monitoring)
71 | * [Process Monitoring](#process-monitoring)
72 | * [Processes and Threads](#processes-and-threads)
73 | * [Profiler](#profiler)
74 | * [Queue](#queue)
75 | * [Rails Application Generators](#rails-application-generators)
76 | * [Robotics](#robotics)
77 | * [RSS](#rss)
78 | * [Scheduling](#scheduling)
79 | * [Scientific](#scientific)
80 | * [Search](#search)
81 | * [Security](#security)
82 | * [SEO](#seo)
83 | * [Social Networking](#social-networking)
84 | * [Spreadsheets and Documents](#spreadsheets-and-documents)
85 | * [State Machines](#state-machines)
86 | * [Static Site Generation](#static-site-generation)
87 | * [Template Engine](#template-engine)
88 | * [Testing](#testing)
89 | * [Third-party APIs](#third-party-apis)
90 | * [Video](#video)
91 | * [Web Crawling](#web-crawling)
92 | * [Web Frameworks](#web-frameworks)
93 | * [Web Servers](#web-servers)
94 | * [WebSocket](#websocket)
95 | * [Services and Apps](#services-and-apps)
96 | * [Resources](#resources)
97 | * [Other Awesome Lists](#other-awesome-lists)
98 |
99 | ## Abstraction
100 |
101 | * [ActiveInteraction](https://github.com/orgsync/active_interaction) - Manage application specific business logic.
102 | * [Apotomo](https://github.com/apotonick/apotomo) - Based on Cells, Apotomo gives you widgets and encapsulation, bubbling events, AJAX page updates, rock-solid testing and more.
103 | * [Cells](https://github.com/apotonick/cells) - View Components for Rails.
104 | * [Decent Exposure](https://github.com/hashrocket/decent_exposure) - A helper for creating declarative interfaces in controllers.
105 | * [Interactor](https://github.com/collectiveidea/interactor) - Interactor provides a common interface for performing complex interactions in a single request.
106 | * [Light Service](https://github.com/adomokos/light-service) - Series of Actions with an emphasis on simplicity.
107 | * [Mutations](https://github.com/cypriss/mutations) - Compose your business logic into commands that sanitize and validate input.
108 | * [Responders](https://github.com/plataformatec/responders) - A set of Rails responders to dry up your application.
109 | * [Trailblazer](https://github.com/apotonick/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.
110 | * [wisper](https://github.com/krisleech/wisper) - A micro library providing Ruby objects with Publish-Subscribe capabilities.
111 |
112 | ##A/B Testing
113 |
114 | * [Split](https://github.com/andrew/split) - Rack Based AB testing framework.
115 | * [Vanity](https://github.com/assaf/vanity) - an A/B testing framework for Rails that is datastore agnostic.
116 |
117 | ## Admin Interface
118 |
119 | * [ActiveAdmin](http://activeadmin.info) - A Ruby on Rails framework for creating elegant backends for website administration.
120 | * [bhf](http://antpaw.github.io/bhf/) - A simple to use Rails-Engine-Gem that offers an admin interface for trusted user.
121 | * [RailsAdmin](https://github.com/sferik/rails_admin) - A Rails engine that provides an easy-to-use interface for managing your data.
122 | * [Typus](https://github.com/typus/typus) - Ruby on Rails control panel to allow trusted users edit structured content.
123 | * [Upmin Admin](https://github.com/upmin/upmin-admin-ruby) - A framework for creating powerful Ruby on Rails admin backends with minimal effort.
124 |
125 | ## Analytics
126 |
127 | * [Ahoy](https://github.com/ankane/ahoy) - A solid foundation to track visits and events in Ruby, JavaScript, and native apps.
128 | * [Analytical](https://github.com/jkrall/analytical) - Gem for managing multiple analytics services in your rails app.
129 | * [FnordMetric](https://github.com/paulasmuth/fnordmetric) - A ruby/redis framework for collecting and visualizing timeseries data. It enables you to build beautiful real-time analytics dashboards within minutes.
130 | * [Gabba](https://github.com/hybridgroup/gabba) - Simple way to send server-side notifications to Google Analytics.
131 | * [Impressionist](https://github.com/charlotte-ruby/impressionist) - Rails Plugin that tracks impressions and page views.
132 | * [Legato](https://github.com/tpitale/legato) - Model analytics reports and queries against the official Google Analytics Reporting API.
133 | * [Rack::Tracker](https://github.com/railslove/rack-tracker) - Rack middleware that can be hooked up to multiple services and exposing them in a unified fashion.
134 | * [Staccato](https://github.com/tpitale/staccato) - Track analytics into the official Google Analytics Collection API.
135 |
136 | ## API Builder
137 |
138 | * [ActiveModel::Serializers](https://github.com/rails-api/active_model_serializers) - JSON serialization of objects.
139 | * [Blanket](https://github.com/inf0rmer/blanket) - A dead simple API wrapper.
140 | * [Crêpe](https://github.com/crepe/crepe) - The thin API stack.
141 | * [Grape](http://intridea.github.io/grape) - An opinionated micro-framework for creating REST-like APIs in Ruby.
142 | * [jbuilder](https://github.com/rails/jbuilder) - Create JSON structures via a Builder-style DSL.
143 | * [JSONAPI::Resources](https://github.com/cerebris/jsonapi-resources) - JSONAPI::Resources, or "JR", provides a framework for developing a server that complies with the JSON API specification.
144 | * [Jsonite](https://github.com/barrelage/jsonite) - A tiny, HAL-compliant JSON presenter for your APIs.
145 | * [Pliny](https://github.com/interagent/pliny) - Opinionated template Sinatra app for writing excellent APIs in Ruby.
146 | * [rabl](https://github.com/nesquena/rabl) - General ruby templating with json, bson, xml, plist and msgpack support.
147 | * [Rails::API](https://github.com/rails-api/rails-api) - Rails for API only applications.
148 | * [Roar](https://github.com/apotonick/roar) - Resource-Oriented Architectures in Ruby.
149 | * [Version Cake](https://github.com/bwillis/versioncake) - An unobtrusive way to version APIs in your Rails app.
150 | * [versionist](https://github.com/bploetz/versionist) - A plugin for versioning Rails based RESTful APIs.
151 |
152 | ## Assets
153 |
154 | * [Emoji](https://github.com/steveklabnik/emoji) - Exposes the Phantom Open Emoji library unicode/image assets and APIs for working with them.
155 | * [Less Rails](https://github.com/metaskills/less-rails) - The dynamic stylesheet language for the Rails asset pipeline.
156 | * [Less](https://github.com/cowboyd/less.rb) - Leaner CSS, in your browser or Ruby.
157 | * [Sass](http://sass-lang.com) - Sass makes CSS fun again.
158 | * Management:
159 | * [Asset Sync](https://github.com/rumblelabs/asset_sync) - Synchronises Assets between Rails and S3.
160 | * [Autoprefixer](https://github.com/ai/autoprefixer-rails) - Parse CSS and add vendor prefixes to rules by Can I Use.
161 | * [bower-rails](https://github.com/42dev/bower-rails) - Bower support for Rails projects.
162 | * [Rails Assets](https://rails-assets.org) - Bundler to Bower proxy.
163 | * [Sprockets](https://github.com/sstephenson/sprockets) - Rack-based asset packaging system.
164 | * Development:
165 | * [Quiet Assets](https://github.com/evrone/quiet_assets) - Mute assets pipeline log messages.
166 |
167 | ## Authentication and OAuth
168 |
169 | * [Authlogic](https://github.com/binarylogic/authlogic) - Authlogic is a clean, simple, and unobtrusive ruby authentication solution.
170 | * [Clearance](https://github.com/thoughtbot/clearance) - Small and simple email & password based authenticaton for Rails.
171 | * [Devise](https://github.com/plataformatec/devise) - A flexible authentication solution for Rails based on Warden.
172 | * [OmniAuth](https://github.com/intridea/omniauth) - A library that standardizes multi-provider authentication utilizing Rack middleware.
173 | * [Shield](https://github.com/cyx/shield) - Authentication protocol for use in your routing and model context.
174 | * [Sorcery](https://github.com/NoamB/sorcery) - Magical Authentication for Rails 3 and 4.
175 | * [warden](https://github.com/hassox/warden) - General Rack Authentication Framework.
176 | * OAuth:
177 | * [Doorkeeper](https://github.com/doorkeeper-gem/doorkeeper) - An OAuth2 provider for Rails.
178 | * [OAuth2](https://github.com/intridea/oauth2) - A Ruby wrapper for the OAuth 2.0 protocol.
179 |
180 | ## Authorization
181 |
182 | * [acl9](https://github.com/be9/acl9) - Acl9 is a role-based authorization system that provides a concise DSL for securing your Rails application.
183 | * [Authority](https://github.com/nathanl/authority) - ORM-neutral way to authorize actions in your Rails app.
184 | * [CanCanCan](https://github.com/CanCanCommunity/cancancan) - Continuation of CanCan, an authorization Gem for Ruby on Rails.
185 | * [Declarative Authorization](https://github.com/stffn/declarative_authorization) - An authorization Rails plugin using a declarative DSL for specifying authorization rules in one place.
186 | * [Pundit](https://github.com/elabs/pundit) - Minimal authorization through OO design and pure Ruby classes.
187 |
188 | ## Automation
189 |
190 | * [Huginn](https://github.com/cantino/huginn) - Huginn is a system for building agents that perform automated tasks for you online.
191 |
192 | ## Caching
193 |
194 | * [Action caching for Action Pack](https://github.com/rails/actionpack-action_caching) - Action caching for Action Pack.
195 | * [Dalli](https://github.com/mperham/dalli) - A high performance pure Ruby client for accessing memcached servers.
196 | * [Record Cache](https://github.com/orslumen/record-cache) - Cache Active Model Records in Rails 3.
197 |
198 | ## CLI Builder
199 |
200 | * [Cocaine](https://github.com/thoughtbot/cocaine) - A small library for doing (command) lines.
201 | * [Commander](https://github.com/visionmedia/commander) - The complete solution for Ruby command-line executables.
202 | * [GLI](https://github.com/davetron5000/gli) - Git-Like Interface Command Line Parser.
203 | * [Main](https://github.com/ahoward/main) - A class factory and DSL for generating command line programs real quick.
204 | * [Rake](https://github.com/jimweirich/rake) - A make-like build utility for Ruby.
205 | * [Ru](https://github.com/tombenner/ru) - Ruby in your shell.
206 | * [Slop](https://github.com/leejarvis/slop) - Simple Lightweight Option Parsing.
207 | * [Thor](http://whatisthor.com) - A toolkit for building powerful command-line interfaces.
208 | * [TTY](https://github.com/peter-murach/tty) - Toolbox for developing CLI clients.
209 |
210 | ## CMS
211 | * [Alchemy CMS](http://alchemy-cms.com) - A powerful, userfriendly and flexible Open Source Rails CMS.
212 | * [Comfortable Mexican Sofa](https://github.com/comfy/comfortable-mexican-sofa) - A powerful Rails 4 CMS Engine.
213 | * [LocomotiveCMS](http://www.locomotivecms.com) - A simple but powerful CMS based on Liquid templates and Mongodb database.
214 | * [Publify](https://github.com/publify/publify) - A self hosted Web publishing platform on Rails.
215 | * [Radiant](http://radiantcms.org) - A no-fluff, open source content management system designed for small teams.
216 | * [Refinery CMS](http://refinerycms.com) - An open source Ruby on Rails content management system for Rails 3 and 4.
217 | * [Storytime](https://github.com/FlyoverWorks/storytime/) - Rails 4+ CMS and bloging engine, with a core focus on content.
218 |
219 | ## Code Analysis and Metrics
220 |
221 | * [Brakeman](https://github.com/presidentbeef/brakeman) - A static analysis security vulnerability scanner for Ruby on Rails applications.
222 | * [Cane](https://github.com/square/cane) - Code quality threshold checking as part of your build.
223 | * [Coverband](https://github.com/danmayer/coverband) - Rack middleware to help measure production code coverage.
224 | * [Flay](https://github.com/seattlerb/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.
225 | * [Flog](https://github.com/seattlerb/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.
226 | * [fukuzatsu](https://gitlab.com/coraline/fukuzatsu/tree/master) - Complexity analysis tool with a rich web front-end.
227 | * [MetricFu](https://github.com/metricfu/metric_fu) - A fist full of code metrics.
228 | * [Pronto](https://github.com/mmozuras/pronto) - Quick automated code review of your changes.
229 | * [rails_best_practices](https://github.com/railsbp/rails_best_practices) - A code metric tool for rails projects.
230 | * [Reek](https://github.com/troessner/reek) - Code smell detector for Ruby.
231 | * [Rubocop](https://github.com/bbatsov/rubocop) - A static code analyzer, based on the community Ruby style guide.
232 | * [Rubycritic](https://github.com/whitesmith/rubycritic) - A Ruby code quality reporter.
233 | * [SimpleCov](https://github.com/colszowka/simplecov) - Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites.
234 |
235 | ## Coding Style Guides
236 |
237 | * [fast-ruby](https://github.com/JuanitoFatas/fast-ruby) - Writing Fast Ruby. Collect Common Ruby idioms.
238 | * [Rails style guide](https://github.com/bbatsov/rails-style-guide) - Community-driven Rails best practices and style for Rails 3 and 4.
239 | * [RSpec style guide](https://github.com/andreareginato/betterspecs) - Better Specs { rspec guidelines with ruby }.
240 | * [Ruby style guide](https://github.com/bbatsov/ruby-style-guide) - Community-driven Ruby coding style.
241 |
242 | ## Concurrency
243 |
244 | * [Celluloid](http://celluloid.io) - Actor-based concurrent object framework for Ruby.
245 | * [Concurrent Ruby](https://github.com/ruby-concurrency/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.
246 | * [EventMachine](https://github.com/eventmachine/eventmachine) - An event-driven I/O and lightweight concurrency library for Ruby.
247 |
248 | ## Configuration
249 |
250 | * [Configatron](https://github.com/markbates/configatron) - Simple and feature rich configuration system for Ruby apps.
251 | * [Configus](https://github.com/kaize/configus) - Helps you easily manage environment specific settings.
252 | * [dotenv](https://github.com/bkeepers/dotenv) - Loads environment variables from `.env`.
253 | * [Econfig](https://github.com/elabs/econfig) - Flexible configuration for Rails applications.
254 | * [Figaro](https://github.com/laserlemon/figaro) - Simple, Heroku-friendly Rails app configuration using `ENV` and a single YAML file.
255 | * [Global](https://github.com/railsware/global) - Provides accessor methods for your configuration data.
256 | * [RailsConfig](https://github.com/railsconfig/rails_config) - Multi-environment yaml settings for Rails3.
257 |
258 | ## Core Extensions
259 |
260 | * [ActiveSupport](https://github.com/rails/rails/tree/master/activesupport) - A collection of utility classes and standard library extensions.
261 | * [Ruby Facets](https://github.com/rubyworks/facets) - The premiere collection of general purpose method extensions and standard additions for Ruby.
262 | * Attributes
263 | * [ActiveAttr](https://github.com/cgriego/active_attr) - What ActiveModel left out.
264 | * [FastAttributes](https://github.com/applift/fast_attributes) - FastAttributes adds attributes with their types to the class.
265 | * [Virtus](https://github.com/solnic/virtus) - Attributes on Steroids for Plain Old Ruby Objects.
266 | * Hash
267 | * [Hashie](https://github.com/intridea/hashie) - A collection of tools that extend Hashes and make them more useful.
268 |
269 | ## Country Data
270 |
271 | * [Carmen](https://github.com/jim/carmen) - A repository of geographic regions.
272 | * [Countries](https://github.com/hexorx/countries) - All sorts of useful information about every country packaged as pretty little country objects.
273 | * [GlobalPhone](https://github.com/sstephenson/global_phone) - Parse, validate, and format phone numbers in Ruby using Google's libphonenumber database.
274 | * [i18n_data](https://github.com/grosser/i18n_data) - country/language names and 2-letter-code pairs, in 85 languages, for country/language i18n.
275 | * [normalize_country](https://github.com/sshaw/normalize_country) - Convert country names and codes to a standard, includes a conversion program for XMLs, CSVs and DBs.
276 |
277 | ## CRM
278 |
279 | * [Fat Free CRM](https://github.com/fatfreecrm/fat_free_crm) - An open source Ruby on Rails based customer relationship management platform.
280 |
281 | ## Dashboards
282 |
283 | * [Dashing](http://shopify.github.io/dashing/) - A Sinatra based framework that lets you build beautiful dashboards.
284 | * [Dashing-Rails](https://github.com/gottfrois/dashing-rails) - The exceptionally handsome dashboard framework for Rails.
285 |
286 | ## Data Visualization
287 |
288 | * [Chartkick](http://ankane.github.io/chartkick/) - Create beautiful Javascript charts with one line of Ruby. Works with Rails, Sinatra and most browsers (including IE 6).
289 | * [LazyHighCharts](https://github.com/michelson/lazy_high_charts) - 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.
290 | * [RailRoady](https://github.com/preston/railroady) - Ruby on Rails 3/4 model and controller UML class diagram generator.
291 | * [Rails Erd](https://github.com/voormedia/rails-erd) - Generate Entity-Relationship Diagrams for Rails applications.
292 | * [Ruby/GraphViz](https://github.com/glejeune/Ruby-Graphviz) - Ruby interface to the GraphViz graphing tool.
293 |
294 | ## Database Drivers
295 |
296 | * [Cassandra Driver](https://github.com/datastax/ruby-driver) - A pure ruby driver for Apache Cassandra with asynchronous io and configurable load balancing, reconnection and retry policies.
297 | * [DataObjects](https://github.com/datamapper/do) - An attempt to rewrite existing Ruby database drivers to conform to one, standard interface.
298 | * [mongo-ruby-driver](https://github.com/mongodb/mongo-ruby-driver) - MongoDB Ruby driver.
299 | * [moped](http://mongoid.org/en/moped/index.html) - A MongoDB driver for Ruby.
300 | * [mysql2](https://github.com/brianmario/mysql2) - A modern, simple and very fast Mysql library for Ruby (binding to libmysql).
301 | * [Redic](https://github.com/amakawa/redic) - Lightweight Redis Client.
302 | * [redis-rb](https://github.com/redis/redis-rb) - A Ruby client that tries to match Redis' API one-to-one, while still providing an idiomatic interface.
303 | * [ruby-pg](https://bitbucket.org/ged/ruby-pg) - Ruby interface to PostgreSQL 8.3 and later.
304 | * [SQLite3](https://github.com/sparklemotion/sqlite3-ruby) - Ruby bindings for the SQLite3 embedded database.
305 | * [SQL Server](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter) - The SQL Server adapter for ActiveRecord.
306 |
307 | ## Database Tools
308 |
309 | * [Database Cleaner](https://github.com/DatabaseCleaner/database_cleaner) - Database Cleaner is a set of strategies for cleaning your database in Ruby.
310 | * [Foreigner](https://github.com/matthuhiggins/foreigner) - Adds foreign key helpers to migrations and correctly dumps foreign keys to schema.rb.
311 | * [Large Hadron Migrator](https://github.com/soundcloud/lhm) - Online MySQL schema migrations without locking the table.
312 | * [PgHero](https://github.com/ankane/pghero) - Postgres insights made easy.
313 | * [Seedbank](https://github.com/james2m/seedbank) - Seedbank allows you to structure your Rails seed data instead of having it all dumped into one large file.
314 | * [Seed dump](https://github.com/rroblak/seed_dump) - Rails 4 task to dump (parts) of your database to db/seeds.rb.
315 | * [Seed Fu](https://github.com/mbleigh/seed-fu) - Advanced seed data handling for Rails.
316 |
317 | ## Date and Time Processing
318 |
319 | * [biz](https://github.com/zendesk/biz) - Time calculations using business hours.
320 | * [business_time](https://github.com/bokmann/business_time) - Support for doing time math in business hours and days.
321 | * [ByStar](https://github.com/radar/by_star) - Find ActiveRecord objects by year, month, fortnight, week and more!
322 | * [Chronic](https://github.com/mojombo/chronic) - A natural language date/time parser written in pure Ruby.
323 | * [groupdate](https://github.com/ankane/groupdate) - The simplest way to group temporal data in ActiveRecord, arrays and hashes.
324 | * [ice_cube](https://github.com/seejohnrun/ice_cube) - A date recurrence library which allows easy creation of recurrence rules and fast querying.
325 | * [local_time](https://github.com/basecamp/local_time) - Rails Engine for cache-friendly, client-side local time.
326 | * [time-lord](https://github.com/krainboltgreene/time-lord) - Adds extra functionality to the time class.
327 | * [time_diff](https://github.com/abhidsm/time_diff) - Calculates the difference between two time.
328 | * [TZinfo](https://github.com/tzinfo/tzinfo) - Provides daylight savings aware transformations between times in different timezones.
329 | * [validates_timeliness](https://github.com/adzap/validates_timeliness) - Date and time validation plugin for ActiveModel and Rails.
330 | * [yymmdd](https://github.com/sshaw/yymmdd) - Tiny DSL for idiomatic date parsing and formatting.
331 |
332 | ## Debugging Tools
333 |
334 | * [Byebug](https://github.com/deivid-rodriguez/byebug) - A simple to use, feature rich debugger for Ruby 2.
335 | * [debugger](https://github.com/cldwalker/debugger) - A port of ruby-debug that works on 1.9.2 and 1.9.3.
336 | * [did_you_mean](https://github.com/yuki24/did_you_mean) - Adds class, method & attributute suggestions to error messages.
337 | * [Rails Footnotes](https://github.com/josevalim/rails-footnotes) - Rails footnotes displays footnotes in your application for easy debugging, such as sessions, request parameters, cookies, filter chain, routes, queries, etc.
338 | * [Xray](https://github.com/brentd/xray-rails) - A development tool that reveals your UI's bones.
339 |
340 | ## Decorators
341 |
342 | * [Draper](https://github.com/drapergem/draper) - Draper adds an object-oriented layer of presentation logic to your Rails application.
343 | * [ShowFor](https://github.com/plataformatec/show_for) - Quickly show a model information with I18n features. Like form_for for displaying model data.
344 |
345 | ## DevOps Tools
346 |
347 | * [Backup](https://github.com/meskyanichi/backup) - Provides an elegant DSL in Ruby for performing backups on UNIX-like systems.
348 | * [BOSH](https://github.com/cloudfoundry/bosh) - Cloud Foundry BOSH is an open source tool chain for release engineering, deployment and lifecycle management of large scale distributed services.
349 | * [Capistrano](http://capistranorb.com) - A remote server automation and deployment tool written in Ruby.
350 | * [Centurion](https://github.com/newrelic/centurion) - A mass deployment tool for Docker fleets.
351 | * [Chef](https://github.com/opscode/chef) - A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
352 | * [Kochiku](https://github.com/square/kochiku) - Kochiku is a distributed platform for test automation.
353 | * [Lita](https://www.lita.io/) - ChatOps for Ruby: A pluggable chat bot framework usable with any chat service.
354 | * [Logstash](https://github.com/elasticsearch/logstash) - Logs/event transport, processing, management, search.
355 | * [Mina](https://github.com/mina-deploy/mina) - Really fast deployer and server automation tool.
356 | * [Puppet](https://github.com/puppetlabs/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.
357 | * [Request-log-analyzer](https://github.com/wvanbergen/request-log-analyzer) - Create reports based on your log files. Supports Rails, Apache, MySQL, Delayed::Job, and other formats.
358 | * [Rubber](https://github.com/rubber/rubber) - The rubber plugin enables relatively complex multi-instance deployments of RubyOnRails applications to Amazon's Elastic Compute Cloud (EC2).
359 | * [Vagrant](http://www.vagrantup.com) - Create and configure lightweight, reproducible, and portable development environments.
360 |
361 | ## Documentation
362 |
363 | * [Annotate](https://github.com/ctran/annotate_models) - Add a comment documenting the current schema to the top or bottom of each of your ActiveRecord models.
364 | * [Apipie](https://github.com/Apipie/apipie-rails) - Rails API documentation and display tool using Ruby syntax.
365 | * [Asciidoctor](http://asciidoctor.org) - A fast, Ruby-based text processor & publishing toolchain for converting AsciiDoc to HTML5, DocBook, EPUB3, PDF & more.
366 | * [Documentation](https://github.com/adamcooke/documentation) - A Rails engine to provider the ability to add documentation to a Rails application.
367 | * [grape-swagger](https://github.com/tim-vandecasteele/grape-swagger) - Add swagger compliant documentation to your Grape API.
368 | * [Inch](https://github.com/rrrene/inch) - Inch is a documentation measurement and evalutation tool for Ruby code, based on YARD.
369 | * [RDoc](https://github.com/rdoc/rdoc) - RDoc produces HTML and command-line documentation for Ruby projects.
370 | * [YARD](http://yardoc.org) - YARD enables the user to generate consistent, usable documentation that can be exported to a number of formats very easily.
371 |
372 | ## E-Commerce and Payments
373 |
374 | * [Active Merchant](https://github.com/Shopify/active_merchant) - A simple payment abstraction library extracted from Shopify.
375 | * [Koudoku](https://github.com/andrewculver/koudoku) - Robust subscription support for Ruby on Rails apps using Stripe, including out-of-the-box pricing pages, payment pages, and subscription management.
376 | * [Payola](https://github.com/peterkeen/payola) - Drop-in Rails engine for accepting payments with Stripe.
377 | * [Paypal Merchant SDK](https://github.com/paypal/merchant-sdk-ruby) - Official Paypal Merchant SDK for Ruby.
378 | * [Piggybak](https://github.com/piggybak/piggybak) - Modular, Extensible open-source ecommerce solution for Ruby on Rails.
379 | * [ROR Ecommerce](https://github.com/drhenner/ror_ecommerce) - A Rails e-commerce platform.
380 | * [Shoppe](http://tryshoppe.com) - A Rails-based e-commerce platform which allows you to easily introduce a catalogue-based store into your Rails 4 applications.
381 | * [Spree](https://github.com/spree/spree) - Spree is a complete open source e-commerce solution for Ruby on Rails.
382 | * [stripe-ruby](https://github.com/stripe/stripe-ruby) - Stripe Ruby bindings.
383 |
384 | ## Ebook
385 |
386 | * [Bookshop](https://github.com/blueheadpublishing/bookshop) - Bookshop is a an open-source agile book development and publishing framework for authors, editors.
387 | * [Eeepub](https://github.com/jugyo/eeepub) - EeePub is a Ruby ePub generator.
388 | * [Gepub](https://github.com/skoji/gepub) - A generic EPUB library for Ruby : supports EPUB 3.
389 | * [Git Scribe](https://github.com/schacon/git-scribe) - Basically the best way to write an ebook.
390 | * [Mobi](https://github.com/jkongie/mobi) - A Ruby way to read MOBI format metadata.
391 | * [Review](https://github.com/kmuto/review) - Re:VIEW is flexible document format/conversion system.
392 |
393 | ## Email
394 |
395 | * [Incoming](https://github.com/honeybadger-io/incoming) - Incoming! helps you receive email in your Rack apps.
396 | * [LetterOpener](https://github.com/ryanb/letter_opener) - Preview mail in the browser instead of sending.
397 | * [Mail](https://github.com/mikel/mail) - A Really Ruby Mail Library.
398 | * [MailCatcher](http://mailcatcher.me) - Catches mail and serves it through a dream.
399 | * [MailForm](https://github.com/plataformatec/mail_form) - Send e-mail straight from forms in Rails with I18n, validations, attachments and request information.
400 | * [Mailman](https://github.com/titanous/mailman) - An incoming mail processing microframework in Ruby.
401 | * [Markerb](https://github.com/plataformatec/markerb) - Allows you to render multipart e-mails from a single template written in Markdown.
402 | * [Pony](https://github.com/benprew/pony) - The express way to send mail from Ruby.
403 | * [premailer-rails](https://github.com/fphilipe/premailer-rails) - CSS styled emails without the hassle.
404 | * [Roadie](https://github.com/Mange/roadie) - Roadie tries to make sending HTML emails a little less painful by inlining stylesheets and rewriting relative URLs for you inside your emails.
405 |
406 | ## Environment Management
407 |
408 | * [chgems](https://github.com/postmodern/chgems) - Chroot for RubyGems.
409 | * [chruby](https://github.com/postmodern/chruby) - Change your current Ruby. No shims, no crazy options or features, ~90 LOC.
410 | * [fry](https://github.com/terlar/fry) - Simple ruby version manager for fish.
411 | * [gem_home](https://github.com/postmodern/gem_home) - A tool for changing your $GEM_HOME.
412 | * [rbenv](https://github.com/sstephenson/rbenv) - Use rbenv to pick a Ruby version for your application and guarantee that your development environment matches production.
413 | * [ruby-build](https://github.com/sstephenson/ruby-build) - Compile and install Ruby.
414 | * [ruby-install](https://github.com/postmodern/ruby-install) - Installs Ruby, JRuby, Rubinius, MagLev or MRuby.
415 | * [RVM](https://rvm.io) - 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.
416 | * [Tokaido](https://github.com/tokaido/tokaidoapp/releases) - 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.
417 |
418 | ## Error Handling
419 |
420 | * [Airbrake](https://github.com/airbrake/airbrake) - The official Airbrake library for Ruby on Rails (and other Rack based frameworks).
421 | * [Better Errors](https://github.com/charliesome/better_errors) - Better error page for Rack apps.
422 | * [Errbit](http://errbit.github.io/errbit) - The open source, self-hosted error catcher.
423 | * [Exception Notification](https://github.com/smartinez87/exception_notification) - A set of notifiers for sending notifications when errors occur in a Rack/Rails application.
424 | * [Nesty](https://github.com/skorks/nesty) - Nested exceptions for Ruby.
425 | * [Raven Ruby](https://github.com/getsentry/raven-ruby) - Raven is a Ruby client for Sentry.
426 |
427 | ## File Upload
428 |
429 | * [CarrierWave](https://github.com/carrierwaveuploader/carrierwave) - Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks.
430 | * [DragonFly](https://github.com/markevans/dragonfly) - A Ruby gem for on-the-fly processing - suitable for image uploading in Rails, Sinatra and much more!.
431 | * [PaperClip](https://github.com/thoughtbot/paperclip) - Easy file attachment management for ActiveRecord.
432 | * [rack-secure-upload](https://github.com/dtaniwaki/rack-secure-upload) - Upload files securely.
433 | * [Refile](https://github.com/elabs/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.
434 |
435 | ## Form Builder
436 |
437 | * [Abracadabra](https://github.com/TrevorHinesley/abracadabra) - The gem that swaps out text with a fully-compliant Rails form in one click.
438 | * [Formtastic](https://github.com/justinfrench/formtastic) - A Rails form builder plugin with semantically rich and accessible markup.
439 | * [Rails Bootstrap Forms](https://github.com/bootstrap-ruby/rails-bootstrap-forms) - Rails form builder that makes it super easy to create beautiful-looking forms with Twitter Bootstrap 3+.
440 | * [Simple Form](https://github.com/plataformatec/simple_form) - Rails forms made easy.
441 | * Nested Forms:
442 | * [ActiveForm](https://github.com/rails/activeform) - Provides an object-oriented approach to represent your forms by building a Form Object which deals with create/update actions of nested objects in a more seamless way.
443 | * [Cocoon](https://github.com/nathanvda/cocoon) - Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms.
444 | * [Reform](https://github.com/apotonick/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.
445 |
446 | ## Game Development
447 |
448 | * [Gosu](http://www.libgosu.org) - A 2D game development library for the Ruby and C++ programming languages.
449 | * [Yeah](https://github.com/yeahrb/yeah) - Practical Ruby video game framework.
450 |
451 | ## Geolocation
452 |
453 | * [Geocoder](https://github.com/alexreisner/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.
454 | * [geoip](https://github.com/cjheath/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.
455 | * [Geokit](https://github.com/geokit/geokit) - Geokit gem provides geocoding and distance/heading calculations.
456 | * [Google Maps for Rails](https://github.com/apneadiving/Google-Maps-for-Rails) - Enables easy Google map + overlays creation in Ruby apps.
457 |
458 | ## Git Tools
459 | * [ginatra](https://github.com/NARKOZ/ginatra) - A web frontend for Git repositories.
460 | * [git-auto-bisect](https://github.com/grosser/git-autobisect) - Find the commit that broke master.
461 | * [git-spelunk](https://github.com/osheroff/git-spelunk) - Dig through git blame history.
462 | * [git-up](https://github.com/aanand/git-up) - Fetch and rebase all locally-tracked remote branches.
463 | * [git-whence](https://github.com/grosser/git-whence) - Find which merge a commit came from.
464 | * [hub](https://github.com/github/hub) - A command line tool that wraps Git in order to extend it with extra features and commands that make working with GitHub easier.
465 | * [Rugged](https://github.com/libgit2/rugged) - Ruby bindings to libgit2.
466 |
467 | ## GUI
468 |
469 | * [qtbindings](https://github.com/ryanmelt/qtbindings) - Allows the QT Gui toolkit to be used from Ruby.
470 | * [RubyGnome2](http://ruby-gnome2.sourceforge.jp/) - Ruby language bindings for the GNOME 2.0 development environment.
471 | * [Shoes](http://shoesrb.com) - Shoes makes building little graphical programs for Mac, Windows, and Linux super simple.
472 |
473 | ## HTML/XML Parsing
474 |
475 | * [HappyMapper](https://github.com/dam5s/happymapper) - Object to XML mapping library, using Nokogiri.
476 | * [Nokogiri](http://nokogiri.org) - An HTML, XML, SAX, and Reader parser with XPath and CSS selector support.
477 | * [Oga](https://github.com/YorickPeterse/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.
478 | * [ROXML](https://github.com/Empact/roxml) - Custom mapping and bidirectional marshalling between Ruby and XML using annotation-style class methods, via Nokogiri or LibXML.
479 |
480 | ## HTTP
481 |
482 | * [excon](https://github.com/excon/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.
483 | * [Faraday](https://github.com/lostisland/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.
484 | * [Http Client](https://github.com/nahi/httpclient) - Gives something like the functionality of libwww-perl (LWP) in Ruby.
485 | * [http](https://github.com/tarcieri/http) - The HTTP Gem: a simple Ruby DSL for making HTTP requests.
486 | * [httparty](https://github.com/jnunemaker/httparty) - Makes http fun again!
487 | * [Patron](https://github.com/toland/patron) - Patron is a Ruby HTTP client library based on libcurl.
488 | * [RESTClient](https://github.com/rest-client/rest-client) - Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.
489 | * [Savon](https://github.com/savonrb/savon) - Savon is a SOAP client for the Ruby programming language.
490 | * [Sawyer](https://github.com/lostisland/sawyer) - Secret user agent of HTTP, built on top of Faraday.
491 | * [Spyke](https://github.com/balvig/spyke) - Interact with REST services in an ActiveRecord-like manner.
492 | * [Typhoeus](https://github.com/typhoeus/typhoeus) - Typhoeus wraps libcurl in order to make fast and reliable requests.
493 |
494 | ## Image Processing
495 |
496 | * [MiniMagick](https://github.com/minimagick/minimagick) - A ruby wrapper for ImageMagick or GraphicsMagick command line.
497 | * [Phasion](https://github.com/westonplatter/phashion) - Ruby wrapper around pHash, the perceptual hash library for detecting duplicate multimedia files.
498 | * [PSD.rb](https://github.com/layervault/psd.rb) - Parse Photoshop files in Ruby with ease.
499 | * [RMagick](https://github.com/rmagick/rmagick) - RMagick is an interface between Ruby and ImageMagick.
500 | * [Skeptick](https://github.com/maxim/skeptick) - Skeptick is an all-purpose DSL for building and running ImageMagick commands.
501 |
502 | ## Internationalization
503 |
504 | * [FastGettext](https://github.com/grosser/fast_gettext) - Ruby internationalization tool with less memory, simple, clean namespace and threadsafe.
505 | * [Globalize](https://github.com/globalize/globalize) - Globalize builds on the I18n API in Ruby on Rails to add model translations to ActiveRecord models.
506 | * [i18n-tasks](https://github.com/glebm/i18n-tasks) - Manage missing and unused translations with the awesome power of static analysis.
507 | * [i18n](https://github.com/svenfuchs/i18n) - Ruby Internationalization and localization solution.
508 | * [r18n](https://github.com/ai/r18n) - Advanced i18n library for Rails, Sinatra, desktop apps, models, works well with complex languages like Russian.
509 | * [twitter-cldr-rb](https://github.com/twitter/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.
510 |
511 | ## Logging
512 |
513 | * [Cabin](https://github.com/jordansissel/ruby-cabin) - Structured+contextual logging experiments in Ruby.
514 | * [Fluentd](https://github.com/fluent/fluentd) - Fluentd collects events from various data sources and writes them to files, database or other types of storages.
515 | * [HttpLog](https://github.com/trusche/httplog) - Log outgoing HTTP requests.
516 | * [Log4r](https://github.com/colbygk/log4r) - Log4r is a comprehensive and flexible logging library for use in Ruby programs.
517 | * [Logging](https://github.com/TwP/logging) - A flexible logging library for use in Ruby programs based on the design of Java's log4j library.
518 | * [Lograge](https://github.com/roidrage/lograge) - An attempt to tame Rails' default policy to log everything.
519 | * [MongoDB Logger](https://github.com/le0pard/mongodb_logger) - MongoDB logger for Rails.
520 | * [Scrolls](https://github.com/asenchi/scrolls) - Simple logging.
521 | * [Yell](https://github.com/rudionrails/yell) - Your Extensible Logging Library.
522 |
523 | ## Machine Learning
524 |
525 | * [PredictionIO Ruby SDK](https://github.com/PredictionIO/PredictionIO-Ruby-SDK) - The PredictionIO Ruby SDK provides a convenient API to quickly record your users' behavior and retrieve personalized predictions for them.
526 | * [rb-libsvm](https://github.com/febeling/rb-libsvm) - Ruby language bindings for LIBSVM. SVM is a machine learning and classification algorithm.
527 | * [ruby-band](https://github.com/arrigonialberto86/ruby-band) - Machine learning and data mining algorithms for JRuby.
528 | * [Ruby Datumbox Wrapper](https://github.com/marloncarvalho/ruby-datumbox) - It's a simple Ruby Datumbox Wrapper. At the moment the API currently allows you to build applications that make use of machine learning algorithms.
529 |
530 | ## Markdown Processors
531 |
532 | * [kramdown](https://github.com/gettalong/kramdown) - Kramdown is yet-another-markdown-parser but fast, pure Ruby, using a strict syntax definition and supporting several common extensions.
533 | * [Maruku](https://github.com/bhollis/maruku) - A pure-Ruby Markdown-superset interpreter.
534 | * [Redcarpet](https://github.com/vmg/redcarpet) - A fast, safe and extensible Markdown to (X)HTML parser.
535 |
536 | ## Misc
537 |
538 | * [auto_html](https://github.com/dejan/auto_html) - Rails extension for transforming URLs to appropriate resource (image, link, YouTube, Vimeo video...)
539 | * [Betty](https://github.com/pickhardt/betty) - Friendly English-like interface for your command line. Don't remember a command? Ask Betty.
540 | * [Diffy](https://github.com/samg/diffy) - Easy Diffing With Ruby.
541 | * [Foreman](https://github.com/ddollar/foreman) - Manage Procfile-based applications.
542 | * [Gollum](https://github.com/gollum/gollum) - A simple, Git-powered wiki with a sweet API and local frontend.
543 | * [gon](https://github.com/gazay/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.
544 | * [Guard](https://github.com/guard/guard) - A command line tool to easily handle events on file system modifications.
545 | * [JsonCompare](https://github.com/a2design-company/json-compare) - Returns the difference between two JSON files.
546 | * [play ►](https://github.com/play/play) - Your company's dj.
547 | * [Pry Debugger](https://github.com/nixme/pry-debugger) - Pry navigation commands via debugger (formerly ruby-debug).
548 | * [Pry](https://github.com/pry/pry) - A powerful alternative to the standard IRB shell for Ruby.
549 | * [pygments.rb](https://github.com/tmm1/pygments.rb) - A Ruby wrapper for the Python pygments syntax highlighter.
550 | * [RubyDNS](https://github.com/ioquatix/rubydns) - A high-performance DNS server which can be easily integrated into other projects or used as a stand-alone daemon.
551 | * [Ruby Operators](http://ruby-operators.herokuapp.com/) - A webpage showing awesome names for different Ruby operators.
552 | * [Termit](https://github.com/pawurb/termit) - Google Translate with speech synthesis in your terminal.
553 | * [Treetop](https://github.com/cjheath/treetop) - PEG (Parsing Expression Grammar) parser.
554 |
555 | ## Mobile Development
556 |
557 | * [fastlane](https://github.com/KrauseFx/fastlane) - Connect all iOS deployment tools into one streamlined workflow.
558 | * [Ruboto](http://ruboto.org) - A platform for developing full stand-alone apps for Android using the Ruby language and libraries.
559 | * [RubyMotion](http://www.rubymotion.com) - A revolutionary toolchain that lets you quickly develop and test full-fledged native iOS and OS X applications for iPhone, iPad, Mac and Android (beta).
560 |
561 | ## Money
562 |
563 | * [eu_central_bank](https://github.com/RubyMoney/eu_central_bank) - A gem that calculates the exchange rate using published rates from European Central Bank.
564 | * [Monetize](https://github.com/RubyMoney/monetize) - A library for converting various objects into Money objects.
565 | * [Money](https://github.com/RubyMoney/money) - A Ruby Library for dealing with money and currency conversion.
566 |
567 | ## Natural Language Processing
568 |
569 | * [Pragmatic Segmenter](https://github.com/diasks2/pragmatic_segmenter) - Pragmatic Segmenter is a rule-based sentence boundary detection gem that works out-of-the-box across many languages.
570 | * [Text](https://github.com/threedaymonk/text) - A collection of text algorithms including Levenshtein distance, Metaphone, Soundex 2, Porter stemming & White similarity.
571 | * [Treat](https://github.com/louismullie/treat) - Treat is a toolkit for natural language processing and computational linguistics in Ruby.
572 |
573 | ## Navigation
574 |
575 | * [Breadcrumbs on Rails](https://github.com/weppos/breadcrumbs_on_rails) - A simple Ruby on Rails plugin for creating and managing a breadcrumb navigation for a Rails project.
576 | * [Gretel](https://github.com/lassebunk/gretel) - A Ruby on Rails plugin that makes it easy yet flexible to create breadcrumbs.
577 | * [loaf](https://github.com/peter-murach/loaf) - Manages and displays breadcrumb trails in Rails app - lean & mean.
578 | * [Simple Navigation](https://github.com/codeplant/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.
579 |
580 | ## ORM/ODM
581 |
582 | * [ActiveRecord](https://github.com/rails/rails/tree/master/activerecord) - Object-relational mapping in Rails.
583 | * [DataMapper](https://github.com/datamapper/dm-core) - ORM which works well with legacy databases. Last release (1.2.0) was on 13 October 2011.
584 | * [Guacamole](https://github.com/triAGENS/guacamole) - An ODM for ArangoDB.
585 | * [Mongoid](https://github.com/mongoid/mongoid) - An ODM (Object-Document-Mapper) framework for MongoDB in Ruby.
586 | * [MongoMapper](https://github.com/mongomapper/mongomapper) - A Ruby Object Mapper for Mongo.
587 | * [MongoModel](https://github.com/spohlenz/mongomodel) - Ruby ODM for interfacing with MongoDB databases.
588 | * [Ohm](https://github.com/soveran/ohm) - Object-hash mapping library for Redis.
589 | * [Perpetuity](https://github.com/jgaskins/perpetuity) - Persistence gem for Ruby objects using the Data Mapper pattern.
590 | * [ROM](https://github.com/rom-rb/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.
591 | * [Sequel](https://github.com/jeremyevans/sequel) - Sequel is a simple, flexible, and powerful SQL database access toolkit for Ruby.
592 |
593 | ## ORM/ODM Extensions
594 |
595 | * Auditing
596 | * [ActsAsParanoid](https://github.com/ActsAsParanoid/acts_as_paranoid) - ActiveRecord plugin allowing you to hide and restore records without actually deleting them.
597 | * [Audited](https://github.com/collectiveidea/audited) - Audited is an ORM extension for ActiveRecord & MongoMapper that logs all changes to your models.
598 | * [Destroyed At](https://github.com/dockyard/destroyed_at) - Allows you to "destroy" an object without deleting the record or associated records.
599 | * [Espinita](https://github.com/continuum/espinita) - Audit activerecord models like a boss.
600 | * [mongoid-history](https://github.com/aq1018/mongoid-history) - Multi-user non-linear history tracking, auditing, undo, redo for mongoid.
601 | * [PaperTrail](https://github.com/airblade/paper_trail) - Track changes to your ActiveRecord models' data for auditing or versioning.
602 | * [Paranoia](https://github.com/radar/paranoia) - A re-implementation of acts_as_paranoid for Rails 3 and 4, using much, much, much less code.
603 | * [PermenantRecords](https://github.com/JackDanger/permanent_records) - Soft-delete your ActiveRecord records, like an explicit version of ActsAsParanoid.
604 | * Import
605 | * [ActiveImporter](https://github.com/continuum/active_importer) - Define importers that load tabular data from spreadsheets or CSV files into any ActiveRecord-like ORM.
606 | * [data_miner](https://github.com/seamusabshere/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.
607 | * [ferry](https://github.com/cmu-is-projects/ferry) - A ruby gem for easy data transfer.
608 | * Misc
609 | * [ActiveRecord::Turntable](https://github.com/drecom/activerecord-turntable) - A database sharding extension for ActiveRecord.
610 | * [ActiveValidators](https://github.com/franckverrot/activevalidators) - An exhaustive collection of off-the-shelf and tested ActiveModel/ActiveRecord validations.
611 | * [Enumerize](https://github.com/brainspec/enumerize) - Enumerated attributes with I18n and ActiveRecord/Mongoid/MongoMapper support.
612 | * [mini_record](https://github.com/DAddYE/mini_record) - ActiveRecord meets DataMapper, with MiniRecord you are be able to write schema inside your models.
613 | * Multi-tenancy
614 | * [Acts As Tennant](https://github.com/ErwinM/acts_as_tenant) - Add multi-tenancy to a Rails app through a shared database strategy.
615 | * [Apartment](https://github.com/influitive/apartment) - Multi-tenancy for Rails and ActiveRecord.
616 | * Social
617 | * [Acts As Commentable](https://github.com/jackdempsey/acts_as_commentable) - Provides a single Comment model that can be attached to any model(s) within your app.
618 | * [Acts As Commentable with Threading](https://github.com/elight/acts_as_commentable_with_threading) - Similar to acts_as_commentable; however, utilizes awesome_nested_set to provide threaded comments.
619 | * [acts_as_follower](https://github.com/tcocca/acts_as_follower) - Allow any ActiveRecord model to follow any other model.
620 | * [ActiveRecord Reputation System](https://github.com/twitter/activerecord-reputation-system) - An Active Record Reputation System for Rails.
621 | * [ActsAsTaggableOn](https://github.com/mbleigh/acts-as-taggable-on) - A tagging plugin for ActiveRecord that allows for custom tagging along dynamic contexts.
622 | * [Acts As Votable](https://github.com/ryanto/acts_as_votable) - Allow any ActiveRecord model to be voted on, like/dislike, upvote/downvote, etc.
623 | * [Merit](https://github.com/tute/merit) - Adds reputation behavior to Rails apps in the form of Badges, Points, and Rankings for ActiveRecord or Mongoid.
624 | * [Unread](https://github.com/ledermann/unread) - Manage read/unread status of ActiveRecord objects - and it's fast.
625 | * Sorting
626 | * [ActsAsList](https://github.com/swanandp/acts_as_list) - Provides the capabilities for sorting and reordering a number of objects in a list.
627 | * [ranked-model](https://github.com/mixonic/ranked-model) - A modern row sorting library for ActiveRecord. It uses ARel aggressively and is better optimized than most other libraries.
628 | * Tree
629 | * [ActsAsTree](https://github.com/amerine/acts_as_tree) - Extends ActiveRecord to add simple support for organizing items into parent–children relationships.
630 | * [Ancestry](https://github.com/stefankroes/ancestry) - Organise ActiveRecord model into a tree structure using a variation on the materialised path pattern.
631 | * [Awesome Nested Set](https://github.com/collectiveidea/awesome_nested_set) - Awesome Nested Set is an implementation of the nested set pattern for ActiveRecord models.
632 | * [Closure Tree](https://github.com/mceachen/closure_tree) - Easily and efficiently make your ActiveRecord models support hierarchies using a Closure Table.
633 | * [Mongoid Tree](https://github.com/benedikt/mongoid-tree) - A tree structure for Mongoid documents using the materialized path pattern.
634 |
635 | ## Package Management
636 |
637 | * Gems
638 | * [Bundler](http://bundler.io) - Manage your application's gem dependencies with less pain.
639 | * [RubyGems](https://rubygems.org) - Community's gem hosting service.
640 | * Packages and Applications
641 | * [Berkshelf](https://github.com/berkshelf/berkshelf) - A Chef Cookbook manager.
642 | * [CocoaPods](https://github.com/CocoaPods/CocoaPods) - The Objective-C dependency manager.
643 | * [fpm](https://github.com/jordansissel/fpm) - Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
644 | * [Homebrew-cask](https://github.com/caskroom/homebrew-cask) - A CLI workflow for the administration of Mac applications distributed as binaries.
645 | * [Homebrew](https://github.com/Homebrew/homebrew) - The missing package manager for OS X.
646 |
647 | ## Pagination
648 |
649 | * [Kaminari](https://github.com/amatsuda/kaminari) - A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for modern web app frameworks and ORMs.
650 | * [order_query](https://github.com/glebm/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.
651 | * [will_paginate](https://github.com/mislav/will_paginate) - A pagination library that integrates with Ruby on Rails, Sinatra, Merb, DataMapper and Sequel.
652 |
653 | ## PDF
654 |
655 | * [Gimli](https://github.com/walle/gimli) - Utility for converting markup files to pdf files.
656 | * [Kitabu](https://github.com/fnando/kitabu) - A framework for creating e-books from Markdown/Textile text markup using Ruby.
657 | * [Pdfkit](https://github.com/pdfkit/pdfkit) - HTML+CSS to PDF using wkhtmltopdf.
658 | * [Prawn](https://github.com/prawnpdf/prawn) - Fast, Nimble PDF Writer for Ruby.
659 | * [RGhost](https://github.com/shairontoledo/rghost) - RGhost is a document creation and conversion API.
660 | * [Shrimp](https://github.com/adjust/shrimp) - A phantomjs based pdf renderer.
661 | * [Wicked Pdf](https://github.com/mileszs/wicked_pdf) - PDF generator (from HTML) plugin for Ruby on Rails.
662 | * [Wisepdf](https://github.com/igor-alexandrov/wisepdf) - Wkhtmltopdf wrapper done right.
663 |
664 | ## Performance Monitoring
665 |
666 | * [New Relic](https://github.com/newrelic/rpm) - Find and fix Ruby errors with New Relic application monitoring and troubleshooting.
667 | * [Skylight](https://github.com/skylightio/skylight-ruby) - A smart profiler for your Rails apps that visualizes request performance.
668 | * [TraceView](https://github.com/appneta/oboe-ruby) - Full-stack application tracing and brilliant data visualization to build faster, more reliable web apps.
669 |
670 | ## Process Monitoring
671 |
672 | * [Bluepill](https://github.com/bluepill-rb/bluepill) - Simple process monitoring tool.
673 | * [Eye](https://github.com/kostya/eye) — Process monitoring tool. Inspired from Bluepill and God.
674 | * [God](https://github.com/mojombo/god) - An easy to configure, easy to extend monitoring framework written in Ruby.
675 |
676 | ## Processes and Threads
677 |
678 | * [childprocess](https://github.com/jarib/childprocess) - Cross-platform ruby library for managing child processes.
679 | * [forkoff](https://github.com/ahoward/forkoff) - brain-dead simple parallel processing for ruby.
680 | * [Parallel](https://github.com/grosser/parallel) - Run any code in parallel Processes (> use all CPUs) or Threads (> speedup blocking operations).
681 | Best suited for map-reduce or e.g. parallel downloads/uploads.
682 | * [posix-spawn](https://github.com/rtomayko/posix-spawn) - Fast Process::spawn for Rubys >= 1.8.7 based on the posix_spawn() system interfaces.
683 |
684 | ## Profiler
685 |
686 | * [benchmark-ips](https://github.com/evanphx/benchmark-ips) - Provides iteration per second benchmarking for Ruby.
687 | * [bullet](https://github.com/flyerhzm/bullet) - Help to kill N+1 queries and unused eager loading.
688 | * [Peek](https://github.com/peek/peek) - Visual status bar showing Rails performance.
689 | * [perftools.rb](https://github.com/tmm1/perftools.rb) - gperftools (formerly known as google-perftools) for Ruby code.
690 | * [rack-mini-profiler](https://github.com/MiniProfiler/rack-mini-profiler) - Profiler for your development and production Ruby rack apps.
691 | * [Rbkit](https://github.com/code-mancers/rbkit) - profiler for Ruby. With a GUI.
692 | * [ruby-prof](https://github.com/ruby-prof/ruby-prof) - A code profiler for MRI rubies.
693 |
694 | ## Queue
695 |
696 | * [active_job](https://github.com/rails/activejob) - Declare job classes that can be run by a variety of queueing backends.
697 | * [Backburner](https://github.com/nesquena/backburner) - Backburner is a beanstalkd-powered job queue that can handle a very high volume of jobs.
698 | * [Delayed::Job](https://github.com/collectiveidea/delayed_job) - Database backed asynchronous priority queue.
699 | * [Resque](https://github.com/resque/resque) - A Redis-backed Ruby library for creating background jobs.
700 | * [Que](https://github.com/chanks/que) - A Ruby job queue that uses PostgreSQL's advisory locks for speed and reliability.
701 | * [Sidekiq](http://sidekiq.org) - 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.
702 | * [Sucker Punch](https://github.com/brandonhilkert/sucker_punch) - A single process background processing library using Celluloid. Aimed to be Sidekiq's little brother.
703 |
704 | ## Rails Application Generators
705 |
706 | * [Bootstrappers](https://github.com/xdite/bootstrappers) - Bootstrappers generates a base Rails app using Bootstrap template and other goodies.
707 | * [Hobo](https://github.com/Hobo/hobo) - The web app builder for Rails.
708 | * [orats](https://github.com/nickjj/orats) - Opinionated rails application templates.
709 | * [Rails Composer](https://github.com/RailsApps/rails-composer) - The Rails generator on steroids for starter apps.
710 | * [RailsBricks](https://github.com/nicoschuele/railsbricks) - Boost your Rails development productivity.
711 | * [Raygun](https://github.com/carbonfive/raygun) - Builds applications with the common customization stuff already done.
712 | * [Suspenders](https://github.com/thoughtbot/suspenders) - Suspenders is the base Rails application used at thoughtbot.
713 |
714 | ## Robotics
715 |
716 | * [Artoo](http://artoo.io) - Next generation robotics framework with support for different platforms: Arduino, Leap Motion, Pebble, Raspberry Pi, etc.
717 |
718 | ## RSS
719 |
720 | * [Feed normalizer](https://github.com/aasmith/feed-normalizer) - Extensible Ruby wrapper for Atom and RSS parsers.
721 | * [Feedjira](https://github.com/feedjira/feedjira) - A feed fetching and parsing library.
722 | * [Ratom](https://github.com/seangeo/ratom) - A fast, libxml based, Ruby Atom library.
723 | * [Simple rss](https://github.com/cardmagic/simple-rss) - A simple, flexible, extensible, and liberal RSS and Atom reader.
724 |
725 | ## Scheduling
726 |
727 | * [Clockwork](https://github.com/tomykaira/clockwork) - Clockwork is a cron replacement. It runs as a lightweight, long-running Ruby process which sits alongside your web processes (Mongrel/Thin) and your worker processes (DJ/Resque/Minion/Stalker) to schedule recurring work at particular times or dates.
728 | * [minicron](https://github.com/jamesrwhite/minicron) - A system to manage and monitor cron jobs.
729 | * [resque-scheduler](https://github.com/resque/resque-scheduler) - A light-weight job scheduling system built on top of Resque.
730 | * [rufus-scheduler](https://github.com/jmettraux/rufus-scheduler) - Job scheduler for Ruby (at, cron, in and every jobs).
731 | * [Whenever](https://github.com/javan/whenever) - A Ruby gem that provides a clear syntax for writing and deploying cron jobs.
732 |
733 | ## Scientific
734 |
735 | * Artificial intelligence
736 | * [AI4R](https://github.com/sergiofierens/ai4r) - Algorithms covering several Artificial intelligence fields.
737 | * [ruby-fann](https://github.com/tangledpath/ruby-fann) - Ruby library for interfacing with FANN (Fast Artificial Neural Network).
738 | * Bindings
739 | * [ruby-opencv](https://github.com/ruby-opencv/ruby-opencv) - An OpenCV wrapper for Ruby.
740 | * Classifiers
741 | * [classifier-reborn](https://github.com/jekyll/classifier-reborn) - An active fork of Classifier, and general module to allow Bayesian and other types of classifications.
742 | * [stuff-classifier](https://github.com/alexandru/stuff-classifier) - A library for classifying text into multiple categories.
743 | * Numerical arrays
744 | * [NMatrix](https://github.com/sciruby/nmatrix) - Fast numerical linear algebra library for Ruby.
745 | * [NArray](https://github.com/masa16/narray) - N-dimensional Numerical Array for Ruby.
746 | * [mdarray](https://github.com/rbotafogo/mdarray) - Multi dimensional array implemented for JRuby inspired by NumPy.
747 | * [SciRuby](https://github.com/sciruby/sciruby) - Tools for scientific computation in Ruby/Rails.
748 | * [statsample](https://github.com/sciruby/statsample) - A suite for basic and advanced statistics on Ruby.
749 | * [statsample-timeseries](https://github.com/sciruby/statsample-timeseries) - Bioruby Statsample TimeSeries.
750 | * [statsample-glm](https://github.com/sciruby/statsample-glm) - Generalized Linear Models extension for Statsample.
751 | * [distribution](https://github.com/sciruby/distribution) - Statistical Distributions multi library wrapper.
752 | * [integration](https://github.com/sciruby/integration) - Numerical integration methods, based on original work by Beng.
753 | * [minimization](https://github.com/sciruby/minimization) - Minimization algorithms on pure Ruby.
754 | * [publisci](https://github.com/sciruby/publisci) - A toolkit for publishing scientific results to the semantic web.
755 | * [plotrb](https://github.com/sciruby/plotrb) - A plotting library in Ruby built on top of Vega and D3.
756 | * [rb-gsl](https://github.com/SciRuby/rb-gsl) - A ruby interface to GNU Scientific library, with NMatrix support.
757 | * Specific
758 | * [BioRuby](https://github.com/bioruby/bioruby) - Library for developing bioinformatics software.
759 | * [bloomfilter-rb](https://github.com/igrigorik/bloomfilter-rb) - BloomFilter(s) in Ruby: Native counting filter + Redis counting/non-counting filters.
760 | * [decisiontree](https://github.com/igrigorik/decisiontree) - A ruby library which implements ID3 (information gain) algorithm for decision tree learning.
761 | * Utilities
762 | * [smarter_csv](https://github.com/tilo/smarter_csv) - Ruby Gem for smarter importing of CSV Files as Array(s) of Hashes.
763 | * [algorithms](https://github.com/kanwei/algorithms) - Library with documentation on when to use a particular structure/algorithm.
764 |
765 | ## Search
766 |
767 | * [attr_searchable](https://github.com/mrkamel/attr_searchable) - Search engine like fulltext query support for ActiveRecord.
768 | * [elasticsearch-ruby](https://github.com/elasticsearch/elasticsearch-ruby) - Ruby integrations for Elasticsearch.
769 | * [has_scope](https://github.com/plataformatec/has_scope) - Has scope allows you to easily create controller filters based on your resources named scopes.
770 | * [Mongoid Search](https://github.com/mauriciozaffari/mongoid_search) - Simple full text search implementation for Mongoid.
771 | * [pg_search](https://github.com/Casecommons/pg_search) - Builds ActiveRecord named scopes that take advantage of PostgreSQL's full text search.
772 | * [ransack](https://github.com/activerecord-hackery/ransack/) - Object-based searching.
773 | * [Rroonga](https://github.com/ranguba/rroonga) - The Ruby bindings of Groonga.
774 | * [SearchCop](https://github.com/mrkamel/search_cop) - Extends your ActiveRecord models to support fulltext search engine like queries via simple query strings and hash-based queries.
775 | * [Searchkick](https://github.com/ankane/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.
776 | * [Searchlogic](https://github.com/binarylogic/searchlogic) - Object based searching, common named scopes, and other useful named scope tools for ActiveRecord.
777 | * [Sunspot](https://github.com/sunspot/sunspot) - A Ruby library for expressive, powerful interaction with the Solr search engine.
778 | * [textacular](https://github.com/textacular/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!
779 | * [Thinking Sphinx](https://github.com/pat/thinking-sphinx) - A library for connecting ActiveRecord to the Sphinx full-text search tool.
780 |
781 | ## Security
782 |
783 | * [bundler-audit](https://github.com/rubysec/bundler-audit) - Patch-level security verification for Bundler.
784 | * [Gitrob](https://github.com/michenriksen/gitrob) - Reconnaissance tool for GitHub organizations.
785 | * [Metasploit](https://github.com/rapid7/metasploit-framework) - World's most used penetration testing software.
786 | * [RbNaCl](https://github.com/cryptosphere/rbnacl) - Ruby binding to the Networking and Cryptography (NaCl) library.
787 | * [SecureHeaders](https://github.com/twitter/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.
788 |
789 | ## SEO
790 |
791 | * [FriendlyId](https://github.com/norman/friendly_id) - The "Swiss Army bulldozer" of slugging and permalink plugins for Active Record.
792 | * [MetaTags](https://github.com/kpumuk/meta-tags) - A gem to make your Rails application SEO-friendly.
793 | * [SitemapGenerator](https://github.com/kjvarga/sitemap_generator) - A framework-agnostic XML Sitemap generator written in Ruby.
794 |
795 | ## Social Networking
796 |
797 | * [Campo](https://github.com/chloerei/campo) - Campo is a lightweight forum application, base on Ruby on Rails.
798 | * [diaspora*](https://github.com/diaspora/diaspora) - A privacy aware, distributed, open source social network.
799 | * [Discourse](https://github.com/discourse/discourse) - A platform for community discussion. Free, open, simple.
800 | * [Forem](https://github.com/radar/forem) - Rails 3 and Rails 4 forum engine.
801 | * [Mailboxer](https://github.com/mailboxer/mailboxer) - A private message system for Rails applications.
802 | * [Social Shares](https://github.com/Timrael/social_shares) - A gem to check how many times url was shared in social networks.
803 |
804 | ## Spreadsheets and Documents
805 |
806 | * [AXLSX](https://github.com/randym/axlsx) - An excel xlsx generation library.
807 | * [Roo](https://github.com/roo-rb/roo) - Implements read access for all spreadsheet types and read/write access for Google spreadsheets.
808 | * [Yomu](https://github.com/Erol/yomu) - Read text and metadata from files and documents (.doc, .docx, .pages, .odt, .rtf, .pdf).
809 |
810 | ## State Machines
811 |
812 | * [AASM](https://github.com/aasm/aasm) - State machines for Ruby classes (plain Ruby, Rails Active Record, Mongoid).
813 | * [FiniteMachine](https://github.com/peter-murach/finite_machine) - A plain Ruby state machine with a straightforward and expressive syntax.
814 | * [simple_states](https://github.com/svenfuchs/simple_states) - A super-slim statemachine-like support library.
815 | * [Statesman](https://github.com/gocardless/statesman) - A statesmanlike state machine library.
816 | * [transitions](https://github.com/troessner/transitions) — A ruby state machine implementatio.
817 | * [Workflow](https://github.com/geekq/workflow) - A finite-state-machine-inspired API for modeling and interacting with what we tend to refer to as 'workflow'.
818 |
819 | ## Static Site Generation
820 |
821 | * [High Voltage](https://github.com/thoughtbot/high_voltage) - Easily include static pages in your Rails app.
822 | * [Jekyll](http://jekyllrb.com) - Transform your plain text into static websites and blogs.
823 | * [Middleman](http://middlemanapp.com) - A static site generator using all the shortcuts and tools in modern web development.
824 | * [Nanoc](http://nanoc.ws/) - A static site generator, fit for building anything from a small personal blog to a large corporate web site.
825 |
826 | ## Template Engine
827 |
828 | * [Curly](https://github.com/zendesk/curly) - A template language that completely separates structure and logic.
829 | * [Haml](https://github.com/haml/haml) - HTML Abstraction Markup Language.
830 | * [Liquid](https://github.com/Shopify/liquid) - Safe, customer facing template language for flexible web apps.
831 | * [Mustache](https://github.com/mustache/mustache) - Logic-less Ruby templates.
832 | * [Slim](https://github.com/slim-template/slim) - A template language whose goal is reduce the syntax to the essential parts without becoming cryptic.
833 | * [Tilt](https://github.com/rtomayko/tilt) - Generic interface to multiple Ruby template engines.
834 |
835 | ## Testing
836 |
837 | * Frameworks
838 | * [RSpec](https://github.com/rspec/rspec) - Behaviour Driven Development for Ruby.
839 | * Formatters
840 | * [Emoji-RSpec](https://github.com/cupakromer/emoji-rspec) - Custom Emoji Formatters for RSpec.
841 | * [Fuubar](https://github.com/thekompanee/fuubar) - The instafailing RSpec progress bar formatter.
842 | * [Nyan Cat](https://github.com/mattsears/nyan-cat-formatter) - Nyan Cat inspired RSpec formatter!
843 | * [Bacon](https://github.com/chneukirchen/bacon) - A small RSpec clone.
844 | * [Capybara](http://jnicklas.github.io/capybara) - Acceptance test framework for web applications.
845 | * [Cucumber](https://github.com/cucumber/cucumber) - BDD that talks to domain experts first and code second.
846 | * [Cutest](https://github.com/djanowski/cutest) - Isolated tests in Ruby.
847 | * [Konacha](https://github.com/jfirebaugh/konacha) - Test your Rails application's JavaScript with the mocha test framework and chai assertion library.
848 | * [minitest](https://github.com/seattlerb/minitest) - minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking.
849 | * [RR](https://github.com/rr/rr) - A test double framework that features a rich selection of double techniques and a terse syntax.
850 | * [shoulda-matchers](https://github.com/thoughtbot/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.
851 | * [Spinach](https://github.com/codegram/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.
852 | * [Spork](https://github.com/sporkrb/spork) - A DRb server for testing frameworks (RSpec / Cucumber currently).
853 | * [Test::Unit](http://test-unit.github.io) - Test::Unit is a xUnit family unit testing framework for Ruby.
854 | * Fake Data
855 | * [Fabrication](http://fabricationgem.org/) - A simple and powerful object generation library.
856 | * [factory_girl](https://github.com/thoughtbot/factory_girl) - A library for setting up Ruby objects as test data.
857 | * [Fake Person](https://github.com/adamcooke/fake-person) - Uses some of the most popular given & surnames in the US & UK.
858 | * [faker](https://github.com/stympy/faker) - A library for generating fake data such as names, addresses, and phone numbers.
859 | * [ffaker](https://github.com/EmmanuelOga/ffaker) - A faster Faker, generates dummy data, rewrite of faker.
860 | * [Forgery](https://github.com/sevenwire/forgery) - Easy and customizable generation of forged data.
861 | * [Machinist](https://github.com/notahat/machinist) - Fixtures aren't fun. Machinist is.
862 | * Mock
863 | * [ActiveMocker](https://github.com/zeisler/active_mocker) - Generate mocks from ActiveRecord models for unit tests that run fast because they don’t need to load Rails or a database.
864 | * [TestXml](https://github.com/alovak/test_xml) - TestXml is a small extension for testing XML/HTML.
865 | * [WebMock](https://github.com/bblimke/webmock) - Library for stubbing and setting expectations on HTTP requests.
866 | * WebDrivers
867 | * [Selenium WebDriver](http://selenium.googlecode.com/git/docs/api/rb/index.html) - This gem provides Ruby bindings for WebDriver.
868 | * [API Taster](https://github.com/fredwu/api_taster) - A quick and easy way to visually test your Rails application's API.
869 | * [Watir](https://github.com/watir/watir/) - Web application testing in Ruby.
870 | * Extra
871 | * [Appraisal](https://github.com/thoughtbot/appraisal) - Appraisal integrates with bundler and rake to test your library against different versions of dependencies.
872 | * [Parallel Tests](https://github.com/grosser/parallel_tests) - Speedup Test::Unit + RSpec + Cucumber by running parallel on multiple CPUs (or cores).
873 | * [Ruby-JMeter](https://github.com/flood-io/ruby-jmeter) - A Ruby based DSL for building JMeter test plans.
874 | * [Spring](https://github.com/rails/spring) - Preloads your rails environment in the background for faster testing and Rake tasks.
875 | * [timecop](https://github.com/travisjeffery/timecop) - Provides "time travel" and "time freezing" capabilities, making it dead simple to test time-dependent code.
876 | * [vcr](https://github.com/vcr/vcr) - Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.
877 | * [Zapata](https://github.com/Nedomas/zapata) - Who has time to write tests? This is a revolutionary tool to make them write themselves.
878 |
879 | ## Third-party APIs
880 |
881 | * [databasedotcom](https://github.com/heroku/databasedotcom) - Ruby client for the Salesforce's Database.com and Chatter APIs.
882 | * [Dropbox](https://github.com/futuresimple/dropbox-api) - Dropbox API Ruby Client.
883 | * [facy](https://github.com/huydx/facy) - Command line power tool for facebook.
884 | * [fb_graph](https://github.com/nov/fb_graph) - A full-stack Facebook Graph API wrapper.
885 | * [flickr](https://github.com/RaVbaker/flickr) - A Ruby interface to the Flickr API.
886 | * [gitlab](https://github.com/NARKOZ/gitlab) - Ruby wrapper and CLI for the GitLab API.
887 | * [gmail](https://github.com/gmailgem/gmail) - A Rubyesque interface to Gmail, with all the tools you'll need.
888 | * [hipchat-rb](https://github.com/hipchat/hipchat-rb) - HipChat HTTP API Wrapper in Ruby with Capistrano hooks.
889 | * [instagram-ruby-gem](https://github.com/Instagram/instagram-ruby-gem) - The official gem for the Instagram REST and Search APIs.
890 | * [itunes_store_transporter](https://github.com/sshaw/itunes_store_transporter) - Ruby wrapper around Apple's iTMSTransporter program.
891 | * [linkedin](https://github.com/hexgnu/linkedin) - Provides an easy-to-use wrapper for LinkedIn's REST APIs.
892 | * [Octokit](http://octokit.github.io/octokit.rb) - Ruby toolkit for the GitHub API.
893 | * [Pusher](https://github.com/pusher/pusher-gem) - Ruby server library for the Pusher API.
894 | * [ruby-gmail](https://github.com/dcparker/ruby-gmail) - A Rubyesque interface to Gmail.
895 | * [ruby-trello](https://github.com/jeremytregunna/ruby-trello) - Implementation of the Trello API for Ruby.
896 | * [soundcloud-ruby](https://github.com/soundcloud/soundcloud-ruby) - Official SoundCloud API Wrapper for Ruby.
897 | * [t](https://github.com/sferik/t) - A command-line power tool for Twitter.
898 | * [tweetstream](https://github.com/tweetstream/tweetstream) - A simple library for consuming Twitter's Streaming API.
899 | * [twilio-ruby](https://github.com/twilio/twilio-ruby) - A module for using the Twilio REST API and generating valid TwiML.
900 | * [twitter](https://github.com/sferik/twitter) - A Ruby interface to the Twitter API.
901 | * [wikipedia](https://github.com/kenpratt/wikipedia-client) - Ruby client for the Wikipedia API.
902 | * [youtube_it](https://github.com/kylejginavan/youtube_it) - An object-oriented Ruby wrapper for the YouTube GData API.
903 | * [Yt](https://github.com/Fullscreen/yt) - An object-oriented Ruby client for YouTube API V3.
904 |
905 | ## Video
906 |
907 | * [Streamio FFMPEG](https://github.com/streamio/streamio-ffmpeg) - Simple yet powerful wrapper around the ffmpeg command for reading metadata and transcoding movies.
908 |
909 | ## Web Crawling
910 |
911 | * [anemone](https://github.com/chriskite/anemone) - Ruby library and CLI for crawling websites.
912 | * [LinkThumbnailer](https://github.com/gottfrois/link_thumbnailer) - Ruby gem that generates thumbnail images and videos from a given URL. Much like popular social website with link preview.
913 | * [Mechanize](https://github.com/sparklemotion/mechanize) - Mechanize is a ruby library that makes automated web interaction easy.
914 | * [MetaInspector](https://github.com/jaimeiniesta/metainspector) - Ruby gem for web scraping purposes.
915 | * [Upton](https://github.com/propublica/upton) - A batteries-included framework for easy web-scraping.
916 | * [Wombat](https://github.com/felipecsl/wombat) - Web scraper with an elegant DSL that parses structured data from web pages.
917 |
918 | ## Web Frameworks
919 |
920 | * [Camping](http://camping.io) - A web microframework which consistently stays at less than 4kB of code.
921 | * [Cuba](http://cuba.is) - A microframework for web development.
922 | * [Lotus](http://lotusrb.org) - It aims to bring back Object Oriented Programming to web development, leveraging on a stable API, a minimal DSL, and plain objects.
923 | * [Padrino](http://www.padrinorb.com) - A full-stack ruby framework built upon Sinatra.
924 | * [Pakyow](http://pakyow.com/) - 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.
925 | * [Ramaze](http://ramaze.net/) - A simple, light and modular open-source web application framework written in Ruby.
926 | * [Roda](http://roda.jeremyevans.net/) - A routing tree web framework.
927 | * [Ruby on Rails](http://rubyonrails.org) - A web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
928 | * [Sinatra](http://www.sinatrarb.com) - Classy web-development dressed in a DSL.
929 | * [Volt](https://github.com/voltrb/volt) - A Ruby web framework where your ruby code runs on both the server and the client.
930 |
931 | ## Web Servers
932 |
933 | * [Goliath](https://github.com/postrank-labs/goliath) - A non-blocking Ruby web server framework.
934 | * [Phusion Passenger](https://www.phusionpassenger.com) - Fast and robust web server and application server.
935 | * [Puma](https://github.com/puma/puma) - A modern, concurrent web server for Ruby.
936 | * [Rack](http://rack.github.io) - A common Ruby web server interface. By itself, it's just a specification and utility library, but all Ruby web servers implement this interface.
937 | * [Reel](https://github.com/celluloid/reel) - Celluloid::IO-powered web server.
938 | * [Thin](http://code.macournoyer.com/thin) - Tiny, fast & funny HTTP server.
939 | * [TorqueBox](https://github.com/torquebox/torquebox) - A Ruby application server built on JBoss AS7 and JRuby.
940 | * [Unicorn](http://unicorn.bogomips.org) - Rack HTTP server for fast clients and Unix.
941 |
942 | ## WebSocket
943 |
944 | * [Faye](http://faye.jcoglan.com/ruby.html) - A set of tools for simple publish-subscribe messaging between web clients.
945 | * [Firehose](https://github.com/polleverywhere/firehose) - Build realtime Ruby web applications.
946 | * [Rails Realtime](https://github.com/liamks/rails-realtime) - Adding Real-Time To Your RESTful Rails App.
947 | * [Slanger](https://github.com/stevegraham/slanger) - Open Pusher implementation compatible with Pusher libraries.
948 | * [Sync](https://github.com/chrismccord/sync) - Real-time Rails Partials.
949 | * [Websocket-Rails](https://github.com/websocket-rails/websocket-rails) - Creates a built in WebSocket server inside a Rails application with ease, and also support streaming HTTP.
950 |
951 | # Services and Apps
952 |
953 | * [AppSignal](https://appsignal.com) - Better monitoring for your Rails applications.
954 | * [CodeClimate](https://codeclimate.com) - Quality & security analysis for Ruby on Rails and Javascript.
955 | * [Gemnasium](https://gemnasium.com) - Monitor your project dependencies and alert you about updates and security vulnerabilities.
956 | * [GitHub](https://github.com) - Powerful collaboration, code review, and code management for open source and private projects.
957 | * [Gitlab CI](https://about.gitlab.com/gitlab-ci/) - Integrate with your GitLab to run tests for your projects.
958 | * [GitLab](https://about.gitlab.com) - Open source software to collaborate on code.
959 | * [Hakiri](https://hakiri.io) - Ship Secure Ruby Apps.
960 | * [Honeybadger](https://www.honeybadger.io/) - Exception, uptime, and performance monitoring for Ruby.
961 | * [HoundCI](https://houndci.com) - Review your Ruby code for style guide violations.
962 | * [HuBoard](https://huboard.com) - Kanban board for GitHub issues.
963 | * [Inch CI](http://inch-ci.org/) - Documentation badges for Ruby projects.
964 | * [Omniref](https://www.omniref.com) - A comprehensive Ruby documentation site.
965 | * [PullReview](https://pullreview.com) - Automated code review for Ruby and Rails - from style to security.
966 | * [SemaphoreCI](https://semaphoreapp.com/) - Hosted continuous integration and deployment service for open source and private projects.
967 | * [Traveling Ruby](http://phusion.github.io/traveling-ruby/) - Traveling Ruby lets you create self-contained Ruby app packages for Linux and OS X.
968 | * [Travis CI.com](https://travis-ci.com) - Take care of running your tests and deploying your private apps.
969 | * [Travis CI.org](https://travis-ci.org) - A distributed build system for the open source community.
970 |
971 | # Resources
972 |
973 | * [GemBundle](http://www.gembundle.com) - A place to discover new Ruby Gems.
974 | * [GitHub Trending](https://github.com/trending?l=ruby) - Find what repositories the GitHub community is most excited about today.
975 | * [Green Ruby News](http://greenruby.org) - A feed of fresh links of the week about ruby, javascript, webdev and devops.
976 | * [Practicing Ruby](https://practicingruby.com) - Delightful lessons for dedicated programmers.
977 | * [Ruby5](http://ruby5.envylabs.com) - The latest news in the Ruby and Rails community.
978 | * [Ruby Bookmarks](https://github.com/dreikanter/ruby-bookmarks) - Ruby and Ruby on Rails bookmarks collection.
979 | * [RubyDaily](http://rubydaily.org) - Community driven news.
980 | * [RubyFlow](http://www.rubyflow.com) - Ruby Programming Community Link Blog.
981 | * [Ruby Weekly](http://rubyweekly.com) - A free, once–weekly e-mail round-up of Ruby news and articles.
982 | * [The Ruby Toolbox](https://www.ruby-toolbox.com) - 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.
983 |
984 | # Other Awesome Lists
985 |
986 | Other amazingly awesome lists can be found in the [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list.
987 |
--------------------------------------------------------------------------------