2014-07-03 06:37:04 -04:00
# Awesome Ruby
2014-07-03 06:33:50 -04:00
2014-07-03 06:40:33 -04:00
A curated list of awesome Ruby frameworks, libraries and resources. Inspired by [awesome-php ](https://github.com/ziadoz/awesome-php ) & [awesome-python ](https://github.com/vinta/awesome-python ).
2014-07-03 06:37:04 -04:00
2014-07-04 07:54:07 -04:00
Your Pull requests are welcome! Let's make this the awesomest resource for Ruby :purple_heart:
2014-07-03 06:38:38 -04:00
- [Awesome Ruby ](#awesome-ruby )
2014-07-06 23:55:06 -04:00
- [Environment Management ](#environment-management )
- [Package Management ](#package-management )
- [Distribution ](#distribution )
- [File Uploading ](#file-uploading )
- [Date and Time ](#date-and-time )
- [Text Processing ](#text-processing )
- [Natural Language Processing ](#natural-language-processing )
- [Documentation ](#documentation )
- [Configuration ](#configuration )
- [Command-line Tools ](#command-line-tools )
- [Imagery ](#imagery )
- [Audio ](#audio )
- [Video ](#video )
- [Geolocation ](#geolocation )
- [HTTP ](#http )
- [Web Servers ](#web-servers )
- [Database Drivers ](#database-drivers )
- [ORM ](#orm )
- [Web Frameworks ](#web-frameworks )
- [CMS ](#cms )
- [RESTful API ](#restful-api )
- [E-Commerce & Online Paying ](#e-commerce-&-online-paying )
- [Authentication and OAuth ](#authentication-and-oauth )
- [Template Engine ](#template-engine )
- [Queue ](#queue )
- [Push Notification ](#push-notification )
- [Site Monitoring ](#site-monitoring )
- [Search ](#search )
- [Asset Management ](#asset-management )
- [Presentation Tools ](#presentation-tools )
- [Caching ](#caching )
- [Email ](#email )
- [Internationalization ](#internationalization )
- [URL Manipulation ](#url-manipulation )
- [HTML/XML/CSS Manipulation ](#htmlxmlcss-manipulation )
- [Web Crawling ](#web-crawling )
- [Web Content Extracting ](#web-content-extracting )
- [Downloader ](#downloader )
- [CSS & Styling ](#css-&-styling )
- [Forms ](#forms )
- [Data Validation ](#data-validation )
- [Anti-spam ](#anti-spam )
- [Tagging ](#tagging )
- [Build Tools ](#build-tools )
- [Admin Panels ](#admin-panels )
- [Processes and Threads ](#processes-and-threads )
- [Networking ](#networking )
- [WebSocket ](#websocket )
- [GUI ](#gui )
- [Game Development ](#game-development )
- [Logging ](#logging )
- [Testing ](#testing )
- [Code Analysis and Linter ](#code-analysis-and-linter )
- [Debugging Tools ](#debugging-tools )
- [Science and Data Analysis ](#science-and-data-analysis )
- [Data Visualization ](#data-visualization )
- [Machine Learning ](#machine-learning )
- [MapReduce ](#mapreduce )
- [Third-party APIs ](#third-party-apis )
- [DevOps Tools ](#devops-tools )
- [Foreign Function Interface ](#foreign-function-interface )
- [High Performance ](#high-performance )
- [Algorithms and Design Patterns ](#algorithms-and-design-patterns )
- [Miscellaneous ](#miscellaneous )
- [Editor Plugins ](#editor-plugins )
- [Starter Apps ](#starter-apps )
2014-07-03 06:37:04 -04:00
- [Resources ](#resources )
2014-07-06 23:55:06 -04:00
- [People to Follow ](#people-to-follow )
- [Weekly ](#weekly )
- [Twitter ](#twitter )
- [Contributing ](#contributing )
2014-07-03 06:53:18 -04:00
## Environment Management
2014-07-03 06:54:50 -04:00
*Libraries for Ruby version and environment management.*
2014-07-03 06:59:43 -04:00
* [rvm ](https://rvm.io/ ) - Ruby Version Manager
* [rbenv ](http://rbenv.org/ ) - Groom your app’ s Ruby environment
2014-07-03 06:53:18 -04:00
## Package Management
*Libraries for package and dependency management.*
2014-07-05 15:20:29 -04:00
2014-07-03 07:06:54 -04:00
* [RubyGems ](https://rubygems.org/ ) - RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries
2014-07-03 06:53:18 -04:00
## Distribution
*Libraries to create packaged executables for release distribution.*
2014-07-06 15:59:11 -04:00
## File Uploading
2014-07-03 06:53:18 -04:00
2014-07-06 15:59:11 -04:00
*Libraries for handling file uploads.*
* [paperclip ](https://github.com/thoughtbot/paperclip ) Easy file attachment management for ActiveRecord
* [dragonfly ](https://github.com/markevans/dragonfly ) On-the-fly processing - suitable for image uploading in Rails, Sinatra and much more
* [carrierwave ](https://github.com/carrierwaveuploader/carrierwave ) Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks
2014-07-03 06:53:18 -04:00
## Date and Time
*Libraries for working with dates and times.*
## Text Processing
*Libraries for parsing and manipulating texts.*
* General
* Specific Formats
* Parser
## Natural Language Processing
*Libraries for working with human languages.*
## Documentation
*Libraries for generating project documentation.*
2014-07-04 08:21:20 -04:00
* [rdoc ](https://github.com/rdoc/rdoc ) HTML and online documentation for Ruby projects
* [yard ](https://github.com/lsegal/yard ) A Ruby Documentation tool
2014-07-03 06:53:18 -04:00
## Configuration
*Libraries for storing configuration options.*
## Command-line Tools
*Libraries for building command-line application.*
* Command-line Application Development
2014-07-05 04:29:53 -04:00
* [Commander ](http://visionmedia.github.io/commander/ ) - The complete solution for Ruby command-line executables
* [Thor ](https://github.com/erikhuda/thor ) - Thor is a toolkit for building powerful command-line interfaces
2014-07-06 15:59:11 -04:00
2014-07-03 06:53:18 -04:00
* Workflow Tools
## Imagery
*Libraries for manipulating images.*
2014-07-04 08:21:20 -04:00
* [rmagick ](https://github.com/rmagick/rmagick ) An interface to the ImageMagick and GraphicsMagick image processing libraries
* [minimagick ](https://github.com/minimagick/minimagick ) Minified version of rmagick
* [chunky_png ](https://github.com/wvanbergen/chunky_png ) Read/write access to PNG images in pure Ruby
* [image_optim ](https://github.com/toy/image_optim ) Optimize images using multiple utilities
2014-07-04 08:56:19 -04:00
* [magickly ](https://github.com/afeld/magickly ) image manipulation as a (plugin-able) service
2014-07-04 08:21:20 -04:00
2014-07-06 15:59:11 -04:00
## Audio
* [seal ](https://github.com/zhangsu/seal ) A C library (with Ruby binding) for 3D audio rendering
2014-07-03 06:53:18 -04:00
## Video
*Libraries for manipulating video and GIFs.*
2014-07-03 12:12:34 -04:00
* [streamio-ffmpeg ](https://github.com/streamio/streamio-ffmpeg ) Simple yet powerful ruby ffmpeg wrapper for reading metadata and transcoding movies
2014-07-03 06:53:18 -04:00
## Geolocation
*Libraries for geocoding addresses and working with latitudes and longitudes.*
2014-07-03 12:12:34 -04:00
* [geocoder ](https://github.com/alexreisner/geocoder ) Complete Ruby geocoding solution
2014-07-04 05:16:43 -04:00
* [Geokit ](https://github.com/geokit/geokit ) - Geokit gem provides geocoding and distance/heading calculations.
2014-07-03 12:12:34 -04:00
2014-07-03 06:53:18 -04:00
## HTTP
*Libraries for working with HTTP.*
2014-07-03 12:12:34 -04:00
* [httparty ](https://github.com/jnunemaker/httparty ) Makes http fun again!
* [faraday ](https://github.com/lostisland/faraday ) Simple, but flexible HTTP client library, with support for multiple backends.
* [http ](https://github.com/tarcieri/http ) A simple Ruby DSL for making HTTP requests
* [excon ](https://github.com/excon/excon ) Usable, fast, simple HTTP(S) 1.1 for Ruby
* [nestful ](https://github.com/maccman/nestful ) Simple Ruby HTTP/REST client with a sane API
2014-07-04 05:35:24 -04:00
## Web Servers
*App server interface*
2014-07-05 03:12:24 -04:00
* [puma ](https://github.com/puma/puma ) A simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications.
* [thin ](https://github.com/macournoyer/thin ) A thin and fast web server
* [trinidad ](https://github.com/trinidad/trinidad ) Run Rails or Rack applications within an embedded Apache Tomcat container.
* [unicorn ](https://github.com/defunkt/unicorn ) An HTTP server for Rack applications designed to only serve fast clients.
* [passenger ](https://github.com/phusion/passenger ) A modern web server and application server for Ruby, Python and Node.js.
* [pow ](https://github.com/37signals/pow ) Pow treats files and directories as ruby objects giving you more power and flexibility.
2014-07-04 05:35:24 -04:00
2014-07-03 06:53:18 -04:00
## Database Drivers
*Libraties for connecting and operating databases.*
* Relational Databases
2014-07-03 12:12:34 -04:00
* [ruby-pg ](https://bitbucket.org/ged/ruby-pg ) Ruby interface to the PostgreSQL >= 8.4
* [mysql2 ](https://github.com/brianmario/mysql2 ) A modern, simple and very fast Mysql library for Ruby
* [sqlite3-ruby ](https://github.com/sparklemotion/sqlite3-ruby ) Ruby bindings for the SQLite3 embedded database
2014-07-03 06:53:18 -04:00
* NoSQL Databases
## ORM
*Libraries that implement Object-Relational Mapping or datamapping techniques.*
* Relational Databases
2014-07-03 07:40:42 -04:00
* [ActiveRecord ](https://www.ruby-toolbox.com/projects/activerecord ) - Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes
* [DataMapper ](http://datamapper.org/ ) - 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 ](http://sequel.jeremyevans.net/ ) - The Database Toolkit for Ruby
2014-07-03 06:53:18 -04:00
* NoSQL Databases
2014-07-03 07:40:42 -04:00
* [Mongoid ](http://mongoid.org ) - Mongoid (pronounced mann-goyd) is an Object-Document-Mapper (ODM) for MongoDB written in Ruby.
2014-07-06 12:27:04 -04:00
* [Ohm ](https://github.com/soveran/ohm ) - Object-Hash Mapping for Redis
2014-07-03 07:40:42 -04:00
2014-07-03 06:53:18 -04:00
## Web Frameworks
*Web development frameworks.*
2014-07-03 07:06:54 -04:00
* [Ruby On Rails ](http://rubyonrails.org/ ) - Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity
* [Sinatra ](http://www.sinatrarb.com/ ) - Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.
* [Padrino ](http://www.padrinorb.com/ ) - The Godfather of Sinatra provides a full-stack agnostic framework on top of Sinatra
* [Cramp ](http://cramp.in/ ) - Cramp is a fully asynchronous real-time web application framework in Ruby
2014-07-03 07:54:37 -04:00
* [Lotus ](http://lotusrb.org/ ) - A newborn complete Ruby web framework that is simple, fast and lightweight.
2014-07-03 07:06:54 -04:00
2014-07-03 06:53:18 -04:00
## CMS
*Content management systems*
2014-07-04 08:21:20 -04:00
* [Refinery ](http://refinerycms.com/ ) An extendable Ruby on Rails CMS that supports Rails 3.2 and 4
* [Comfortable Mexican Sofa ](https://github.com/comfy/comfortable-mexican-sofa ) A powerful Rails 4 CMS Engine
* [Browser ](http://www.browsercms.org/ ) Humane Content Management for Rails
* [Locomotive ](http://www.locomotivecms.com/ ) a brand new CMS system with super sexy UI and cool features
* [Radiant ](http://radiantcms.org/ ) A no-fluff, open source content management system
* [Nesta ](http://nestacms.com/ ) A lightweight CMS, implemented in Sinatra
* [alchemy_cms ](https://github.com/magiclabs/alchemy_cms ) the most powerful, user friendly and flexible Rails CMS
2014-07-03 07:47:20 -04:00
2014-07-03 06:53:18 -04:00
## RESTful API
*Libraries for developing RESTful APIs.*
2014-07-03 07:53:27 -04:00
* [Grape ](http://intridea.github.io/grape/ ) - An opinionated micro-framework for creating REST-like APIs in Ruby.
2014-07-04 05:09:49 -04:00
* [Rails::API ](https://github.com/rails-api/rails-api ) - Rails for API only applications
* [jbuilder ](https://github.com/rails/jbuilder ) - Create JSON structures via a Builder-style DSL
* [rabl ](https://github.com/nesquena/rabl ) - General Ruby templating with json, bson, xml, plist and msgpack support
2014-07-03 07:48:57 -04:00
2014-07-05 15:20:29 -04:00
## E-Commerce & Online Paying
2014-07-07 08:01:51 -04:00
* [Active Merchant ](https://github.com/Shopify/active_merchant ) - A simple payment abstraction library extracted from Shopify.
* [Spree ](https://github.com/spree/spree ) - A complete open source e-commerce solution for Ruby on Rails.
* [PayPal Merchant SDK ](https://github.com/paypal/merchant-sdk-ruby ) - Provides Ruby APIs for processing payments, recurring payments, subscriptions and transactions using PayPal's Merchant APIs.
2014-07-05 15:20:29 -04:00
2014-07-03 06:53:18 -04:00
## Authentication and OAuth
*Libraries for implementing authentications schemes.*
2014-07-03 07:53:27 -04:00
* [Devise ](https://github.com/plataformatec/devise ) - Devise is a flexible authentication solution for Rails based on Warden
* [Omniauth ](https://github.com/intridea/omniauth ) - OmniAuth is a flexible authentication system utilizing Rack middleware
* [Warden ](https://github.com/hassox/warden ) - General Rack Authentication Framework
* [AuthLogic ](https://github.com/binarylogic/authlogic ) - A simple ruby authentication solution
* [Sorcery ](https://github.com/NoamB/sorcery ) - Magical authentication for Rails 3 & 4
2014-07-04 05:22:01 -04:00
* [CanCanCan ](https://github.com/CanCanCommunity/cancancan ) Authorization gem for Rails (continued version of CanCan from ryanb)
2014-07-05 01:12:11 -04:00
* [pundit ](https://github.com/elabs/pundit ) - Minimal authorization using object oriented design.
* [authority ](https://github.com/nathanl/authority ) - ORM neutral authorization.
2014-07-04 05:22:01 -04:00
* [doorkeeper ](https://github.com/doorkeeper-gem/doorkeeper ) An OAuth 2 provider for Rails
2014-07-03 11:48:31 -04:00
2014-07-03 06:53:18 -04:00
## Template Engine
*Libraries and tools for templating and lexing.*
2014-07-03 11:48:31 -04:00
* [Slim ](https://github.com/slim-template/slim ) A templating lang that reduce the syntax to the essential parts without becoming cryptic.
* [slim-rails ](https://github.com/slim-template/slim-rails ) Rails port of Slim lang
* [Haml ](https://github.com/haml/haml ) HTML Abstraction Markup Language - A Markup Haiku
* [haml-rails ](https://github.com/indirect/haml-rails ) Rails port of Haml lang
2014-07-04 05:12:13 -04:00
* [Tilt ](https://github.com/rtomayko/tilt )
* [Liquid ](https://github.com/Shopify/liquid )
2014-07-03 11:48:31 -04:00
2014-07-03 06:53:18 -04:00
## Queue
*Libraries for working with event and task queues.*
2014-07-03 11:48:31 -04:00
* [Resque ](https://github.com/resque/resque ) A Redis-backed Ruby library for creating background jobs, placing them on multiple queues.
2014-07-04 05:10:57 -04:00
* [Delayed::Job ](https://github.com/tobi/delayed_job ) — Database backed asynchronous priority queue.
2014-07-03 11:48:31 -04:00
* [Qu ](https://github.com/bkeepers/qu ) A Ruby library for queuing and processing background jobs.
2014-07-04 05:22:01 -04:00
* [Sidekiq ](https://github.com/mperham/sidekiq ) Simple, efficient background processing for Ruby
2014-07-05 14:55:22 -04:00
## Push Notification
* [Rpush ](https://github.com/rpush/rpush ) - The push notification service for Ruby.
* [apn_sender ](https://github.com/arthurnn/apn_sender ) - Background worker to send Apple Push Notifications over a persistent TCP socket.
2014-07-07 10:39:22 -04:00
* [Houston ](https://github.com/nomad/houston ) - A simple gem for sending Apple Push Notifications.
2014-07-05 14:55:22 -04:00
2014-07-04 05:22:01 -04:00
## Site Monitoring
*Libs for analytics, monitoring*
2014-07-04 05:37:00 -04:00
* [rack-google-analytics ](https://github.com/kangguru/rack-google-analytics ) Simple Rack middleware for implementing google analytics tracking
* [DataDog ](https://github.com/DataDog/dogapi-rb ) A monitoring service for IT, operations and development teams
* [Keen IO ](https://github.com/keenlabs/keen-gem ) Build analytics features directly into your Ruby apps
2014-07-03 11:48:31 -04:00
2014-07-03 06:53:18 -04:00
## Search
*Libraries and software for indexing and performing search queries on data.*
2014-07-04 08:21:20 -04:00
* [Thinking Sphinx ](https://github.com/pat/thinking-sphinx ) - Sphinx plugin for ActiveRecord/Rails
* [elasticsearch-ruby ](https://github.com/elasticsearch/elasticsearch-ruby ) - Ruby integrations for Elasticsearch
* [Searchkick ](https://github.com/ankane/searchkick ) - Intelligent search made easy
2014-07-05 02:44:45 -04:00
* [PgSearch ](https://github.com/Casecommons/pg_search ) - PostgreSQL's full text search
2014-07-08 12:45:30 -04:00
* [Rroonga ](https://github.com/ranguba/rroonga ) - The Ruby bindings of Groonga
2014-07-04 05:13:57 -04:00
2014-07-03 06:53:18 -04:00
## Asset Management
*Tools for managing, compressing and minifying website assets.*
2014-07-04 05:22:01 -04:00
* [sprockets ](https://github.com/sstephenson/sprockets ) Rack-based asset packaging system
2014-07-06 15:59:11 -04:00
## Presentation Tools
* [rabbit ](https://github.com/rabbit-shocker/rabbit ) A programable presentaton tool by Ruby
* [reveal-ck ](https://github.com/jedcn/reveal-ck ) Reveal.js presentations with a Ruby toolset
2014-07-03 06:53:18 -04:00
## Caching
*Libraries for caching data.*
2014-07-04 05:22:01 -04:00
* [rack-cache ](https://github.com/rtomayko/rack-cache ) HTTP Caching for Ruby Web Apps
2014-07-04 05:25:02 -04:00
* [Dalli ](https://github.com/mperham/dalli ) - a high performance pure Ruby client for accessing memcached servers.
2014-07-04 05:22:01 -04:00
2014-07-03 06:53:18 -04:00
## Email
*Libraries for sending and parsing email.*
2014-07-04 08:56:19 -04:00
* [mail ](https://github.com/mikel/mail ) A Really Ruby Mail Library
* [mailman ](https://github.com/titanous/mailman ) An incoming mail processing microframework in Ruby
2014-07-03 06:53:18 -04:00
## Internationalization
*Libraries for woking with i18n.*
2014-07-04 08:56:19 -04:00
* [i18n ](https://github.com/svenfuchs/i18n ) - Basic internationalization(i18n) library for Ruby
* [globalize ](https://github.com/globalize/globalize ) Rails I18n de-facto standard library for ActiveRecord model/data translation
* [i18n-tasks ](https://github.com/glebm/i18n-tasks ) Manage translations in ruby applications with the awesome power of static analysis
2014-07-04 05:16:43 -04:00
2014-07-03 06:53:18 -04:00
## URL Manipulation
*Libraries for parsing URLs.*
2014-07-04 08:56:19 -04:00
## HTML/XML/CSS Manipulation
2014-07-03 06:53:18 -04:00
2014-07-04 08:56:19 -04:00
*Libraries for working with HTML, XML & CSS.*
2014-07-03 06:53:18 -04:00
2014-07-04 08:56:19 -04:00
* [Nokogiri ](http://nokogiri.org )
* [loofah ](https://github.com/flavorjones/loofah ) A general library for manipulating and transforming HTML/XML documents and fragments
2014-07-04 05:20:24 -04:00
2014-07-03 06:53:18 -04:00
## Web Crawling
*Libraries for scraping websites.*
2014-07-04 08:56:19 -04:00
* [upton ](https://github.com/propublica/upton ) A batteries-included framework for easy web-scraping
* [metainspector ](https://github.com/jaimeiniesta/metainspector )
2014-07-04 05:20:24 -04:00
2014-07-03 06:53:18 -04:00
## Web Content Extracting
*Libraries for extracting web contents.*
## Downloader
*Libraries for downloading.*
2014-07-05 15:20:29 -04:00
## CSS & Styling
* [sass ](https://github.com/sass/sass ) A CSS preproccessor
* [sass-rails ](https://github.com/rails/sass-rails ) Rails stylesheet engine for Sass
* [less-rails ](https://github.com/metaskills/less-rails ) The dynamic stylesheet language for the Rails
* [compass ](https://github.com/Compass/compass ) A a Stylesheet Authoring Environment
* [bootstrap-sass ](https://github.com/twbs/bootstrap-sass ) Official Sass port of Bootstrap
* [foundation-rails ](https://github.com/zurb/foundation-rails ) Foundation for Rails
* [bootswatch-rails ](https://github.com/maxim/bootswatch-rails ) Bootswatches converted to SCSS ready to use in Rails
2014-07-03 06:53:18 -04:00
## Forms
*Libraries for working with forms.*
2014-07-04 05:22:01 -04:00
* [simple_form ](https://github.com/plataformatec/simple_form ) Forms made easy for Rails
* [formtastic ](https://github.com/justinfrench/formtastic ) A Rails form builder plugin with semantically rich and accessible markup
2014-07-03 06:53:18 -04:00
## Data Validation
*Libraries for validating data. Used for forms in many cases.*
## Anti-spam
*Libraries for fighting spam.*
## Tagging
*Libraries for tagging items.*
2014-07-04 15:06:22 -04:00
* [acts-as-taggable-on ](https://github.com/mbleigh/acts-as-taggable-on ) - A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.
2014-07-03 06:53:18 -04:00
## Build Tools
*Compile software from source code.*
## Admin Panels
*Libraries for administrative interfaces.*
2014-07-03 12:12:34 -04:00
* [active_admin ](https://github.com/gregbell/active_admin ) The administration framework for Ruby on Rails applications
* [rails_admin ](https://github.com/sferik/rails_admin ) A Rails engine that provides an easy-to-use interface for managing your data
2014-07-03 06:53:18 -04:00
## Processes and Threads
*Libraries for woking with processes or threads*
2014-07-05 15:20:29 -04:00
* [Parallel ](https://github.com/grosser/parallel ) - Ruby parallel processing made simple and fast
2014-07-04 05:20:24 -04:00
2014-07-03 06:53:18 -04:00
## Networking
*Libraries for network programming.*
## WebSocket
*Libraries for woking with WebSocket.*
2014-07-04 08:56:19 -04:00
* [Faye ](http://faye.jcoglan.com/ruby.html ) - Simple pub/sub messaging for the web
* [websocket-rails ](https://github.com/websocket-rails/websocket-rails ) - Plug and play websocket support for ruby on rails.
2014-07-03 06:53:18 -04:00
## GUI
*Libraries for working with graphical user interface applications.*
2014-07-04 08:56:19 -04:00
* [shoes ](https://github.com/shoes/shoes ) A tiny graphical app kit for ruby
* [shoes4 ](https://github.com/shoes/shoes4 ) the next version of Shoes
2014-07-03 06:53:18 -04:00
## Game Development
*Awesome game development libraries.*
## Logging
2014-07-06 15:59:11 -04:00
* [Logstash ](https://github.com/elasticsearch/logstash ) Logstash is a tool for managing events and logs.
2014-07-03 06:53:18 -04:00
*Libraries for generating and working with log files.*
## Testing
*Libraries for testing codebases and generating test data.*
* Testing Frameworks
2014-07-03 07:11:03 -04:00
* [RSpec ](http://rspec.info/ ) - BDD for Ruby
* [MiniTest ](https://github.com/seattlerb/minitest ) - minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking
2014-07-05 03:49:43 -04:00
* [Cucumber]
* [Cucumber Github ](https://github.com/cucumber/cucumber/wiki ) - Cucumber is a tool that executes plain-text functional descriptions as automated tests
* [Cucumber Site ](http://cukes.info/ ) - Behaviour Driven Development with elegacy and joy
2014-07-03 06:53:18 -04:00
* Mock
2014-07-03 07:14:02 -04:00
* [RSpec-mocks ](https://github.com/rspec/rspec-mocks ) - RSpec's 'test double' framework, with support for stubbing and mocking
* [Mocha ](http://gofreerange.com/mocha/docs/ ) - Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.
* [FlexMock ](https://github.com/jimweirich/flexmock ) - Flexible mocking for Ruby testing
2014-07-03 06:53:18 -04:00
* Fake Data
2014-07-03 07:16:20 -04:00
* [Faker ](https://github.com/stympy/faker ) - A library for generating fake data such as names, addresses, and phone numbers
* [ffaker ](https://github.com/emmanueloga/ffaker ) - Faker Refactored.
* [Forgery ](https://github.com/sevenwire/forgery ) - Easy and customizable generation of forged data.
2014-07-03 06:53:18 -04:00
* Code Coverage
2014-07-04 08:56:19 -04:00
* [simplecov ](https://github.com/colszowka/simplecov ) Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage
2014-07-03 06:53:18 -04:00
* Load Testing
* Error Handler
## Code Analysis and Linter
*Libraries and tools for analysing, parsing and manipulation codebases.*
2014-07-03 07:27:58 -04:00
* [Rubocop ](https://github.com/bbatsov/rubocop ) - A Ruby static code analyzer, based on the community Ruby style guide.
* [ruby-lint ](https://github.com/YorickPeterse/ruby-lint ) - ruby-lint is a static code analysis tool for Ruby
2014-07-03 06:53:18 -04:00
## Debugging Tools
*Libraries for debugging and developing.*
2014-07-03 07:29:59 -04:00
* [byebug ](https://github.com/deivid-rodriguez/byebug ) - Debugging in Ruby 2
* [debugger ](https://github.com/cldwalker/debugger ) - port of ruby-debug that works on 1.9.2 and 1.9.3
2014-07-03 06:53:18 -04:00
## Science and Data Analysis
*Libraries for scientific computing and data analyzing.*
## Data Visualization
*Libraries for visualizing data.*
## Machine Learning
*Libraries for Machine Learning.*
## MapReduce
*Framworks and libraries for MapReduce.*
## Third-party APIs
*Libraries for accessing third party APIs.*
2014-07-03 12:12:34 -04:00
* [koala ](https://github.com/arsduo/koala ) A lightweight, flexible library for Facebook
* [fb_graph ](https://github.com/nov/fb_graph ) A full-stack Facebook Graph API wrapper
* [twitter ](https://github.com/sferik/twitter ) A Ruby interface to the Twitter API
* [tweetstream ](https://github.com/tweetstream/tweetstream ) A simple library for consuming Twitter's Streaming API
* [octokit.rb ](https://github.com/octokit/octokit.rb ) Ruby toolkit for the GitHub API
2014-07-04 08:56:19 -04:00
* [instagram ](https://github.com/Instagram/instagram-ruby-gem ) The official gem for the Instagram API
* [linkedin ](https://github.com/hexgnu/linkedin ) Ruby wrapper for the LinkedIn API
* [twilio-ruby ](https://github.com/twilio/twilio-ruby ) A Ruby gem for communicating with the Twilio API and generating TwiML
* [youtube_it ](https://github.com/kylejginavan/youtube_it ) An object-oriented Ruby wrapper for the YouTube GData API
2014-07-05 01:38:31 -04:00
* [flickraw ](https://github.com/hanklords/flickraw ) Flickraw is a library to access flickr api
* [f00px ](https://github.com/500px/f00px ) Official 500px api ruby gem
2014-07-03 06:53:18 -04:00
## DevOps Tools
*Software and libraries for DevOps.*
2014-07-03 07:25:17 -04:00
* [Puppet ](https://github.com/puppetlabs/puppet ) - Server automation framework and application
* [Chef ](https://github.com/opscode/chef ) - A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
* [Vagrant ](http://www.vagrantup.com ) - Vagrant is a tool for building and distributing development environments.
* [Capistrano ](http://www.capistranorb.com ) - Remote multi-server automation tool
2014-07-04 04:12:56 -04:00
* [Mina ](https://github.com/mina-deploy/mina ) Really fast deployer and server automation tool
2014-07-03 06:53:18 -04:00
## Foreign Function Interface
*Libraries for providing foreign function interface.*
## High Performance
*Libraries for making Ruby faster.*
2014-07-05 15:20:29 -04:00
* [EventMachine ](https://github.com/eventmachine/eventmachine ) - EventMachine: fast, simple event-processing library for Ruby programs
* [Celluloid ](http://celluloid.io ) - Actor-based concurrent object framework for Ruby
2014-07-03 06:53:18 -04:00
## Algorithms and Design Patterns
*Collections of algorithms and design patterns.*
## Miscellaneous
*Useful libraries or tools that don't fit in the categories above.*
2014-07-04 08:56:19 -04:00
* [packetfu ](https://github.com/packetfu/packetfu ) A mid-level packet manipulation library for Ruby.
2014-07-06 15:59:11 -04:00
* [chatterbot ](https://github.com/muffinista/chatterbot ) A straightforward ruby-based Twitter Bot Framework, using OAuth to authenticate
* [sneakers ](https://github.com/jondot/sneakers ) A fast background processing framework for Ruby and RabbitMQ
2014-07-03 06:53:18 -04:00
## Editor Plugins
*Plugins for various editors.*
2014-07-08 10:23:05 -04:00
* [vim-ruby ](https://github.com/vim-ruby/vim-ruby ) Vim/Ruby Configuration Files
* [vim-rails ](https://github.com/tpope/vim-rails ) rails.vim: Ruby on Rails power tools
2014-07-03 06:53:18 -04:00
2014-07-04 05:22:01 -04:00
## Starter Apps
*App templates for creating apps quickly*
* [suspenders ](https://github.com/thoughtbot/suspenders ) A Rails template with our standard defaults, ready to deploy to Heroku
2014-07-04 08:56:19 -04:00
* [ruby2-rails4-bootstrap-heroku ](https://github.com/diowa/ruby2-rails4-bootstrap-heroku ) A starter application based on Ruby 2, Rails 4 and Bootstrap for Sass, deployable on Heroku
* [rails-bootstrap ](https://github.com/RailsApps/rails-bootstrap ) Rails 4.1 starter app with the Bootstrap front-end framework
* [rails4-starterkit ](https://github.com/starterkits/rails4-starterkit ) Rails 4.1 starter app with production ready performance, security, and authentication
2014-07-03 06:53:18 -04:00
# Resources
2014-07-04 08:56:19 -04:00
*Where to discover new Ruby libraries.*
2014-07-03 06:53:18 -04:00
2014-07-03 07:31:46 -04:00
* [The Ruby Toolbox ](https://www.ruby-toolbox.com/ )
* [RubyGems ](https://www.rubygems.org )
2014-07-07 00:00:09 -04:00
* [microrb.com ](http://microrb.com/ )
2014-07-03 07:40:42 -04:00
2014-07-04 05:22:01 -04:00
## People to Follow
2014-07-03 06:53:18 -04:00
2014-07-04 05:22:01 -04:00
*People in Ruby World*
2014-07-03 06:53:18 -04:00
2014-07-04 05:22:01 -04:00
* [Yukihiro "Matz" Matsumoto ](https://twitter.com/yukihiro_matz ) Creator of Ruby lang
* [David Heinemeier Hansson ](https://twitter.com/dhh ) Creator of Rails framework
2014-07-04 15:09:11 -04:00
* [Aaron Patterson ](http://tenderlovemaking.com/ )
2014-07-03 06:53:18 -04:00
## Weekly
2014-07-04 15:09:11 -04:00
* [Ruby Weekly ](http://rubyweekly.com/ ) - A free, once– weekly e-mail round-up of Ruby news and articles.
* [Ruby5 ](http://ruby5.envylabs.com/ ) - The latest news in the Ruby and Rails community
2014-07-03 06:53:18 -04:00
## Twitter
# Contributing
2014-07-03 07:42:43 -04:00
Your Pull requests are welcome! Let's make this the **awesomest** resource for Ruby < 3