1183 lines
53 KiB
HTML
1183 lines
53 KiB
HTML
<h1 id="awesome-ruby">Awesome Ruby</h1>
|
||
<p>A curated list of awesome Ruby frameworks, libraries and resources.
|
||
Inspired by <a
|
||
href="https://github.com/ziadoz/awesome-php">awesome-php</a> & <a
|
||
href="https://github.com/vinta/awesome-python">awesome-python</a>.</p>
|
||
<h2 id="contribution">Contribution</h2>
|
||
<p>Your Pull requests are welcome! Let’s make this the awesomest
|
||
resource for Ruby :purple_heart: | Resources| | | | ————- | ————- | ——–
|
||
| |- <a href="#awesome-ruby">Awesome Ruby</a> | - <a
|
||
href="#admin-panels">Admin Panels</a>|- <a
|
||
href="#anti-spam">Anti-spam</a> | | - <a href="#asset-management">Asset
|
||
Management</a> | - <a href="#audio">Audio</a> | - <a
|
||
href="#auditing">Auditing</a> | |- <a
|
||
href="#authentication-and-oauth">Authentication and OAuth</a> |- <a
|
||
href="#build-tools">Build Tools</a> |- <a href="#caching">Caching</a> |
|
||
| - <a href="#cloud-services">Cloud Services</a> |- <a
|
||
href="#cms">CMS</a> |- <a href="#code-analysis-and-linter">Code Analysis
|
||
and Linter</a> | | - <a href="#command-line-tools">Command-line
|
||
Tools</a> | - <a href="#configuration">Configuration</a> | - <a
|
||
href="#css-and-styling">CSS and Styling</a> | |- <a
|
||
href="#data-validation">Data Validation</a> |- <a
|
||
href="#data-visualization">Data Visualization</a> |- <a
|
||
href="#database-drivers">Database Drivers</a> | |- <a
|
||
href="#date-and-time">Date and Time</a> | - <a
|
||
href="#debugging-tools">Debugging Tools</a> |- <a
|
||
href="#devops-tools">DevOps Tools</a> | |- <a
|
||
href="#distribution">Distribution</a> | - <a
|
||
href="#documentation">Documentation</a> | - <a
|
||
href="#downloader">Downloader</a> | | - <a
|
||
href="#e-commerce--online-paying">E-Commerce & Online Paying</a> | -
|
||
<a href="#e-mail">E-Mail</a> |- <a
|
||
href="#environment-management">Environment Management</a> | | - <a
|
||
href="#file-uploading">File Uploading</a> | - <a
|
||
href="#feature-flipping">Feature Flipping</a> | - <a
|
||
href="#foreign-function-interface">Foreign Function Interface</a> | | -
|
||
<a href="#forms">Forms</a> | - <a href="#game-development">Game
|
||
Development</a> |- <a href="#geolocation">Geolocation</a> | | - <a
|
||
href="#gui">GUI</a> |- <a href="#high-performance">High Performance</a>
|
||
| - <a href="#htmlxmlcss-manipulation">HTML/XML/CSS Manipulation</a> |
|
||
|- <a href="#http">HTTP</a> |- <a href="#imagery">Imagery</a> |- <a
|
||
href="#internationalization">Internationalization</a> | | - <a
|
||
href="#logging">Logging</a> | - <a href="#machine-learning">Machine
|
||
Learning</a> |- <a href="#mapreduce">MapReduce</a> | |- <a
|
||
href="#multi-tenancy">Multi-tenancy</a> |- <a
|
||
href="#natural-language-processing">Natural Language Processing</a> | -
|
||
<a href="#networking">Networking</a> | | - <a href="#orm">ORM</a> |- <a
|
||
href="#package-management">Package Management</a> | - <a
|
||
href="#presentation-tools">Presentation Tools</a> | |- <a
|
||
href="#processes-and-threads">Processes and Threads</a> | - <a
|
||
href="#push-notification">Push Notification</a> | - <a
|
||
href="#queue">Queue</a> | | - <a href="#serverless">Serverless</a> | -
|
||
<a href="#spreadsheets">Spreadsheets</a> | - <a
|
||
href="#restful-api">RESTful API</a> | |- <a
|
||
href="#science-and-data-analysis">Science and Data Analysis</a> |- <a
|
||
href="#search">Search</a> | - <a href="#site-monitoring">Site
|
||
Monitoring</a> | | - <a href="#starter-apps">Starter Apps</a> |- <a
|
||
href="#tagging">Tagging</a> |- <a href="#template-engine">Template
|
||
Engine</a> | | - <a href="#testing">Testing</a> | - <a
|
||
href="#text-processing">Text Processing</a> | - <a
|
||
href="#third-party-apis">Third-party APIs</a> | | - <a
|
||
href="#url-manipulation">URL Manipulation</a> | - <a
|
||
href="#video">Video</a> |- <a href="#web-content-extracting">Web Content
|
||
Extracting</a> | | - <a href="#web-crawling">Web Crawling</a> |- <a
|
||
href="#web-frameworks">Web Frameworks</a> |- <a href="#web-servers">Web
|
||
Servers</a> | | - <a href="#websocket">WebSocket</a> |- <a
|
||
href="#miscellaneous">Miscellaneous</a> |- <a
|
||
href="#editor-plugins">Editor Plugins</a> | |- <a
|
||
href="#resources">Resources</a> | - <a href="#people-to-follow">People
|
||
to Follow</a> |- <a href="#other-awesome-lists">Other Awesome Lists</a>
|
||
| |- <a href="#contributing">Contributing</a> | | |</p>
|
||
<h2 id="admin-panels">Admin Panels</h2>
|
||
<p><em>Libraries for administrative interfaces.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/activeadmin/activeadmin">active_admin</a> The
|
||
administration framework for Ruby on Rails applications</li>
|
||
<li><a href="https://github.com/sferik/rails_admin">rails_admin</a> A
|
||
Rails engine that provides an easy-to-use interface for managing your
|
||
data</li>
|
||
<li><a
|
||
href="https://github.com/thoughtbot/administrate">administrate</a> A
|
||
framework for creating flexible, powerful admin dashboards in
|
||
Rails.</li>
|
||
</ul>
|
||
<h2 id="anti-spam">Anti-spam</h2>
|
||
<p><em>Libraries for fighting spam.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/noeticpenguin/RubySpamAssassin">RubySpamAssassin</a>
|
||
Kills Spam Dead. Perhaps before it’s sent!</li>
|
||
</ul>
|
||
<h2 id="asset-management">Asset Management</h2>
|
||
<p><em>Tools for managing, compressing and minifying website
|
||
assets.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/sstephenson/sprockets">sprockets</a>
|
||
Rack-based asset packaging system</li>
|
||
<li><a
|
||
href="https://github.com/rails-assets/rails-assets/">rails-assets</a> is
|
||
the frictionless proxy between Bundler and Bower</li>
|
||
</ul>
|
||
<h2 id="audio">Audio</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/zhangsu/seal">seal</a> A C library (with
|
||
Ruby binding) for 3D audio rendering</li>
|
||
</ul>
|
||
<h2 id="auditing">Auditing</h2>
|
||
<p><em>Tools for logging changes to ActiveRecord models</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/collectiveidea/audited">Audited</a> -
|
||
Audited (formerly acts_as_audited) is an ORM extension that logs all
|
||
changes to your Rails models.</li>
|
||
<li><a href="https://github.com/palkan/logidze">Logidze</a> - Logs model
|
||
changes via database triggers (PL/SQL functions). Fastest model diffs.
|
||
PostgreSQL 9.5+ only.</li>
|
||
</ul>
|
||
<h2 id="authentication-and-oauth">Authentication and OAuth</h2>
|
||
<p><em>Libraries for implementing authentications schemes.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/plataformatec/devise">Devise</a> -
|
||
Devise is a flexible authentication solution for Rails based on
|
||
Warden</li>
|
||
<li><a href="https://github.com/intridea/omniauth">Omniauth</a> -
|
||
OmniAuth is a flexible authentication system utilizing Rack
|
||
middleware</li>
|
||
<li><a href="https://github.com/hassox/warden">Warden</a> - General Rack
|
||
Authentication Framework</li>
|
||
<li><a href="https://github.com/binarylogic/authlogic">AuthLogic</a> - A
|
||
simple ruby authentication solution</li>
|
||
<li><a href="https://github.com/NoamB/sorcery">Sorcery</a> - Magical
|
||
authentication for Rails 3 & 4</li>
|
||
<li><a href="https://github.com/CanCanCommunity/cancancan">CanCanCan</a>
|
||
Authorization gem for Rails (continued version of CanCan from
|
||
ryanb)</li>
|
||
<li><a href="https://github.com/elabs/pundit">pundit</a> - Minimal
|
||
authorization using object oriented design.</li>
|
||
<li><a href="https://github.com/nathanl/authority">authority</a> - ORM
|
||
neutral authorization.</li>
|
||
<li><a
|
||
href="https://github.com/doorkeeper-gem/doorkeeper">doorkeeper</a> An
|
||
OAuth 2 provider for Rails</li>
|
||
<li><a href="https://github.com/adamniedzielski/tiddle/">tiddle</a> -
|
||
Devise strategy for token authentication in API-only Ruby on Rails
|
||
applications</li>
|
||
</ul>
|
||
<h2 id="build-tools">Build Tools</h2>
|
||
<p><em>Compile software from source code.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/ioquatix/teapot">teapot</a> A
|
||
decentralised build tool for managing complex cross-platform
|
||
projects</li>
|
||
</ul>
|
||
<h2 id="caching">Caching</h2>
|
||
<p><em>Libraries for caching data.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/rtomayko/rack-cache">rack-cache</a> HTTP
|
||
Caching for Ruby Web Apps</li>
|
||
<li><a href="https://github.com/mperham/dalli">Dalli</a> - a high
|
||
performance pure Ruby client for accessing memcached servers.</li>
|
||
</ul>
|
||
<h2 id="cloud-services">Cloud Services</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/fog/fog">fog</a> The Ruby cloud services
|
||
library</li>
|
||
<li><a href="https://github.com/aws/aws-sdk-ruby">aws-sdk-ruby</a> The
|
||
official AWS SDK for Ruby</li>
|
||
</ul>
|
||
<h2 id="cms">CMS</h2>
|
||
<p><em>Content management systems</em></p>
|
||
<ul>
|
||
<li><a href="http://www.refinerycms.com">Refinery CMS</a> An extendable
|
||
Ruby on Rails CMS that supports Rails 3.2 and 4.2</li>
|
||
<li><a
|
||
href="https://github.com/comfy/comfortable-mexican-sofa">Comfortable
|
||
Mexican Sofa</a> A powerful Rails 4/5 CMS Engine</li>
|
||
<li><a href="http://www.browsercms.org/">Browser</a> Humane Content
|
||
Management for Rails</li>
|
||
<li><a href="http://www.locomotivecms.com/">Locomotive</a> a brand new
|
||
CMS system with super sexy UI and cool features</li>
|
||
<li><a href="http://radiantcms.org/">Radiant</a> A no-fluff, open source
|
||
content management system</li>
|
||
<li><a href="http://nestacms.com/">Nesta</a> A lightweight CMS,
|
||
implemented in Sinatra</li>
|
||
<li><a href="https://github.com/AlchemyCMS/alchemy_cms">alchemy_cms</a>
|
||
the most powerful, user friendly and flexible Rails CMS</li>
|
||
<li><a href="https://github.com/cercomp/weby">weby</a> Newbie CMS in
|
||
Ruby on Rails</li>
|
||
</ul>
|
||
<h2 id="code-analysis-and-linter">Code Analysis and Linter</h2>
|
||
<p><em>Libraries and tools for analyzing, parsing and manipulation
|
||
codebases.</em> * <a
|
||
href="https://github.com/SonarSource/sonarlint-intellij">sonarlint-intellij</a>
|
||
- An IDE extension that helps you detect and fix quality issues as you
|
||
write code. * <a href="https://github.com/bbatsov/rubocop">Rubocop</a> -
|
||
A Ruby static code analyzer, based on the community Ruby style guide. *
|
||
<a href="https://github.com/YorickPeterse/ruby-lint">ruby-lint</a> -
|
||
ruby-lint is a static code analysis tool for Ruby * <a
|
||
href="https://github.com/presidentbeef/brakeman">brakeman</a> - Static
|
||
analysis tool which checks Ruby on Rails applications for security
|
||
vulnerabilities * <a href="https://github.com/troessner/reek">reek</a> -
|
||
Code smell detector for Ruby * <a
|
||
href="https://github.com/lambda2/breezer">Breezer</a> - Lock your
|
||
Gemfile dependencies to safe versions.</p>
|
||
<h2 id="command-line-tools">Command-line Tools</h2>
|
||
<p><em>Libraries for building command-line application.</em></p>
|
||
<ul>
|
||
<li><a href="http://visionmedia.github.io/commander/">Commander</a> -
|
||
The complete solution for Ruby command-line executables</li>
|
||
<li><a href="https://github.com/erikhuda/thor">Thor</a> - Thor is a
|
||
toolkit for building powerful command-line interfaces</li>
|
||
</ul>
|
||
<h2 id="configuration">Configuration</h2>
|
||
<p><em>Libraries for storing configuration options.</em></p>
|
||
<h2 id="css-and-styling">CSS and Styling</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/sass/sass">sass</a> A CSS preproccessor
|
||
<ul>
|
||
<li><a href="https://github.com/rails/sass-rails">sass-rails</a> Rails
|
||
stylesheet engine for Sass</li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/metaskills/less-rails">less-rails</a>
|
||
The dynamic stylesheet language for the Rails</li>
|
||
<li><a href="https://github.com/Compass/compass">compass</a> A a
|
||
Stylesheet Authoring Environment</li>
|
||
<li><a href="https://github.com/twbs/bootstrap-sass">bootstrap-sass</a>
|
||
Official Sass port of Bootstrap</li>
|
||
<li><a
|
||
href="https://github.com/zurb/foundation-rails">foundation-rails</a>
|
||
Foundation for Rails</li>
|
||
<li><a
|
||
href="https://github.com/maxim/bootswatch-rails">bootswatch-rails</a>
|
||
Bootswatches converted to SCSS ready to use in Rails</li>
|
||
<li><a href="https://github.com/thoughtbot/bourbon">bourbon</a> A
|
||
lightweight mixin library for Sass</li>
|
||
</ul>
|
||
<h2 id="data-validation">Data Validation</h2>
|
||
<p><em>Libraries for validating data. Used for forms in many
|
||
cases.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/lab2023/kangal">kangal</a> - Extended
|
||
validation gem for email, subdomain, credit card, tax number etc</li>
|
||
<li><a href="https://github.com/lab2023/bin_checker">bin_checker</a> -
|
||
BIN validator for Turkish Banks</li>
|
||
</ul>
|
||
<h2 id="data-visualization">Data Visualization</h2>
|
||
<p><em>Libraries for visualizing data.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/smathieu/prosperity">prosperity</a> The
|
||
easiest way to graph data from your Rails models</li>
|
||
</ul>
|
||
<h2 id="database-drivers">Database Drivers</h2>
|
||
<p><em>Libraries for connecting and operating databases.</em></p>
|
||
<ul>
|
||
<li>Relational Databases
|
||
<ul>
|
||
<li><a href="https://bitbucket.org/ged/ruby-pg">ruby-pg</a> Ruby
|
||
interface to the PostgreSQL >= 8.4</li>
|
||
<li><a href="https://github.com/brianmario/mysql2">mysql2</a> A modern,
|
||
simple and very fast Mysql library for Ruby</li>
|
||
<li><a
|
||
href="https://github.com/sparklemotion/sqlite3-ruby">sqlite3-ruby</a>
|
||
Ruby bindings for the SQLite3 embedded database</li>
|
||
</ul></li>
|
||
<li>NoSQL Databases</li>
|
||
</ul>
|
||
<h2 id="date-and-time">Date and Time</h2>
|
||
<p><em>Libraries for working with dates and times.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/jeremyw/stamp">stamp</a> Date and time
|
||
formatting for humans</li>
|
||
<li><a href="https://github.com/mojombo/chronic">chronic</a> Natural
|
||
language date/time parser</li>
|
||
</ul>
|
||
<h2 id="debugging-tools">Debugging Tools</h2>
|
||
<p><em>Libraries for debugging and developing.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/deivid-rodriguez/byebug">byebug</a> -
|
||
Debugging in Ruby 2</li>
|
||
<li><a href="https://github.com/cldwalker/debugger">debugger</a> - port
|
||
of ruby-debug that works on 1.9.2 and 1.9.3</li>
|
||
<li><a
|
||
href="https://github.com/AndyObtiva/puts_debuggerer">puts_debuggerer</a>
|
||
- Debugger-less debugging FTW</li>
|
||
</ul>
|
||
<h2 id="devops-tools">DevOps Tools</h2>
|
||
<p><em>Software and libraries for DevOps.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/puppetlabs/puppet">Puppet</a> - Server
|
||
automation framework and application</li>
|
||
<li><a href="https://github.com/chef/chef">Chef</a> - A systems
|
||
integration framework, built to bring the benefits of configuration
|
||
management to your entire infrastructure.</li>
|
||
<li><a href="https://www.vagrantup.com/">Vagrant</a> - Vagrant is a tool
|
||
for building and distributing development environments.</li>
|
||
<li><a href="http://capistranorb.com/">Capistrano</a> - Remote
|
||
multi-server automation tool</li>
|
||
<li><a href="https://github.com/mina-deploy/mina">Mina</a> Really fast
|
||
deployer and server automation tool</li>
|
||
<li><a href="https://github.com/nanobox-io/nanobox">Nanobox</a> - A
|
||
micro-PaaS (μPaaS) for creating consistent, isolated, Ruby environments
|
||
deployable anywhere https://nanobox.io.</li>
|
||
</ul>
|
||
<h2 id="distribution">Distribution</h2>
|
||
<p><em>Libraries to create packaged executables for release
|
||
distribution.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/jordansissel/fpm">fpm</a> Building
|
||
packages for multiple platforms (deb, rpm, etc) with great ease and
|
||
sanity.</li>
|
||
</ul>
|
||
<h2 id="documentation">Documentation</h2>
|
||
<p><em>Libraries for generating project documentation.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/Wolox/dictum">Dictum</a> - A tool that
|
||
let’s you create automatic documentation of your Rails API endpoints
|
||
through your tests.</li>
|
||
<li><a href="https://github.com/rdoc/rdoc">rdoc</a> HTML and online
|
||
documentation for Ruby projects</li>
|
||
<li><a href="https://github.com/lsegal/yard">yard</a> A Ruby
|
||
Documentation tool</li>
|
||
</ul>
|
||
<h2 id="downloader">Downloader</h2>
|
||
<p><em>Libraries for downloading.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/LeonardoCardoso/gsrd">GitHub Starred
|
||
Repos Downloader</a> - gsrd downloads your public starred repos. Just in
|
||
case you want to keep a backup of them from time to time.</li>
|
||
</ul>
|
||
<h2 id="e-commerce-online-paying">E-Commerce & Online Paying</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/activemerchant/active_merchant">Active
|
||
Merchant</a> - A simple payment abstraction library extracted from
|
||
Shopify.</li>
|
||
<li><a href="https://github.com/spree/spree">Spree</a> - A complete open
|
||
source e-commerce solution for Ruby on Rails.</li>
|
||
<li><a href="https://github.com/square/square-ruby-sdk">Square SDK</a> -
|
||
Use this gem to integrate Square payments into your app and grow your
|
||
business with Square APIs including Catalog, Customers, Employees,
|
||
Inventory, Labor, Locations, and Orders.</li>
|
||
<li><a href="https://github.com/paypal/merchant-sdk-ruby">PayPal
|
||
Merchant SDK</a> - Provides Ruby APIs for processing payments, recurring
|
||
payments, subscriptions and transactions using PayPal’s Merchant
|
||
APIs.</li>
|
||
</ul>
|
||
<h2 id="e-mail">E-Mail</h2>
|
||
<p><em>Libraries for sending and parsing email.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/mikel/mail">mail</a> A Really Ruby Mail
|
||
Library</li>
|
||
<li><a href="https://github.com/mailman/mailman">mailman</a> An incoming
|
||
mail processing microframework in Ruby</li>
|
||
</ul>
|
||
<h2 id="environment-management">Environment Management</h2>
|
||
<p><em>Libraries for Ruby version and environment management.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/postmodern/chruby">chruby</a> - Changes
|
||
the current Ruby</li>
|
||
<li><a href="https://github.com/postmodern/chgems">chgems</a> - Chroot
|
||
for RubyGems</li>
|
||
<li><a href="https://rvm.io/">rvm</a> - Ruby Version Manager</li>
|
||
<li><a href="http://rbenv.org/">rbenv</a> - Groom your app’s Ruby
|
||
environment</li>
|
||
<li><a
|
||
href="https://github.com/postmodern/ruby-install">ruby-install</a> -
|
||
Installs Ruby, JRuby, Rubinius, MagLev or MRuby</li>
|
||
<li><a href="https://github.com/sstephenson/ruby-build">ruby-build</a> -
|
||
Compile and install Ruby</li>
|
||
<li><a href="https://github.com/nanobox-io/nanobox">Nanobox</a> - A tool
|
||
for creating isolated Ruby environments for consistency across teams and
|
||
application stages (dev, staging, production, etc.)
|
||
https://nanobox.io.</li>
|
||
</ul>
|
||
<h2 id="error-handling">Error Handling</h2>
|
||
<p><em>Libraries for exception and error handling.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/smartinez87/exception_notification">Exception
|
||
Notification</a> - A set of notifiers for sending notifications when
|
||
errors occur in a Rack/Rails application</li>
|
||
<li><a href="http://errbit.github.io/errbit">Errbit</a> - The open
|
||
source, self-hosted error catcher</li>
|
||
<li><a href="https://github.com/airbrake/airbrake">Airbrake</a> - The
|
||
official Airbrake library for Ruby on Rails (and other Rack based
|
||
frameworks)</li>
|
||
<li><a href="https://github.com/charliesome/better_errors">Better
|
||
Errors</a> - Better error page for Rack apps</li>
|
||
</ul>
|
||
<h2 id="file-uploading">File Uploading</h2>
|
||
<p><em>Libraries for handling file uploads.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/thoughtbot/paperclip">paperclip</a> Easy
|
||
file attachment management for ActiveRecord</li>
|
||
<li><a href="https://github.com/markevans/dragonfly">dragonfly</a>
|
||
On-the-fly processing - suitable for image uploading in Rails, Sinatra
|
||
and much more</li>
|
||
<li><a
|
||
href="https://github.com/carrierwaveuploader/carrierwave">carrierwave</a>
|
||
Classier solution for file uploads for Rails, Sinatra and other Ruby web
|
||
frameworks</li>
|
||
<li><a href="https://github.com/choonkeat/attache">attache</a> - Yet
|
||
another approach to file upload https://attache-demo.herokuapp.com</li>
|
||
</ul>
|
||
<h2 id="feature-flipping">Feature flipping</h2>
|
||
<p><em>Libraries for flipping features</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/AndyObtiva/abstract_feature_branch">abstract_feature_branch</a>
|
||
a gem that enables developers to easily branch by abstraction</li>
|
||
<li><a href="https://github.com/gmontard/helioth">helioth</a> Manage
|
||
feature flipping and rollout</li>
|
||
<li><a href="https://github.com/jnunemaker/flipper">flipper</a> feature
|
||
flipping for ANYTHING</li>
|
||
<li><a href="https://github.com/pda/flip">flip</a> Flip lets you declare
|
||
and manage feature flags, backed by cookies (private testing) and
|
||
database (site-wide)</li>
|
||
<li><a href="https://github.com/FetLife/rollout">rollout</a> Feature
|
||
flippers.</li>
|
||
</ul>
|
||
<h2 id="foreign-function-interface">Foreign Function Interface</h2>
|
||
<p><em>Libraries for providing foreign function interface.</em></p>
|
||
<h2 id="forms">Forms</h2>
|
||
<p><em>Libraries for working with forms.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/plataformatec/simple_form">simple_form</a>
|
||
Forms made easy for Rails</li>
|
||
<li><a href="https://github.com/justinfrench/formtastic">formtastic</a>
|
||
A Rails form builder plugin with semantically rich and accessible
|
||
markup</li>
|
||
<li><a
|
||
href="https://github.com/bootstrap-ruby/bootstrap_form">bootstrap_form</a>
|
||
A Rails form builder that makes it super easy to integrate Bootstrap
|
||
v4-style forms into your Rails application</li>
|
||
</ul>
|
||
<h2 id="game-development">Game Development</h2>
|
||
<p><em>Awesome game development libraries.</em></p>
|
||
<ul>
|
||
<li><a href="https://www.libgosu.org/">Gosu</a> - A 2D game development
|
||
library for the Ruby and C++ programming languages</li>
|
||
</ul>
|
||
<h2 id="geolocation">Geolocation</h2>
|
||
<p><em>Libraries for geocoding addresses and working with latitudes and
|
||
longitudes.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/alexreisner/geocoder">geocoder</a>
|
||
Complete Ruby geocoding solution</li>
|
||
<li><a href="https://github.com/geokit/geokit">Geokit</a> - Geokit gem
|
||
provides geocoding and distance/heading calculations.</li>
|
||
</ul>
|
||
<h2 id="git-tools">Git Tools</h2>
|
||
<p><em>Libraries for working with Git VCS</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/lab2023/katip">katip</a> - Change logger
|
||
for Git initialized projects</li>
|
||
</ul>
|
||
<h2 id="gui">GUI</h2>
|
||
<p><em>Libraries for working with graphical user interface
|
||
applications.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/AndyObtiva/glimmer">glimmer</a> Ruby
|
||
Desktop Development GUI Library</li>
|
||
<li><a href="https://github.com/shoes/shoes">shoes</a> A tiny graphical
|
||
app kit for ruby</li>
|
||
<li><a href="https://github.com/shoes/shoes4">shoes4</a> the next
|
||
version of Shoes</li>
|
||
</ul>
|
||
<h2 id="high-performance">High Performance</h2>
|
||
<p><em>Libraries for making Ruby faster.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/eventmachine/eventmachine">EventMachine</a> -
|
||
EventMachine: fast, simple event-processing library for Ruby
|
||
programs</li>
|
||
<li><a href="https://celluloid.io/">Celluloid</a> - Actor-based
|
||
concurrent object framework for Ruby. It has its own <a
|
||
href="https://github.com/sashaegorov/awesome-celluloid">awesomeness</a>.</li>
|
||
</ul>
|
||
<h2 id="htmlxmlcss-manipulation">HTML/XML/CSS Manipulation</h2>
|
||
<p><em>Libraries for working with HTML, XML & CSS.</em></p>
|
||
<ul>
|
||
<li><a href="http://www.nokogiri.org/">Nokogiri</a></li>
|
||
<li><a href="https://github.com/flavorjones/loofah">loofah</a> A general
|
||
library for manipulating and transforming HTML/XML documents and
|
||
fragments</li>
|
||
</ul>
|
||
<h2 id="http">HTTP</h2>
|
||
<p><em>Libraries for working with HTTP.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/jnunemaker/httparty">httparty</a> Makes
|
||
http fun again!</li>
|
||
<li><a href="https://github.com/lostisland/faraday">faraday</a> Simple,
|
||
but flexible HTTP client library, with support for multiple
|
||
backends.</li>
|
||
<li><a href="https://github.com/httprb/http">http</a> A simple Ruby DSL
|
||
for making HTTP requests</li>
|
||
<li><a href="https://github.com/excon/excon">excon</a> Usable, fast,
|
||
simple HTTP(S) 1.1 for Ruby</li>
|
||
<li><a href="https://github.com/maccman/nestful">nestful</a> Simple Ruby
|
||
HTTP/REST client with a sane API</li>
|
||
<li><a
|
||
href="https://github.com/torokmark/response_code">response_code</a>
|
||
Response Code in readable way</li>
|
||
</ul>
|
||
<h2 id="imagery">Imagery</h2>
|
||
<p><em>Libraries for manipulating images.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/rmagick/rmagick">rmagick</a> An
|
||
interface to the ImageMagick and GraphicsMagick image processing
|
||
libraries
|
||
<ul>
|
||
<li><a href="https://github.com/minimagick/minimagick">minimagick</a>
|
||
Minified version of rmagick</li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/wvanbergen/chunky_png">chunky_png</a>
|
||
Read/write access to PNG images in pure Ruby</li>
|
||
<li><a href="https://github.com/toy/image_optim">image_optim</a>
|
||
Optimize images using multiple utilities</li>
|
||
<li><a href="https://github.com/afeld/magickly">magickly</a> image
|
||
manipulation as a (plugin-able) service</li>
|
||
</ul>
|
||
<h2 id="internationalization">Internationalization</h2>
|
||
<p><em>Libraries for woking with i18n.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/svenfuchs/i18n">i18n</a> - Basic
|
||
internationalization(i18n) library for Ruby</li>
|
||
<li><a href="https://github.com/globalize/globalize">globalize</a> Rails
|
||
I18n de-facto standard library for ActiveRecord model/data
|
||
translation</li>
|
||
<li><a href="https://github.com/glebm/i18n-tasks">i18n-tasks</a> Manage
|
||
translations in ruby applications with the awesome power of static
|
||
analysis</li>
|
||
</ul>
|
||
<h2 id="logging">Logging</h2>
|
||
<p><em>Libraries for generating and working with log files.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/elastic/logstash">Logstash</a> Logstash
|
||
is a tool for managing events and logs.</li>
|
||
</ul>
|
||
<h2 id="machine-learning">Machine Learning</h2>
|
||
<p><em>Libraries for Machine Learning.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/PredictionIO/PredictionIO-Ruby-SDK">PredictionIO
|
||
Ruby SDK</a> - The PredictionIO Ruby SDK provides a convenient API to
|
||
quickly record your users’ behavior and retrieve personalized
|
||
predictions for them</li>
|
||
<li><a href="https://github.com/BayesWitnesses/m2cgen">m2cgen</a> - A
|
||
CLI tool to transpile trained classic ML models into a native Ruby code
|
||
with zero dependencies.</li>
|
||
</ul>
|
||
<h2 id="mapreduce">MapReduce</h2>
|
||
<p><em>Frameworks and libraries for MapReduce.</em></p>
|
||
<h2 id="multi-tenancy">Multi-tenancy</h2>
|
||
<p><em>Libraries for managing multi-tenant apps.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/influitive/apartment">Apartment</a> -
|
||
Database multi-tenancy for Rack (and Rails) applications</li>
|
||
</ul>
|
||
<h2 id="natural-language-processing">Natural Language Processing</h2>
|
||
<p><em>Libraries for working with human languages.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/louismullie/treat">Treat</a> - Treat is
|
||
a toolkit for natural language processing and computational linguistics
|
||
in Ruby</li>
|
||
</ul>
|
||
<h2 id="networking">Networking</h2>
|
||
<p><em>Libraries for network programming.</em></p>
|
||
<h2 id="orm">ORM</h2>
|
||
<p><em>Libraries that implement Object-Relational Mapping or data
|
||
mapping techniques.</em></p>
|
||
<ul>
|
||
<li><p>Relational Databases</p>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.ruby-toolbox.com/projects/activerecord">ActiveRecord</a>
|
||
- Databases on Rails. Build a persistent domain model by mapping
|
||
database tables to Ruby classes</li>
|
||
<li><a href="http://datamapper.org/">DataMapper</a> - DataMapper is an
|
||
Object Relational Mapper written in Ruby. The goal is to create an ORM
|
||
which is fast, thread-safe and feature rich.</li>
|
||
<li><a href="http://sequel.jeremyevans.net/">Sequel</a> - The Database
|
||
Toolkit for Ruby</li>
|
||
</ul></li>
|
||
<li><p>NoSQL Databases</p>
|
||
<ul>
|
||
<li><a href="http://mongoid.org">Mongoid</a> - Mongoid (pronounced
|
||
mann-goyd) is an Object-Document-Mapper (ODM) for MongoDB written in
|
||
Ruby.</li>
|
||
<li><a href="https://github.com/soveran/ohm">Ohm</a> - Object-Hash
|
||
Mapping for Redis</li>
|
||
</ul></li>
|
||
</ul>
|
||
<h2 id="package-management">Package Management</h2>
|
||
<p><em>Libraries for package and dependency management.</em></p>
|
||
<ul>
|
||
<li><a href="https://rubygems.org/">RubyGems</a> - RubyGems is a package
|
||
manager for the Ruby programming language that provides a standard
|
||
format for distributing Ruby programs and libraries</li>
|
||
<li><a href="http://bundler.io">Bundler</a> - Bundler provides a
|
||
consistent environment for Ruby projects by tracking and installing the
|
||
exact gems and versions that are needed</li>
|
||
<li><a href="http://brew.sh">Homebrew</a> - Homebrew installs the stuff
|
||
you need that Apple didn’t</li>
|
||
<li><a href="http://caskroom.io/">Homebrew Cask</a> - Cask provides a
|
||
friendly homebrew-style CLI workflow for the administration of Mac
|
||
applications distributed as binaries</li>
|
||
</ul>
|
||
<h2 id="pagination">Pagination</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/amatsuda/kaminari">kaminari</a> A Scope
|
||
& Engine based, clean, powerful, customizable and sophisticated
|
||
paginator</li>
|
||
<li><a href="https://github.com/mislav/will_paginate">will_paginate</a>
|
||
Pagination library for Rails 3, Sinatra, Merb, DataMapper, and more</li>
|
||
<li><a href="https://github.com/glebm/order_query">order_query</a>
|
||
Keyset pagination to find the next or previous record(s) relative to the
|
||
current one efficiently, e.g. for infinite scroll.</li>
|
||
</ul>
|
||
<h2 id="pdf-processing">PDF Processing</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/DocRaptor/docraptor-ruby">DocRaptor</a>
|
||
Wrapper library for <a href="https://docraptor.com">DocRaptor’s</a>
|
||
Ruby-based HTML-to-PDF API</li>
|
||
<li><a href="https://github.com/mileszs/wicked_pdf">wicked_pdf</a> PDF
|
||
generator (from HTML) plugin for Ruby on Rails</li>
|
||
<li><a href="https://github.com/pdfkit/pdfkit">pdfkit</a> HTML+CSS to
|
||
PDF using wkhtmltopdf</li>
|
||
<li><a href="https://github.com/prawnpdf/prawn">prawn</a> Fast, Nimble
|
||
PDF Writer for Ruby</li>
|
||
<li><a
|
||
href="https://github.com/strzibny/invoice_printer">InvoicePrinter</a> -
|
||
Super simple PDF invoicing in Ruby (built on top of Prawn).</li>
|
||
</ul>
|
||
<h2 id="presentation-tools">Presentation Tools</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/rabbit-shocker/rabbit">rabbit</a> A
|
||
programable presentaton tool by Ruby</li>
|
||
<li><a href="https://github.com/jedcn/reveal-ck">reveal-ck</a> Reveal.js
|
||
presentations with a Ruby toolset</li>
|
||
</ul>
|
||
<h2 id="processes-and-threads">Processes and Threads</h2>
|
||
<p><em>Libraries for woking with processes or threads</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/grosser/parallel">Parallel</a> - Ruby
|
||
parallel processing made simple and fast</li>
|
||
</ul>
|
||
<h2 id="profiling">Profiling</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/flyerhzm/bullet">bullet</a> - help to
|
||
kill N+1 queries and unused eager loading</li>
|
||
</ul>
|
||
<h2 id="push-notification">Push Notification</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/rpush/rpush">Rpush</a> - The push
|
||
notification service for Ruby.</li>
|
||
<li><a href="https://github.com/arthurnn/apn_sender">apn_sender</a> -
|
||
Background worker to send Apple Push Notifications over a persistent TCP
|
||
socket.</li>
|
||
<li><a href="https://github.com/nomad/houston">Houston</a> - A simple
|
||
gem for sending Apple Push Notifications.</li>
|
||
<li><a href="https://github.com/zaru/webpush">webpush</a> - Encryption
|
||
Utilities for Web Push protocol</li>
|
||
</ul>
|
||
<h2 id="queue">Queue</h2>
|
||
<p><em>Libraries for working with event and task queues.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/resque/resque">Resque</a> A Redis-backed
|
||
Ruby library for creating background jobs, placing them on multiple
|
||
queues.</li>
|
||
<li><a href="https://github.com/tobi/delayed_job">Delayed::Job</a> —
|
||
Database backed asynchronous priority queue.</li>
|
||
<li><a href="https://github.com/bkeepers/qu">Qu</a> A Ruby library for
|
||
queuing and processing background jobs.</li>
|
||
<li><a href="https://github.com/mperham/sidekiq">Sidekiq</a> Simple,
|
||
efficient background processing for Ruby</li>
|
||
</ul>
|
||
<h2 id="restful-api">RESTful API</h2>
|
||
<p><em>Libraries for developing RESTful APIs.</em></p>
|
||
<ul>
|
||
<li><a href="http://intridea.github.io/grape/">Grape</a> - An
|
||
opinionated micro-framework for creating REST-like APIs in Ruby.</li>
|
||
<li><a href="https://github.com/rails-api/rails-api">Rails::API</a> -
|
||
Rails for API only applications</li>
|
||
<li><a href="https://github.com/rails/jbuilder">jbuilder</a> - Create
|
||
JSON structures via a Builder-style DSL</li>
|
||
<li><a href="https://github.com/nesquena/rabl">rabl</a> - General Ruby
|
||
templating with json, bson, xml, plist and msgpack support</li>
|
||
<li><a
|
||
href="https://github.com/rails-api/active_model_serializers">active_model_serializers</a>
|
||
- ActiveModel::Serializer implementation and Rails hooks</li>
|
||
<li><a href="https://github.com/ismasan/oat">oat</a> - Adapters-based
|
||
API serializers with Hypermedia support for Ruby apps (HAL, Siren,
|
||
JSONAPI).</li>
|
||
<li><a href="https://github.com/ErvalhouS/APIcasso">APIcasso</a> - An
|
||
abstract API design as a Rails-based mountable engine. RESTfullize your
|
||
legacy code.</li>
|
||
</ul>
|
||
<h2 id="serverless">Serverless</h2>
|
||
<ul>
|
||
<li><a href="https://faastruby.io">FaaStRuby</a> - Serverless Software
|
||
Development Platform for Ruby and Crystal developers.</li>
|
||
</ul>
|
||
<h2 id="spreadsheets">Spreadsheets</h2>
|
||
<p><em>Libraries for manipulating Excel, Google Spreadsheets, Numbers,
|
||
OpenOffice and LibreOffice files</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/zdavatz/spreadsheet">spreadsheet</a> -
|
||
The Spreadsheet Library is designed to read and write Spreadsheet
|
||
Documents.</li>
|
||
<li><a href="https://github.com/caxlsx/caxlsx">caxlsx</a> - Caxlsx
|
||
excels at helping you generate beautiful Office Open XML Spreadsheet
|
||
documents.</li>
|
||
<li><a href="https://github.com/caxlsx/caxlsx_rails">caxlsx_rails</a> -
|
||
Axlsx-Rails provides an Axlsx renderer so you can move all your
|
||
spreadsheet code from your controller into view files.</li>
|
||
<li><a href="https://github.com/roo-rb/roo">roo</a> - Roo implements
|
||
read access for all spreadsheet types and read/write access for Google
|
||
spreadsheets.</li>
|
||
<li><a
|
||
href="https://github.com/gimite/google-spreadsheet-ruby">google-spreadsheet-ruby</a>
|
||
- This is a library to read/write Google Spreadsheet.</li>
|
||
<li><a href="https://github.com/weshatheleopard/rubyXL">rubyXL</a> -
|
||
rubyXL is a gem which allows the parsing, creation, and manipulation of
|
||
Microsoft Excel (.xlsx/.xlsm) Documents</li>
|
||
<li><a href="https://github.com/sandrods/odf-report">Odf-report</a> -
|
||
Generates ODF files, given a template (.odt) and data, replacing
|
||
tags</li>
|
||
<li><a
|
||
href="https://github.com/harvesthq/simple_xlsx_writer">simple_xlsx_writer</a>
|
||
- Just as the name says, simple writter for Office 2007+ Excel
|
||
files</li>
|
||
<li><a
|
||
href="https://github.com/seamusabshere/remote_table">remote_table</a> -
|
||
Open local or remote XLSX, XLS, ODS, CSV (comma separated), TSV (tab
|
||
separated), other delimited, fixed-width files, and Google Docs.</li>
|
||
<li><a
|
||
href="https://github.com/caxlsx/acts_as_caxlsx">acts_as_caxlsx</a> -
|
||
acts_as_caxlsx lets you turn any ActiveRecord::Base inheriting class
|
||
into an excel spreadsheet.</li>
|
||
<li><a
|
||
href="https://github.com/caxlsx/activeadmin-caxlsx">activeadmin-caxlsx</a>
|
||
- This gem uses caxlsx to provide excel/xlsx downloads for resources in
|
||
Active Admin.</li>
|
||
<li><a href="https://github.com/glebm/to_spreadsheet">to_spreadsheet</a>
|
||
- Render XLSX from Rails using existing views</li>
|
||
<li><a href="https://github.com/cxn03651/write_xlsx">write_xlsx</a> -
|
||
write_xlsx is a gem to create a new file in the Excel 2007+ XLSX
|
||
format.</li>
|
||
<li><a href="https://github.com/asanghi/excel_rails">excel_rails</a> -
|
||
Allows you to program spreadsheets using .rxls views</li>
|
||
<li><a href="https://github.com/bspaulding/Sheets">sheets</a> - Work
|
||
with spreadsheets easily in a native ruby format.</li>
|
||
<li><a href="https://github.com/murb/workbook">workbook</a> - Workbook
|
||
contains workbooks, as in a table, contains rows, contains cells,
|
||
reads/writes excel, ods and csv and tab separated files…</li>
|
||
<li><a href="https://github.com/gnoso/spreadsheet_report">Spreadsheet
|
||
report</a> - Simple tool for running queries against ActiveRecord and
|
||
putting them into a Google Spreadsheet.</li>
|
||
<li><a href="https://github.com/gbiczo/oxcelix">oxcelix</a> - A fast
|
||
Excel 2007/2010 (.xlsx) file parser that returns a collection of Matrix
|
||
objects</li>
|
||
<li><a
|
||
href="https://github.com/tomiacannondale/wrap_excel">wrap_excel</a> -
|
||
WrapExcel is to wrap the win32ole, and easy to use Excel operations with
|
||
ruby. Detailed description please see the README.</li>
|
||
<li><a
|
||
href="https://github.com/maxd/write_xlsx_rails">write_xlsx_rails</a> -
|
||
xlsx renderer for Rails base on write_xlsx gem</li>
|
||
<li><a href="https://github.com/dkkoval/fastsheet">Fastsheet</a> - Fast
|
||
spreadsheet reader using Rust native extensions.</li>
|
||
</ul>
|
||
<h2 id="scheduling">Scheduling</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/javan/whenever">whenever</a> Cron jobs
|
||
in Ruby</li>
|
||
<li><a
|
||
href="https://github.com/resque/resque-scheduler">resque-scheduler</a> A
|
||
light-weight job scheduling system built on top of resque</li>
|
||
<li><a
|
||
href="https://github.com/jmettraux/rufus-scheduler">rufus-scheduler</a>
|
||
Scheduler for Ruby</li>
|
||
<li><a href="https://github.com/tomykaira/clockwork">Clockwork</a>
|
||
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.</li>
|
||
</ul>
|
||
<h2 id="science-and-data-analysis">Science and Data Analysis</h2>
|
||
<p><em>Libraries for scientific computing and data analyzing.</em></p>
|
||
<h2 id="search">Search</h2>
|
||
<p><em>Libraries and software for indexing and performing search queries
|
||
on data.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/pat/thinking-sphinx">Thinking Sphinx</a>
|
||
- Sphinx plugin for ActiveRecord/Rails</li>
|
||
<li><a
|
||
href="https://github.com/elastic/elasticsearch-ruby">elasticsearch-ruby</a>
|
||
- Ruby integrations for Elasticsearch</li>
|
||
<li><a href="https://github.com/ankane/searchkick">Searchkick</a> -
|
||
Intelligent search made easy</li>
|
||
<li><a
|
||
href="https://github.com/algolia/algoliasearch-rails/">Algoliasearch
|
||
Rails</a> - AlgoliaSearch integration to your favorite ORM</li>
|
||
<li><a href="https://github.com/Casecommons/pg_search">PgSearch</a> -
|
||
PostgreSQL’s full text search</li>
|
||
<li><a href="https://github.com/ranguba/rroonga">Rroonga</a> - The Ruby
|
||
bindings of Groonga</li>
|
||
<li><a href="https://github.com/sunspot/sunspot">Sunspot</a> -
|
||
Solr-powered search for Ruby objects</li>
|
||
</ul>
|
||
<h2 id="site-monitoring">Site Monitoring</h2>
|
||
<p><em>Libs for analytics, monitoring</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/kangguru/rack-google-analytics">rack-google-analytics</a>
|
||
Simple Rack middleware for implementing google analytics tracking</li>
|
||
<li><a href="https://github.com/DataDog/dogapi-rb">DataDog</a> A
|
||
monitoring service for IT, operations and development teams</li>
|
||
<li><a
|
||
href="https://github.com/Instrumental/instrumental_agent-ruby">Instrumental</a>
|
||
High-scale, non-blocking agent for <a
|
||
href="https://instrumentalapp.com">Instrumental</a> application
|
||
monitoring</li>
|
||
<li><a href="https://github.com/keenlabs/keen-gem">Keen IO</a> Build
|
||
analytics features directly into your Ruby apps</li>
|
||
</ul>
|
||
<h2 id="static-page-generation">Static Page Generation</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/jekyll/jekyll">jekyll</a> A blog-aware,
|
||
static site generator in Ruby</li>
|
||
<li><a href="https://github.com/middleman/middleman">middleman</a></li>
|
||
</ul>
|
||
<h2 id="starter-apps">Starter Apps</h2>
|
||
<p><em>App templates for creating apps quickly</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/thoughtbot/suspenders">suspenders</a> A
|
||
Rails template with our standard defaults, ready to deploy to
|
||
Heroku</li>
|
||
<li><a
|
||
href="https://github.com/diowa/ruby2-rails4-bootstrap-heroku">ruby2-rails4-bootstrap-heroku</a>
|
||
A starter application based on Ruby 2, Rails 4 and Bootstrap for Sass,
|
||
deployable on Heroku</li>
|
||
<li><a
|
||
href="https://github.com/RailsApps/rails-bootstrap">rails-bootstrap</a>
|
||
Rails 4.1 starter app with the Bootstrap front-end framework</li>
|
||
<li><a
|
||
href="https://github.com/starterkits/rails4-starterkit">rails4-starterkit</a>
|
||
Rails 4.1 starter app with production ready performance, security, and
|
||
authentication</li>
|
||
<li><a href="https://github.com/lab2023/cybele">cybele</a> - Rails 4.x
|
||
template with responder, simple form, haml, exception notification, etc
|
||
…</li>
|
||
</ul>
|
||
<h2 id="text-processing">Text Processing</h2>
|
||
<p><em>Libraries for parsing and manipulating texts.</em></p>
|
||
<ul>
|
||
<li><p>General</p></li>
|
||
<li><p>Specific Formats</p></li>
|
||
<li><p>Parser</p>
|
||
<ul>
|
||
<li><a href="https://github.com/Erol">Yomu</a> - Read text and metadata
|
||
from files and documents (.doc, .docx, .pages, .odt, .rtf, .pdf)</li>
|
||
</ul></li>
|
||
</ul>
|
||
<h2 id="tagging">Tagging</h2>
|
||
<p><em>Libraries for tagging items.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/mbleigh/acts-as-taggable-on">acts-as-taggable-on</a>
|
||
- A tagging plugin for Rails applications that allows for custom tagging
|
||
along dynamic contexts.</li>
|
||
</ul>
|
||
<h2 id="template-engine">Template Engine</h2>
|
||
<p><em>Libraries and tools for templating and lexing.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/slim-template/slim">Slim</a> A
|
||
templating lang that reduce the syntax to the essential parts without
|
||
becoming cryptic.
|
||
<ul>
|
||
<li><a href="https://github.com/slim-template/slim-rails">slim-rails</a>
|
||
Rails port of Slim lang</li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/haml/haml">Haml</a> HTML Abstraction
|
||
Markup Language - A Markup Haiku
|
||
<ul>
|
||
<li><a href="https://github.com/indirect/haml-rails">haml-rails</a>
|
||
Rails port of Haml lang</li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/rtomayko/tilt">Tilt</a></li>
|
||
<li><a href="https://github.com/Shopify/liquid">Liquid</a></li>
|
||
</ul>
|
||
<h2 id="testing">Testing</h2>
|
||
<p><em>Libraries for testing codebases and generating test
|
||
data.</em></p>
|
||
<ul>
|
||
<li><p>Testing Frameworks</p>
|
||
<ul>
|
||
<li><a href="http://rspec.info/">RSpec</a> - BDD for Ruby</li>
|
||
<li><a href="https://github.com/seattlerb/minitest">MiniTest</a> -
|
||
minitest provides a complete suite of testing facilities supporting TDD,
|
||
BDD, mocking, and benchmarking</li>
|
||
<li>[Cucumber]
|
||
<ul>
|
||
<li><a href="https://github.com/cucumber/cucumber/wiki">Cucumber
|
||
Github</a> - Cucumber is a tool that executes plain-text functional
|
||
descriptions as automated tests</li>
|
||
<li><a href="https://cucumber.io/">Cucumber Site</a> - Behaviour Driven
|
||
Development with elegacy and joy</li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/codegram/spinach">Spinach</a> - 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.</li>
|
||
<li><a href="http://rubyworks.github.io/rubytest">Rubytest</a> -
|
||
Rubytest is a testing meta-framework useful for creating highly
|
||
customize test suites or building whole new test frameworks.
|
||
<ul>
|
||
<li><a href="http://rubyworks.github.io/brass">BRASS</a> - Bare-metal
|
||
Ruby assertion system standard used by Rubytest.</li>
|
||
<li><a href="http://rubyworks.github.io/lemon">Lemon</a> - Strict unit
|
||
test system built on top of Rubytest.</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://github.com/thoughtbot/shoulda-matchers">shoulda-matchers</a>
|
||
- Collection of testing matchers extracted from Shoulda</li>
|
||
<li><a href="https://github.com/jnicklas/capybara">capybara</a> -
|
||
Acceptance test framework for web applications</li>
|
||
</ul></li>
|
||
<li><p>Mock</p>
|
||
<ul>
|
||
<li><a href="https://github.com/rspec/rspec-mocks">RSpec-mocks</a> -
|
||
RSpec’s ‘test double’ framework, with support for stubbing and
|
||
mocking</li>
|
||
<li><a href="http://gofreerange.com/mocha/docs/">Mocha</a> - Mocking and
|
||
stubbing library with JMock/SchMock syntax, which allows mocking and
|
||
stubbing of methods on real (non-mock) classes.</li>
|
||
<li><a href="https://github.com/jimweirich/flexmock">FlexMock</a> -
|
||
Flexible mocking for Ruby testing</li>
|
||
</ul></li>
|
||
<li><p>Fake Data</p>
|
||
<ul>
|
||
<li><a href="https://github.com/stympy/faker">Faker</a> - A library for
|
||
generating fake data such as names, addresses, and phone numbers</li>
|
||
<li><a href="https://github.com/ffaker/ffaker">ffaker</a> - Faker
|
||
Refactored.</li>
|
||
<li><a href="https://github.com/sevenwire/forgery">Forgery</a> - Easy
|
||
and customizable generation of forged data.</li>
|
||
</ul></li>
|
||
<li><p>Code Coverage</p>
|
||
<ul>
|
||
<li><a href="https://github.com/colszowka/simplecov">simplecov</a> Code
|
||
coverage for Ruby 1.9+ with a powerful configuration library and
|
||
automatic merging of coverage</li>
|
||
</ul></li>
|
||
<li><p>Load Testing</p></li>
|
||
<li><p>Error Handler</p></li>
|
||
</ul>
|
||
<h2 id="third-party-apis">Third-party APIs</h2>
|
||
<p><em>Libraries for accessing third party APIs.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/arsduo/koala">koala</a> A lightweight,
|
||
flexible library for Facebook</li>
|
||
<li><a href="https://github.com/nov/fb_graph">fb_graph</a> A full-stack
|
||
Facebook Graph API wrapper</li>
|
||
<li><a href="https://github.com/sferik/twitter">twitter</a> A Ruby
|
||
interface to the Twitter API</li>
|
||
<li><a href="https://github.com/tweetstream/tweetstream">tweetstream</a>
|
||
A simple library for consuming Twitter’s Streaming API</li>
|
||
<li><a href="https://github.com/NARKOZ/gitlab">gitlab</a> Ruby wrapper
|
||
and CLI for the GitLab API</li>
|
||
<li><a href="https://github.com/octokit/octokit.rb">octokit.rb</a> Ruby
|
||
toolkit for the GitHub API</li>
|
||
<li><a
|
||
href="https://github.com/Instagram/instagram-ruby-gem">instagram</a> The
|
||
official gem for the Instagram API</li>
|
||
<li><a href="https://github.com/hexgnu/linkedin">linkedin</a> Ruby
|
||
wrapper for the LinkedIn API</li>
|
||
<li><a href="https://github.com/twilio/twilio-ruby">twilio-ruby</a> A
|
||
Ruby gem for communicating with the Twilio API and generating TwiML</li>
|
||
<li><a
|
||
href="https://github.com/zenchild/viewpoint-spws">viewpoint-spws</a> A
|
||
Microsoft Sharepoint Web Services library for Ruby.</li>
|
||
<li><a href="https://github.com/kylejginavan/youtube_it">youtube_it</a>
|
||
An object-oriented Ruby wrapper for the YouTube GData API</li>
|
||
<li><a href="https://github.com/hanklords/flickraw">flickraw</a>
|
||
Flickraw is a library to access flickr api</li>
|
||
<li><a href="https://github.com/500px/f00px">f00px</a> Official 500px
|
||
api ruby gem</li>
|
||
<li><a href="https://github.com/guilhermesad/rspotify">rspotify</a> Ruby
|
||
wrapper for the Spotify Web API</li>
|
||
</ul>
|
||
<h2 id="url-manipulation">URL Manipulation</h2>
|
||
<p><em>Libraries for parsing URLs.</em></p>
|
||
<h2 id="video">Video</h2>
|
||
<p><em>Libraries for manipulating video and GIFs.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/streamio/streamio-ffmpeg">streamio-ffmpeg</a>
|
||
Simple yet powerful ruby FFmpeg wrapper for reading metadata and
|
||
transcoding movies</li>
|
||
</ul>
|
||
<h2 id="web-content-extracting">Web Content Extracting</h2>
|
||
<p><em>Libraries for extracting web contents.</em></p>
|
||
<h2 id="web-crawling">Web Crawling</h2>
|
||
<p><em>Libraries for scraping websites.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/propublica/upton">upton</a> A
|
||
batteries-included framework for easy web-scraping</li>
|
||
<li><a
|
||
href="https://github.com/jaimeiniesta/metainspector">metainspector</a></li>
|
||
</ul>
|
||
<h2 id="web-frameworks">Web Frameworks</h2>
|
||
<p><em>Web development frameworks.</em></p>
|
||
<ul>
|
||
<li><a href="http://rubyonrails.org/">Ruby On Rails</a> - Ruby on Rails
|
||
is a full-stack web framework optimized for programmer happiness and
|
||
sustainable productivity</li>
|
||
<li><a href="https://roda.jeremyevans.net/">Roda</a> - Modular, scalable
|
||
Ruby framework. Extremely fast, extremely efficient.</li>
|
||
<li><a href="http://hanamirb.org/">Hanami</a> - (formerly Lotus) A
|
||
complete full-stack application framework that is simple, fast and
|
||
lightweight. Designed for scale.</li>
|
||
<li><a href="http://www.sinatrarb.com/">Sinatra</a> - Sinatra is a DSL
|
||
for quickly creating web applications in Ruby with minimal effort.</li>
|
||
<li><a href="http://www.padrinorb.com/">Padrino</a> - The Godfather of
|
||
Sinatra provides a full-stack agnostic framework on top of Sinatra</li>
|
||
<li><a href="http://cramp.in/">Cramp</a> - Cramp is a fully asynchronous
|
||
real-time web application framework in Ruby</li>
|
||
<li><a href="http://cuba.is/">Cuba</a> - Cuba is a microframework for
|
||
web development originally inspired by Rum, a tiny but powerful mapper
|
||
for Rack applications.</li>
|
||
<li><a href="https://pakyow.com/">Pakyow</a> - Pakyow is an open-source
|
||
framework for the modern web. Build working software faster with a
|
||
development process that remains friendly to both designers and
|
||
developers. It’s built for getting along.</li>
|
||
<li><a href="https://hyperstack.org/">Hyperstack</a> - A complete
|
||
Isomorphic Ruby Framework using React, Opal and Rails</li>
|
||
</ul>
|
||
<h2 id="web-servers">Web Servers</h2>
|
||
<p><em>App server interface</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/puma/puma">puma</a> A simple, fast,
|
||
threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack
|
||
applications.</li>
|
||
<li><a href="https://github.com/macournoyer/thin">thin</a> A thin and
|
||
fast web server</li>
|
||
<li><a href="https://github.com/trinidad/trinidad">trinidad</a> Run
|
||
Rails or Rack applications within an embedded Apache Tomcat
|
||
container.</li>
|
||
<li><a href="https://github.com/defunkt/unicorn">unicorn</a> An HTTP
|
||
server for Rack applications designed to only serve fast clients.</li>
|
||
<li><a href="https://github.com/phusion/passenger">passenger</a> A
|
||
modern web server and application server for Ruby, Python, and
|
||
Node.js.</li>
|
||
<li><a href="https://github.com/basecamp/pow">pow</a> Pow treats files
|
||
and directories as ruby objects giving you more power and
|
||
flexibility.</li>
|
||
<li><a href="https://github.com/postrank-labs/goliath">goliath</a> is a
|
||
non-blocking Ruby web server framework.</li>
|
||
</ul>
|
||
<h2 id="websocket">WebSocket</h2>
|
||
<p><em>Libraries for woking with WebSocket.</em></p>
|
||
<ul>
|
||
<li><a href="http://faye.jcoglan.com/ruby.html">Faye</a> - Simple
|
||
pub/sub messaging for the web</li>
|
||
<li><a
|
||
href="https://github.com/websocket-rails/websocket-rails">websocket-rails</a>
|
||
- Plug and play websocket support for ruby on rails.</li>
|
||
</ul>
|
||
<h1 id="miscellaneous">Miscellaneous</h1>
|
||
<p><em>Useful libraries or tools that don’t fit in the categories
|
||
above.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/packetfu/packetfu">packetfu</a> A
|
||
mid-level packet manipulation library for Ruby.</li>
|
||
<li><a href="https://github.com/muffinista/chatterbot">chatterbot</a> A
|
||
straightforward ruby-based Twitter Bot Framework, using OAuth to
|
||
authenticate</li>
|
||
<li><a href="https://github.com/jondot/sneakers">sneakers</a> A fast
|
||
background processing framework for Ruby and RabbitMQ</li>
|
||
<li><a
|
||
href="https://github.com/activerecord-hackery/ransack">ransack</a>
|
||
Object-based searching.</li>
|
||
<li><a href="https://github.com/cinchrb/cinch">cinch</a> The IRC Bot
|
||
Building Framework</li>
|
||
<li><a href="https://github.com/pry/pry">pry</a> An IRB alternative and
|
||
runtime developer console</li>
|
||
<li><a href="http://rib.godfat.org/">rib</a> A lightweight and
|
||
extensible IRB replacement</li>
|
||
<li><a href="https://github.com/nixme/jazz_hands/">jazz_hands</a>
|
||
Pry-based enhancements for the default Rails 3 and 4 consoles</li>
|
||
<li><a
|
||
href="https://github.com/awesome-print/awesome_print">awesome_print</a>
|
||
A Ruby library that pretty prints Ruby objects in full color exposing
|
||
their internal structure with proper indentation.</li>
|
||
<li><a href="https://github.com/norman/friendly_id">friendly_id</a>
|
||
Slugging and permalink plugins for ActiveRecord</li>
|
||
<li><a href="https://github.com/backup/backup">backup</a> An elegant DSL
|
||
in Ruby for performing backups on UNIX-like systems</li>
|
||
<li><a href="https://github.com/kneath/kss">kss</a> Documenting CSS and
|
||
generating styleguides</li>
|
||
<li><a href="https://github.com/aasm/aasm">AASM</a> - A library for
|
||
adding finite state machines to Ruby classes</li>
|
||
<li><a
|
||
href="https://github.com/a2design-inc/json-compare">JsonCompare</a> -
|
||
Returns the difference between two JSON files</li>
|
||
<li><a href="https://github.com/lab2023/blankable">blankable</a> - Adds
|
||
blank slates to index view in Rails</li>
|
||
<li><a href="https://github.com/lab2023/tcmb_currency">tcmb_currency</a>
|
||
- T.C.M.B. currencies for Money Gem</li>
|
||
<li><a href="https://github.com/brainspec/enumerize">enumerize</a> -
|
||
Enumerated attributes with I18n and ActiveRecord/Mongoid support</li>
|
||
<li><a href="https://github.com/plentz/lol_dba">lol_dba</a> - lol_dba is
|
||
a small package of rake tasks that scan your application models and
|
||
displays a list of columns that probably should be indexed.</li>
|
||
<li><a
|
||
href="https://github.com/ctran/annotate_models">annotate-models</a> -
|
||
Annotate ActiveRecord models</li>
|
||
<li><a
|
||
href="https://github.com/applift/fast_attributes">fast_attributes</a> -
|
||
FastAttributes adds attributes with their types to the class</li>
|
||
<li><a
|
||
href="https://github.com/skywinder/Github-Changelog-Generator">Github
|
||
Changelog Generator</a> — automatically generate change log from your
|
||
tags, issues, labels and pull requests on GitHub.</li>
|
||
<li><a href="https://github.com/ryanb/letter_opener">Letter Opener</a> —
|
||
Preview email in the default browser instead of sending it.</li>
|
||
<li><a href="https://github.com/dejan/auto_html">Auto HTML</a> —
|
||
Transforming URLs to appropriate resource (image, link, YouTube, Vimeo
|
||
video,…).</li>
|
||
<li><a
|
||
href="https://github.com/OctoLinker/browser-extension">OctoLinker</a> -
|
||
Navigate through projects on GitHub.com efficiently with the OctoLinker
|
||
browser extension.</li>
|
||
<li><a href="https://github/khusnetdinov/betterdocs">BetterDocs</a> -
|
||
Documentation with collection practices in ruby. Good for new ruby
|
||
developers and beginners.</li>
|
||
</ul>
|
||
<h2 id="editor-plugins">Editor Plugins</h2>
|
||
<p><em>Plugins for various editors.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/vim-ruby/vim-ruby">vim-ruby</a> Vim/Ruby
|
||
Configuration Files</li>
|
||
<li><a href="https://github.com/tpope/vim-rails">vim-rails</a>
|
||
rails.vim: Ruby on Rails power tools</li>
|
||
</ul>
|
||
<h1 id="resources">Resources</h1>
|
||
<p><em>Where to discover things (libraries, news e.g) about
|
||
Ruby.</em></p>
|
||
<ul>
|
||
<li><a href="https://www.ruby-toolbox.com/">The Ruby Toolbox</a></li>
|
||
<li><a href="https://rubygems.org/">RubyGems</a></li>
|
||
<li><a href="http://rubydaily.org">RubyDaily</a> - Community driven
|
||
news</li>
|
||
<li><a href="http://rubyweekly.com/">Ruby Weekly</a> - A free,
|
||
once–weekly e-mail round-up of Ruby news and articles.</li>
|
||
<li><a href="https://ruby5.codeschool.com/">Ruby5</a> - The latest news
|
||
in the Ruby and Rails community</li>
|
||
<li><a href="http://www.rubyflow.com">RubyFlow</a> - Ruby Programming
|
||
Community Link Blog</li>
|
||
<li><a href="https://hackr.io/tutorials/learn-ruby">Ruby Curated
|
||
Resources</a></li>
|
||
</ul>
|
||
<h2 id="people-to-follow">People to Follow</h2>
|
||
<p><em>People in Ruby World</em></p>
|
||
<ul>
|
||
<li><a href="https://twitter.com/yukihiro_matz">Yukihiro “Matz”
|
||
Matsumoto</a> - Creator of Ruby lang</li>
|
||
<li><a href="https://twitter.com/dhh">David Heinemeier Hansson</a> -
|
||
Creator of Rails framework</li>
|
||
<li><a href="https://github.com/ko1">Koichi Sasada</a> - Ruby core
|
||
committer and the developer of YARV</li>
|
||
<li><a href="http://tenderlovemaking.com/">Aaron Patterson</a> -
|
||
Committer to Nokogiri, Ruby, and Ruby on Rails</li>
|
||
<li><a href="http://devblog.avdi.org/">Avdi Grimm</a> - Host of Ruby
|
||
Tapas webcasts</li>
|
||
<li><a href="http://tmm1.net/">Aman Gupta</a>- Ruby core committer</li>
|
||
</ul>
|
||
<h1 id="other-awesome-lists">Other Awesome Lists</h1>
|
||
<p>Other amazingly awesome lists can be found in the <a
|
||
href="https://github.com/bayandin/awesome-awesomeness">awesome-awesomeness</a>
|
||
list.</p>
|