Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-ruby-toolbox
A collection of awesome Ruby libraries from www.ruby-toolbox.com , with removing DRPRECATED libraries.
https://github.com/debbbbie/awesome-ruby-toolbox
Last synced: 4 days ago
JSON representation
-
Active Record Plugins
-
Active Record Enumerations
- enumerize - Enumerated attributes with I18n and ActiveRecord/Mongoid/MongoMapper support
- Simple enum - Provides enum-like fields for ActiveRecord, ActiveModel and Mongoid models.
- Enumerate it - Enumerations for Ruby with some magic powers!
-
Active Record Index Assistants
- lol_dba - lol_dba is a small package of rake tasks that scan your application models and displays a list of columns that probably should be indexed. Also, it can generate .sql migration scripts.
- immigrant - Adds a generator for creating a foreign key migration based on your current model associations
-
Active Record Named Scopes
- filterrific - Filterrific is a Rails Engine plugin that makes it easy to filter, search, and sort your ActiveRecord lists.
-
Active Record Nesting
- Awesome nested set - An awesome nested set implementation for Active Record
- Ancestry - Ancestry allows the records of a ActiveRecord model to be organized in a tree structure, using a single, intuitively formatted database column. It exposes all the standard tree structure relations (ancestors, parent, root, children, siblings, descendants) and all of them can be fetched in a single sql query. Additional features are named_scopes, integrity checking, integrity restoration, arrangement of (sub)tree into hashes and different strategies for dealing with orphaned records.
-
Active Record Sharding
- activerecord-turntable - ActiveRecord sharding extension
-
Active Record Soft Delete
- Permanent records - Never Lose Data. Rather than deleting rows this sets Record#deleted_at and gives you all the scopes you need to work with your data.
- destroyed_at - Safe destroy for ActiveRecord.
-
Active Record Sortables
- Acts as list - This "acts_as" extension provides the capabilities for sorting and reordering a number of objects in a list. The class that has this specified needs to have a "position" column defined as an integer on the mapped database table.
- Acts as list - This "acts_as" extension provides the capabilities for sorting and reordering a number of objects in a list. The class that has this specified needs to have a "position" column defined as an integer on the mapped database table.
-
Active Record Value Cleanup
- Strip attributes - StripAttributes automatically strips all ActiveRecord model attributes of leading and trailing whitespace before validation. If the attribute is blank, it strips the value to nil.
-
Active Record Versioning
- audited - Log all changes to your models
- auditable - A simple gem that audit ActiveRecord models' attributes or methods by taking snapshots and diff them for you. Starting from scratch to work with Rails 3.2.2 onwards
- auditable - A simple gem that audit ActiveRecord models' attributes or methods by taking snapshots and diff them for you. Starting from scratch to work with Rails 3.2.2 onwards
-
Pagination
- Kaminari - Kaminari is a Scope & Engine based, clean, powerful, agnostic, customizable and sophisticated paginator for Rails 3+
- will_paginate - will_paginate provides a simple API for performing paginated queries with Active Record, DataMapper and Sequel, and includes helpers for rendering pagination links in Rails, Sinatra and Merb web apps.
- sorted - Data sorting library, used by other libs to construct queries and more
-
Rails Comments
- Acts as commentable with threading - Similar to acts_as_commentable; however, utilizes awesome_nested_set to provide threaded comments
- commontator - A Rails engine for comments.
-
Rails Search
- Thinking-sphinx - An intelligent layer for ActiveRecord (via Rails and Sinatra) for the Sphinx full-text search tool.
- Tire - Tire is a Ruby client for the Elasticsearch search engine/database. It provides Ruby-like API for fluent communication with the Elasticsearch server and blends with ActiveModel class for convenient usage in Rails applications. It allows to delete and create indices, define mapping for them, supports the bulk API, and presents an easy-to-use DSL for constructing your queries. It has full ActiveRecord/ActiveModel compatibility, allowing you to index your models (incrementally upon saving, or in bulk), searching and paginating the results. Please check the documentation at <http://karmi.github.com/retire/>.
- searchkick - Intelligent search made easy
- elasticsearch - Ruby integrations for Elasticsearch (client, API, etc.)
- pg_search - PgSearch builds Active Record named scopes that take advantage of PostgreSQL's full text search
- Scoped search - Scoped search makes it easy to search your ActiveRecord-based models. It will create a named scope :search_for that can be called with a query string. It will build an SQL query using the provided query string and a definition that specifies on what fields to search. Because the functionality is built on named_scope, the result of the search_for call can be used like any other named_scope, so it can be chained with another scope or combined with will_paginate. Because it uses standard SQL, it does not require any setup, indexers or daemons. This makes scoped_search suitable to quickly add basic search functionality to your application with little hassle. On the other hand, it may not be the best choice if it is going to be used on very large datasets or by a large user base.
- searchlight - Searchlight is a low-magic way to build database searches using an ORM. It's compatible with ActiveRecord, Sequel, Mongoid, and any other ORM that can build queries by chaining method calls.
- elastictastic - Elastictastic is an object-document mapper and lightweight API adapter for ElasticSearch. Elastictastic's primary use case is to define model classes which use ElasticSearch as a primary document-oriented data store, and to expose ElasticSearch's search functionality to query for those models.
- sunspot_rails - Sunspot::Rails is an extension to the Sunspot library for Solr search. Sunspot::Rails adds integration between Sunspot and ActiveRecord, including defining search and indexing related methods on ActiveRecord models themselves, running a Sunspot-compatible Solr instance for development and test environments, and automatically commit Solr index changes at the end of each Rails request.
- elasticsearch - Ruby integrations for Elasticsearch (client, API, etc.)
- Tire - Tire is a Ruby client for the Elasticsearch search engine/database. It provides Ruby-like API for fluent communication with the Elasticsearch server and blends with ActiveModel class for convenient usage in Rails applications. It allows to delete and create indices, define mapping for them, supports the bulk API, and presents an easy-to-use DSL for constructing your queries. It has full ActiveRecord/ActiveModel compatibility, allowing you to index your models (incrementally upon saving, or in bulk), searching and paginating the results. Please check the documentation at <http://karmi.github.com/retire/>.
- elasticsearch-rails - Ruby on Rails integrations for Elasticsearch.
-
Rails Tagging
- Acts-as-taggable-on - With ActsAsTaggableOn, you can tag a single model on several contexts, such as skills, interests, and awards. It also provides other advanced functionality.
-
-
Background Processing
-
Background Jobs
- Resque - Resque is a Redis-backed Ruby library for creating background jobs, placing those jobs on multiple queues, and processing them later. Background jobs can be any Ruby class or module that responds to perform. Your existing classes can easily be converted to background jobs or you can create new classes specifically to do work. Or, you can do both. Resque is heavily inspired by DelayedJob (which rocks) and is comprised of three parts: * A Ruby library for creating, querying, and processing jobs * A Rake task for starting a worker which processes jobs * A Sinatra app for monitoring queues, jobs, and workers.
- Delayed job - Delayed_job (or DJ) encapsulates the common pattern of asynchronously executing longer tasks in the background. It is a direct extraction from Shopify where the job table is responsible for a multitude of core tasks.
- Beanstalkd - Beanstalk is a simple, fast work queue.
- Bunny - Easy to use, feature complete Ruby client for RabbitMQ 3.3 and later versions.
- concurrent-ruby - Modern concurrency tools including agents, futures, promises, thread pools, actors, supervisors, and more. Inspired by Erlang, Clojure, Go, JavaScript, actors, and classic concurrency patterns.
- delayed_job_active_record - ActiveRecord backend for Delayed::Job, originally authored by Tobias Lütke
- sucker_punch - Asynchronous processing library for Ruby
- amqp - Mature EventMachine-based RabbitMQ client.
- Queue Classic - queue_classic is a queueing library for Ruby apps. (Rails, Sinatra, Etc...) queue_classic features asynchronous job polling, database maintained locks and no ridiculous dependencies. As a matter of fact, queue_classic only requires pg.
- Cloud-crowd - The crowd, suddenly there where there was nothing before, is a mysterious and universal phenomenon. A few people may have been standing together -- five, ten or twelve, nor more; nothing has been announced, nothing is expected. Suddenly everywhere is black with people and more come streaming from all sides as though streets had only one direction.
- backburner - Beanstalk background job processing made easy
- Beetle - A highly available, reliable messaging infrastructure
- Beanstalkd - Beanstalk is a simple, fast work queue.
- Queue Classic - queue_classic is a queueing library for Ruby apps. (Rails, Sinatra, Etc...) queue_classic features asynchronous job polling, database maintained locks and no ridiculous dependencies. As a matter of fact, queue_classic only requires pg.
- sidekiq - Simple, efficient background processing for Ruby.
- concurrent-ruby - Modern concurrency tools including agents, futures, promises, thread pools, actors, supervisors, and more. Inspired by Erlang, Clojure, Go, JavaScript, actors, and classic concurrency patterns.
-
Daemonizing
-
Daemon Management
- foreman - Process manager for applications with multiple components
-
Scheduling
- Rufus-scheduler - job scheduler for Ruby (at, cron, in and every jobs).
-
-
Code Quality
-
Code Metrics
- Reek - Reek is a tool that examines Ruby classes, modules and methods and reports any code smells it finds.
- coveralls - A Ruby implementation of the Coveralls API.
- rubycritic - RubyCritic is a tool that wraps around various static analysis gems to provide a quality report of your Ruby code.
- foodcritic - Lint tool for Chef cookbooks.
- MetricFu - Code metrics from Flog, Flay, Saikuro, Churn, Reek, Roodi, Code Statistics, and Rails Best Practices. (and optionally RCov)
- guard-rubocop - Guard::Rubocop automatically checks Ruby code style with RuboCop when files are modified.
- coco - "Code coverage tool for ruby 2.0 to 2.3. Simply "require 'coco'" from rspec or unit/test. Build simple html report. Report sources that have no tests. Configurable if you need to.
- SimpleCov - Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites
- Rails best practices - a code metric tool for rails codes, written in Ruby.
- foodcritic - Lint tool for Chef cookbooks.
- guard-rubocop - Guard::Rubocop automatically checks Ruby code style with RuboCop when files are modified.
-
-
Communication
-
Asynchronous E-Mail
- Resque Mailer - Rails plugin for sending asynchronous email with ActionMailer and Resque.
-
CRM Apps
- Fat free crm - Ruby on Rails CRM platform for Web 2.0 and beyond
-
E-Mail Preview
- MailCatcher - MailCatcher runs a super simple SMTP server which catches any message sent to it to display in a web interface. Run mailcatcher, set your favourite app to deliver to smtp://127.0.0.1:1025 instead of your default SMTP server, then check out http://127.0.0.1:1080 to see the mail.
- Letter Opener - When mail is sent from your application, Letter Opener will open a preview in the browser instead of sending.
- mail_view - Visual email testing
- Rails Email Preview - A Rails Engine to preview plain text and html email in your browser
- sanitize_email - Email Condom for your Ruby Server. In Rails, Sinatra, et al, or simply the mail gem: Aids in development, testing, qa, and production troubleshooting of email issues without worrying that emails will get sent to actual live addresses.
- mail_view - Visual email testing
-
E-Mail Processing
-
E-Mail Sending
- Mail - A really Ruby Mail handler.
-
Exchange Clients
- viewpoint - A Ruby client access library for Microsoft Exchange Web Services (EWS). Examples can be found here: http://distributed-frostbite.blogspot.com
- viewpoint - A Ruby client access library for Microsoft Exchange Web Services (EWS). Examples can be found here: http://distributed-frostbite.blogspot.com
-
Forum Systems
-
Inline CSS for E-Mail
- Roadie - Roadie tries to make sending HTML emails a little less painful by inlining stylesheets and rewriting relative URLs for you.
-
IRC Bots
- Cinch - A simple, friendly DSL for creating IRC bots
-
-
Content Management & Blogging
-
Blog Engines
- blogit - Add a blog to your Rails application in minutes with this mountable Rails Engine
- Publify - Since Typo has been in existence since March 2005, it is likely the oldest blogging platform in Rails. It has a full set of features you would expect from such an engine, which include powerful SEO capabilities, full themes, and plug-in extensions.
- blogit - Add a blog to your Rails application in minutes with this mountable Rails Engine
-
Content Management
- Refinery CMS - A Ruby on Rails CMS that supports Rails 4.2. It's developer friendly and easy to extend.
- Locomotive - LocomotiveCMS is a next generation CMS system with sexy admin tools, liquid templating, and inline editing powered by mongodb and rails 3.2
- Comfortable Mexican Sofa - ComfortableMexicanSofa is a powerful Rails 4 CMS Engine
- Radiant - Radiant is a simple and powerful publishing system designed for small teams. It is built with Rails and is similar to Textpattern or MovableType, but is a general purpose content managment system--not merely a blogging engine.
- Alchemy CMS - Alchemy is a powerful, userfriendly and flexible Rails 4 CMS.
- Alchemy CMS - Alchemy is a powerful, userfriendly and flexible Rails 4 CMS.
-
Static Website Generation
- Middleman - A static site generator. Provides dozens of templating languages (Haml, Sass, Compass, Slim, CoffeeScript, and more). Makes minification, compression, cache busting, Yaml data (and more) an easy part of your development cycle.
- high_voltage - Fire in the disco. Fire in the ... taco bell.
- nanoc - Nanoc is a static-site generator focused on flexibility. It transforms content from a format such as Markdown or AsciiDoc into another format, usually HTML, and lays out pages consistently to retain the site’s look and feel throughout. Static sites built with Nanoc can be deployed to any web server.
- awestruct - Awestruct is a static site baking and publishing tool. It supports an extensive list of both templating and markup languages via Tilt (Haml, Slim, AsciiDoc, Markdown, Sass via Compass, etc), provides mobile-first layout and styling via Bootstrap or Foundation, offers a variety of deployment options (rsync, git, S3), handles site optimizations (minification, compression, cache busting), includes built-in extensions such as blog post management and is highly extensible.
- Jekyll - Jekyll is a simple, blog aware, static site generator.
-
Wiki Apps
- Gollum - A simple, Git-powered wiki with a sweet API and local frontend.
- Instiki - Instiki is a Wiki Clone written in Ruby that ships with an embedded webserver. You can setup up an Instiki in just a few steps. Possibly the simplest wiki setup ever.
- irwi - Irwi is Ruby on Rails plugin which adds wiki functionality to your application.
-
-
CSS
-
CSS with Ruby
- sass-rails - Sass adapter for the Rails asset pipeline.
- bootstrap-sass - bootstrap-sass is a Sass-powered version of Bootstrap 3, ready to drop right into your Sass powered applications.
- bourbon - Bourbon is a library of pure Sass mixins that are designed to be simple and easy to use. No configuration required. The mixins aim to be as vanilla as possible, meaning they should be as close to the original CSS syntax as possible.
- twitter-bootstrap-rails - twitter-bootstrap-rails project integrates Bootstrap CSS toolkit for Rails 4, 3.x Asset Pipeline
- Sass - Sass makes CSS fun again. Sass is an extension of CSS, adding nested rules, variables, mixins, selector inheritance, and more. It's translated to well-formatted, standard CSS using the command line tool or a web-framework plugin.
- Compass - Compass is a Sass-based Stylesheet Framework that streamlines the creation and maintenance of CSS.
-
-
Data Persistence
-
CouchDB Clients
- Couchrest - CouchRest provides a simple interface on top of CouchDB's RESTful HTTP API, as well as including some utility scripts for managing views and attachments.
- CouchRest Model - CouchRest Model provides aditional features to the standard CouchRest Document class such as properties, view designs, associations, callbacks, typecasting and validations.
- Couch potato - Ruby persistence layer for CouchDB
-
MongoDB Clients
- Mongo Ruby Driver - A Ruby driver for MongoDB
- Mongomapper - MongoMapper is a Object-Document Mapper for Ruby and Rails
- Mongomapper - MongoMapper is a Object-Document Mapper for Ruby and Rails
-
Object-relational mapping
- Sequel - The Database Toolkit for Ruby
- Ruby Object Mapper - Persistence and mapping toolkit for Ruby
- squeel - Squeel unlocks the power of Arel in your Rails application with a handy block-based syntax. You can write subqueries, access named functions provided by your RDBMS, and more, all without writing SQL strings. Supporting Rails 3 and 4.
-
Redis Clients
- Redis Ruby - A Ruby client that tries to match Redis' API one-to-one, while still providing an idiomatic interface. It features thread-safety, client-side sharding, pipelining, and an obsession for performance.
- Redis Store - Namespaced Rack::Session, Rack::Cache, I18n and cache Redis stores for Ruby web frameworks.
- Redis Objects - Map Redis types directly to Ruby objects. Works with any class or ORM.
- Ohm - Ohm is a library that allows to store an object in Redis, a persistent key-value database. It has very good performance.
- Redis Store - Namespaced Rack::Session, Rack::Cache, I18n and cache Redis stores for Ruby web frameworks.
-
SQL Database Adapters
- mysql2 - A simple, fast Mysql library for Ruby, binding to libmysql
- sqlite3-ruby - This module allows Ruby programs to interface with the SQLite3 database engine (http://www.sqlite.org). You must have the SQLite engine installed in order to build this module. Note that this module is NOT compatible with SQLite 2.x.
- ruby-oci8 - ruby-oci8 is a ruby interface for Oracle using OCI8 API. It is available with Oracle 10g or later including Oracle Instant Client.
- postgresql_cursor - PostgreSQL Cursor is an extension to the ActiveRecord PostgreSQLAdapter for very large result sets. It provides a cursor open/fetch/close interface to access data without loading all rows into memory, and instead loads the result rows in "chunks" (default of 1_000 rows), buffers them, and returns the rows one at a time.
- jdbc-postgres - Install this gem `require 'jdbc/postgres'` and invoke `Jdbc::Postgres.load_driver` within JRuby to load the driver.
- sqlite3-ruby - This module allows Ruby programs to interface with the SQLite3 database engine (http://www.sqlite.org). You must have the SQLite engine installed in order to build this module. Note that this module is NOT compatible with SQLite 2.x.
-
-
Developer Tools
-
CLI Option Parsers
- highline - A high-level IO library that provides validation, type conversion, and more for command-line interfaces. HighLine also includes a complete menu system that can crank out anything from simple list selection to complete shells with just minutes of work.
- Slop - A DSL for gathering options and parsing command line flags
- cocaine - A small library for doing (command) lines
- gli - Build command-suite CLI apps that are awesome. Bootstrap your app, add commands, options and documentation while maintaining a well-tested idiomatic command-line app
- commander - The complete solution for Ruby command-line executables. Commander bridges the gap between other terminal related libraries you know and love (OptionParser, HighLine), while providing many new features, and an elegant API.
- clamp - Clamp provides an object-model for command-line utilities. It handles parsing of command-line options, and generation of usage help.
- methadone - Methadone provides a lot of small but useful features for developing a command-line app, including an opinionated bootstrapping process, some helpful cucumber steps, and some classes to bridge logging and output into a simple, unified, interface
- Slop - A DSL for gathering options and parsing command line flags
- commander - The complete solution for Ruby command-line executables. Commander bridges the gap between other terminal related libraries you know and love (OptionParser, HighLine), while providing many new features, and an elegant API.
- methadone - Methadone provides a lot of small but useful features for developing a command-line app, including an opinionated bootstrapping process, some helpful cucumber steps, and some classes to bridge logging and output into a simple, unified, interface
-
CLI Progress Bars
- ruby-progressbar - Ruby/ProgressBar is an extremely flexible text progress bar library for Ruby. The output can be customized with a flexible formatting system including: percentage, bars of various formats, elapsed time and estimated time remaining.
- fuubar - the instafailing RSpec progress bar formatter
- progress_bar - Give people feedback about long-running tasks without overloading them with information: Use a progress bar, like Curl or Wget!
- fuubar - the instafailing RSpec progress bar formatter
-
Concurrent Processing
- EventMachine - EventMachine implements a fast, single-threaded engine for arbitrary network communications. It's extremely easy to use in Ruby. EventMachine wraps all interactions with IP sockets, allowing programs to concentrate on the implementation of network protocols. It can be used to create both network servers and clients. To create a server or client, a Ruby program only needs to specify the IP address and port, and provide a Module that implements the communications protocol. Implementations of several standard network protocols are provided with the package, primarily to serve as examples. The real goal of EventMachine is to enable programs to easily interface with other programs using TCP/IP, especially if custom protocols are required.
- Celluloid - Celluloid enables people to build concurrent programs out of concurrent objects just as easily as they build sequential programs out of sequential objects
- Cool.io - Cool.io provides a high performance event framework for Ruby which uses the libev C library
- workers - A Ruby gem for performing work in background threads.
- Cool.io - Cool.io provides a high performance event framework for Ruby which uses the libev C library
-
Configuration Management
- ledermann-rails-settings - Settings gem for Ruby on Rails
- dotenv-rails - Autoload dotenv in Rails.
- rails_config - Please install the Config gem instead.
-
Gem Creation
- Hoe - Hoe is a rake/rubygems helper for project Rakefiles. It helps you manage, maintain, and release your project and includes a dynamic plug-in system allowing for easy extensibility. Hoe ships with plug-ins for all your usual project tasks including rdoc generation, testing, packaging, deployment, and announcement.. See class rdoc for help. Hint: `ri Hoe` or any of the plugins listed below. For extra goodness, see: http://docs.seattlerb.org/hoe/Hoe.pdf
- Ore - Ore is a fully configurable and extendable Ruby gem generator. With Ore you spend less time editing files, and more time writing code.
- rubygems-tasks - Agnostic and unobtrusive Rake tasks for managing and releasing Ruby Gems.
-
git Tools
- githug - An interactive way to learn git.
- Ruby/Git - Ruby/Git is a Ruby library that can be used to create, read and manipulate Git repositories by wrapping system calls to the git binary.
- rugged - Rugged is a Ruby bindings to the libgit2 linkable C Git library. This is for testing and using the libgit2 library in a language that is awesome.
- Ruby/Git - Ruby/Git is a Ruby library that can be used to create, read and manipulate Git repositories by wrapping system calls to the git binary.
-
GUI Frameworks
-
irb Alternatives
- Pry - An IRB alternative and runtime developer console
-
irb Tools
- table_print - TablePrint turns objects into nicely formatted columns for easy reading. Works great in rails console, works on pure ruby objects, autodetects columns, lets you traverse ActiveRecord associations. Simple, powerful.
- Clipboard - Access to the clipboard on Linux, MacOS, Windows, and Cygwin: Clipboard.copy, Clipboard.paste, Clipboard.clear
- every_day_irb - EveryDayIrb simplifies daily life in IRB with commands like: ls, cat, rq, rrq, ld, reset!, ...
-
Presentation Software
-
Project Management
-
Ruby Core Extensions
- Hashie - Hashie is a collection of classes and mixins that make hashes more powerful.
- Facets - Facets is the premier collection of extension methods for the Ruby programming language. Facets extensions are unique by virtue of thier atomicity. They are stored in individual files allowing for highly granular control of requirements. In addition, Facets includes a few additional classes and mixins suitable to wide variety of applications.
- hamster - Efficient, immutable, thread-safe collection classes for Ruby
- RubyTree - RubyTree is a pure Ruby implementation of the generic tree data structure. It provides a node-based model to store named nodes in the tree, and provides simple APIs to access, modify and traverse the structure. The implementation is node-centric, where individual nodes in the tree are the primary structural elements. All common tree-traversal methods (pre-order, post-order, and breadth-first) are supported. The library mixes in the Enumerable and Comparable modules to allow access to the tree as a standard collection (iteration, comparison, etc.). A Binary tree is also provided, which provides the in-order traversal in addition to the other methods. RubyTree supports importing from, and exporting to JSON, and also supports the Ruby's standard object marshaling. This is a BSD licensed open source project, and is hosted at http://github.com/evolve75/RubyTree, and is available as a standard gem from http://rubygems.org/gems/rubytree. The home page for RubyTree is at http://rubytree.anupamsg.me.
- Hashie - Hashie is a collection of classes and mixins that make hashes more powerful.
- hamster - Efficient, immutable, thread-safe collection classes for Ruby
-
Ruby Version Management
-
Terminal Coloring
-
Text Editors in Ruby
-
Scripting Frameworks
- Thor - Thor is a toolkit for building powerful command-line interfaces.
-
-
Documentation Tools
-
Documentation Generators
- Sdoc - rdoc generator html with javascript search index.
- Yard - YARD is a documentation generation tool for the Ruby programming language. It enables the user to generate consistent, usable documentation that can be exported to a number of formats very easily, and also supports extending for custom Ruby constructs such as custom class level definitions.
- DocumentUp - Pretty documentation generator for Github projects with proper Readme.
- rspec_api_documentation - Generate API docs from your test suite
- apipie-rails - Rails REST API documentation tool
- md2man - Converts markdown into UNIX manpages and HTML webpages.
- Sdoc - rdoc generator html with javascript search index.
- apipie-rails - Rails REST API documentation tool
-
-
Documents & Reports
-
PDF Generation
- Prawn - Prawn is a fast, tiny, and nimble PDF generator for Ruby
- Wicked pdf - Wicked PDF uses the shell utility wkhtmltopdf to serve a PDF file to a user from HTML. In other words, rather than dealing with a PDF generation DSL of some sort, you simply write an HTML view as you would normally, and let Wicked take care of the hard stuff.
- Pdfkit - Uses wkhtmltopdf to create PDFs using HTML
- shrimp - html to pdf with phantomjs
- Wkhtmltopdf - Provides binaries for WKHTMLTOPDF project in an easily accessible package.
- shrimp - html to pdf with phantomjs
-
PDF Processing
- pdf-reader - The PDF::Reader library implements a PDF parser conforming as much as possible to the PDF specification from Adobe
-
Reports & Spreadsheets
- axlsx - xlsx spreadsheet generation with charts, images, automated column width, customizable styles and full schema validation. Axlsx helps you create beautiful Office Open XML Spreadsheet documents ( Excel, Google Spreadsheets, Numbers, LibreOffice) without having to understand the entire ECMA specification. Check out the README for some examples of how easy it is. Best of all, you can validate your xlsx file before serialization so you know for sure that anything generated is going to load on your client's machine.
- spreadsheet - The Spreadsheet Library is designed to read and write Spreadsheet Documents. As of version 0.6.0, only Microsoft Excel compatible spreadsheets are supported. Spreadsheet is a combination/complete rewrite of the Spreadsheet::Excel Library by Daniel J. Berger and the ParseExcel Library by Hannes Wyss. Spreadsheet can read, write and modify Spreadsheet Documents.
- roo - Roo can access the contents of various spreadsheet files. It can handle * OpenOffice * Excelx * LibreOffice * CSV
- axlsx_rails - Axlsx_Rails provides an Axlsx renderer so you can move all your spreadsheet code from your controller into view files. Partials are supported so you can organize any code into reusable chunks (e.g. cover sheets, common styling, etc.) You can use it with acts_as_xlsx, placing the to_xlsx call in a view and adding ':package => xlsx_package' to the parameter list. Now you can keep your controllers thin!
- dossier - Easy SQL based report generation with the ability to accept request parameters and render multiple formats.
- mondrian-olap - JRuby gem for performing multidimensional queries of relational database data using Mondrian OLAP Java library
- thinreports - Thinreports is an open source report generation tool for Ruby.
- write_xlsx - write_xlsx is a gem to create a new file in the Excel 2007+ XLSX format.
- roo - Roo can access the contents of various spreadsheet files. It can handle * OpenOffice * Excelx * LibreOffice * CSV
- axlsx_rails - Axlsx_Rails provides an Axlsx renderer so you can move all your spreadsheet code from your controller into view files. Partials are supported so you can organize any code into reusable chunks (e.g. cover sheets, common styling, etc.) You can use it with acts_as_xlsx, placing the to_xlsx call in a view and adding ':package => xlsx_package' to the parameter list. Now you can keep your controllers thin!
-
-
E-Commerce and Payments
-
Online Shops
- Spree - Spree is an open source e-commerce framework for Ruby on Rails. Join us on http://slack.spreecommerce.com
- RoR eCommerce - Ruby on Rails Ecommerce platform, perfect for your small business solution.
-
Payments
- Stripe - Stripe is the easiest way to accept payments online. See https://stripe.com for details.
- braintree - Ruby library for integrating with the Braintree Gateway
- stripe_event - Stripe webhook integration for Rails applications.
- adyen - Package to simplify including the Adyen payments services into a Ruby on Rails application. The package provides functionality to create payment forms, handling and storing notifications sent by Adyen and consuming the SOAP services provided by Adyen. Moreover, it contains helper methods, mocks and matchers to simpify writing tests/specs for your code.
- sepa_king - Implemention of pain.001.002.03 and pain.008.002.02 (ISO 20022)
- Active Merchant - Active Merchant is a simple payment abstraction library used in and sponsored by Shopify. It is written by Tobias Luetke, Cody Fauser, and contributors. The aim of the project is to feel natural to Ruby users and to abstract as many parts as possible away from the user to offer a consistent interface across all supported gateways.
-
-
Graphics
-
Graphing
- chartkick - Create beautiful JavaScript charts with one line of Ruby
- Lazy high charts - Make highcharts a la ruby , works in rails 4.X / 3.X, and other ruby web frameworks
- Gruff - Beautiful graphs for one or multiple datasets. Can be used on websites or in documents.
- google_visualr - This Ruby gem, GoogleVisualr, is a wrapper around the Google Chart Tools that allows anyone to create the same beautiful charts with just Ruby; you don't have to write any JavaScript at all.
- highcharts-rails - Gem that includes Highcharts (Interactive JavaScript charts for your web projects), in the Rails Asset Pipeline introduced in Rails 3.1
-
Image Processing
- chunky_png - This pure Ruby library can read and write PNG images without depending on an external image library, like RMagick. It tries to be memory efficient and reasonably fast. It supports reading and writing all PNG variants that are defined in the specification, with one limitation: only 8-bit color depth is supported. It supports all transparency, interlacing and filtering options the PNG specifications allows. It can also read and write textual metadata from PNG files. Low-level read/write access to PNG chunks is also possible. This library supports simple drawing on the image canvas and simple operations like alpha composition and cropping. Finally, it can import from and export to RMagick for interoperability. Also, have a look at OilyPNG at http://github.com/wvanbergen/oily_png. OilyPNG is a drop in mixin module that implements some of the ChunkyPNG algorithms in C, which provides a massive speed boost to encoding and decoding.
- MiniMagick - Manipulate images with minimal use of memory via ImageMagick / GraphicsMagick
- RMagick - RMagick is an interface between Ruby and ImageMagick.
-
QR Codes
- rqrcode - rQRCode is a library for encoding QR Codes. The simple interface allows you to create QR Code data structures ready to be displayed in the way you choose.
-
Visualizing Data
- Raphael - JavaScript Vector Library
- Ruby-processing - Ruby-Processing is a ruby wrapper for the processing-2.0 art framework. This version supports processing-2.2.1, and uses jruby-complete-1.7.25 or an installed jruby as the glue between ruby and java. Use both processing libraries and ruby gems in your sketches. The "watch" mode, provides a nice REPL-ish way to work on your processing sketches. Features a polyglot maven build, opening the way to use/test latest jruby.
-
-
HTML & Markup
-
Form Builders
- cocoon - Unobtrusive nested forms handling, using jQuery. Use this and discover cocoon-heaven.
- bootstrap_form - bootstrap_form is a rails form builder that makes it super easy to create beautiful-looking forms using Twitter Bootstrap 3+
- Simple Form - Forms made easy!
- Formtastic - A Rails form builder plugin/gem with semantically rich and accessible markup
- bootstrap_form - bootstrap_form is a rails form builder that makes it super easy to create beautiful-looking forms using Twitter Bootstrap 3+
-
Markup processors
- Markup - Small command line tool that reads Markdown files and outputs HTML
- kramdown - kramdown is yet-another-markdown-parser but fast, pure Ruby, using a strict syntax definition and supporting several common extensions.
- RedCloth - Textile parser for Ruby.
- pandoc-ruby - Ruby wrapper for Pandoc
- vkhater-redcarpet - A fast, safe and extensible Markdown to (X)HTML parser
- Rdiscount - Fast Implementation of Gruber's Markdown in C
- pandoc-ruby - Ruby wrapper for Pandoc
-
Rails Menu Builders
- Simple-navigation - With the simple-navigation gem installed you can easily create multilevel navigations for your Rails, Sinatra or Padrino applications. The navigation is defined in a single configuration file. It supports automatic as well as explicit highlighting of the currently active navigation through regular expressions.
- Simple-navigation - With the simple-navigation gem installed you can easily create multilevel navigations for your Rails, Sinatra or Padrino applications. The navigation is defined in a single configuration file. It supports automatic as well as explicit highlighting of the currently active navigation through regular expressions.
-
Syntax Highlighting
-
Table Builders
- datagrid - This allows you to easily build datagrid aka data tables with sortable columns and filters
- wice_grid - A Rails grid plugin to create grids with sorting, pagination, and filters generated automatically based on column types. The contents of the cell are up for the developer, just like one does when rendering a collection via a simple table. WiceGrid automates implementation of filters, ordering, paginations, CSV export, and so on. Ruby blocks provide an elegant means for this.
-
Template Engines
- Tilt - Generic interface to multiple Ruby template engines
- Haml - Haml (HTML Abstraction Markup Language) is a layer on top of HTML or XML that's designed to express the structure of documents in a non-repetitive, elegant, and easy way by using indentation rather than closing tags and allowing Ruby to be embedded with ease. It was originally envisioned as a plugin for Ruby on Rails, but it can function as a stand-alone templating engine.
- Slim - Slim is a template language whose goal is reduce the syntax to the essential parts without becoming cryptic.
- Liquid - A secure, non-evaling end user template engine with aesthetic markup.
- temple - Template compilation framework in Ruby
- Mustache - Inspired by ctemplate, Mustache is a framework-agnostic way to render logic-free views. As ctemplates says, "It emphasizes separating logic from presentation: it is impossible to embed application logic in this template language. Think of Mustache as a replacement for your views. Instead of views consisting of ERB or HAML with random helpers and arbitrary logic, your views are broken into two parts: a Ruby class and an HTML template.
- handlebars_assets - A Railties Gem to compile hbs assets
- Curly - A view layer for your Rails apps that separates structure and logic.
- Mustache - Inspired by ctemplate, Mustache is a framework-agnostic way to render logic-free views. As ctemplates says, "It emphasizes separating logic from presentation: it is impossible to embed application logic in this template language. Think of Mustache as a replacement for your views. Instead of views consisting of ERB or HAML with random helpers and arbitrary logic, your views are broken into two parts: a Ruby class and an HTML template.
-
Rails Wizards
- Wicked - Wicked is a Rails engine for producing easy wizard controllers
-
-
JavaScript
-
JavaScript Testing
- Testswarm - Distributed continuous integration testing for JavaScript.
- konacha - Konacha is a Rails engine that allows you to test your JavaScript with the mocha test framework and chai assertion library. It is similar to Jasmine and Evergreen, but does not attempt to be framework agnostic. By sticking with Rails, Konacha can take full advantage of features such as the asset pipeline and engines.
- Evergreen - Run Jasmine JavaScript unit tests, integrate them into Ruby applications.
- Jasmine - Test your JavaScript without any framework dependencies, in any environment, and with a nice descriptive syntax.
- Evergreen - Run Jasmine JavaScript unit tests, integrate them into Ruby applications.
-
JavaScript Tools
- Uglifier - Uglifier minifies JavaScript files by wrapping UglifyJS to be accessible in Ruby
- gon - If you need to send some data to your js files and you don't want to do this with long way trough views and parsing - use this force!
- opal - Ruby runtime and core library for JavaScript.
- paloma - Page-specific javascript for Rails done right
- opal-rails - Rails bindings for opal JS engine
-
Rails In-Place Editing
- BestInPlace - BestInPlace is a jQuery script and a Rails helper that provide the method best_in_place to display any object field easily editable for the user by just clicking on it. It supports input data, text data, boolean data and custom dropdown data. It works with RESTful controllers.
-
-
Maintenance & Monitoring
-
App Instrumentation
- dashing - This framework lets you build & easily layout dashboards with your own custom widgets. Use it to make a status boards for your ops team, or use it to track signups, conversion rates, or whatever else metrics you'd like to see in one spot. Included with the framework are ready-made widgets for you to use or customize. All of this code was extracted out of a project at Shopify that displays dashboards on TVs around the office.
- bullet - help to kill N+1 queries and unused eager loading.
- meta_request - Supporting gem for Rails Panel (Google Chrome extension for Rails development)
- peek - Take a peek into your Rails application.
- dashing-rails - The exceptionally handsome dashboard framework for Rails.
- rack-insight - Debugging toolbar for Rack applications implemented as middleware. Based on logical-insight and rack-bug.
- Scout-plugins - Plugins for the Scout Server Monitoring and Reporting Tool
-
Exception Notification
- Errbit - The open source error catcher that's Airbrake API compliant
- Airbrake - Airbrake is an online tool that provides robust exception tracking in any of your Ruby applications. In doing so, it allows you to easily review errors, tie an error to an individual piece of code, and trace the cause back to recent changes. The Airbrake dashboard provides easy categorization, searching, and prioritization of exceptions so that when errors occur, your team can quickly determine the root cause. Additionally, this gem includes integrations with such popular libraries and frameworks as Rails, Sinatra, Resque, Sidekiq, Delayed Job, ActiveJob and many more.
- Exception notification - Exception notification for Rails apps
- rollbar - Easy and powerful exception tracking for Ruby
- Honeybadger - Make managing application errors a more pleasant experience.
- Bugsnag - Ruby notifier for bugsnag.com
-
Log Analysis
-
Logging
- Logging - Logging is a flexible logging library for use in Ruby programs based on the design of Java's log4j library. It features a hierarchical logging system, custom level names, multiple output destinations per log event, custom formatting, and more.
- lograge - Tame Rails' multi-line logging into a single line per request
- gelf - Library to send GELF messages to Graylog logging server. Supports plain-text, GELF messages and exceptions via UDP and TCP.
- mongodb_logger - MongoDB logger for Rails
- httplog - Log outgoing HTTP requests made from your application. Helpful for tracking API calls of third party gems that don't provide their own log output.
-
Maintenance Mode
- turnout - Turnout makes it easy to put your Rails application into maintenance mode
-
Server Monitoring
- God - An easy to configure, easy to extend monitoring framework written in Ruby.
- sensu - A monitoring framework that aims to be simple, malleable, and scalable.
- Bluepill - Bluepill keeps your daemons up while taking up as little resources as possible. After all you probably want the resources of your server to be used by whatever daemons you are running rather than the thing that's supposed to make sure they are brought back up, should they die or misbehave.
- Eye - Process monitoring tool. Inspired from Bluepill and God. Requires Ruby(MRI) >= 1.9.3-p194. Uses Celluloid and Celluloid::IO.
-
-
Package & Dependency Management
-
Provision, Deploy & Host
-
Amazon Web Services
- aws-sdk - The official AWS SDK for Ruby. Provides both resource oriented interfaces and API clients for AWS services.
- Fog - The Ruby cloud services library. Supports all major cloud providers including AWS, Rackspace, Linode, Blue Box, StormOnDemand, and many others. Full support for most AWS services including EC2, S3, CloudWatch, SimpleDB, ELB, and RDS.
- S3 - S3 library provides access to Amazon's Simple Storage Service. It supports both: European and US buckets through REST API.
-
Asset Management
- Jammit - Jammit is an industrial-strength asset packaging library for Rails, providing both the CSS and JavaScript concatenation and compression that you'd expect, as well as YUI Compressor and Closure Compiler compatibility, ahead-of-time gzipping, built-in JavaScript template support, and optional Data-URI / MHTML image embedding.
- css_splitter - Gem for splitting up stylesheets that go beyond the IE limit of 4095 selectors, for Rails 3.1+ apps using the Asset Pipeline.
- half-pipe - Grunt-based workflow for your Rails assets
-
Backups
- Backup - Backup is a RubyGem, written for UNIX-like operating systems, that allows you to easily perform backup operations on both your remote and local environments. It provides you with an elegant DSL in Ruby for modeling your backups. Backup has built-in support for various databases, storage protocols/services, syncers, compressors, encryptors and notifiers which you can mix and match. It was built with modularity, extensibility and simplicity in mind.
- Backup - Backup is a RubyGem, written for UNIX-like operating systems, that allows you to easily perform backup operations on both your remote and local environments. It provides you with an elegant DSL in Ruby for modeling your backups. Backup has built-in support for various databases, storage protocols/services, syncers, compressors, encryptors and notifiers which you can mix and match. It was built with modularity, extensibility and simplicity in mind.
-
Deployment Automation
- Capistrano - Capistrano is a utility and framework for executing commands in parallel on multiple remote machines, via SSH.
- Moonshine - Simple Rails deployment and configuration management. 15 minute deploys of Rails 2, 3, or 4 apps.
- dandelion - Incremental Git repository deployment
- paratrooper - Library to create task for deployment to Heroku
-
System Provisioning
- Puppet - Puppet, an automated configuration management tool
- Babushka - Test-driven sysadmin.
- Vagrant - Vagrant is a tool for building and distributing development environments.
- Chef - A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
-
Web servers
- Thin - A thin and fast web server
- Unicorn - unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, high-bandwidth connections and take advantage of features in Unix/Unix-like kernels. Slow clients should only be served by placing a reverse proxy capable of fully buffering both the the request and response in between unicorn and slow clients.
- Puma - Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications. Puma is intended for use in both development and production environments. In order to get the best throughput, it is highly recommended that you use a Ruby implementation with real threads like Rubinius or JRuby.
- Passenger - A modern web server and application server for Ruby, Python and Node.js, optimized for performance, low memory usage and ease of use.
- Trinidad - Trinidad allows you to run Rails or Rack applications within an embedded Apache Tomcat container. Serves your requests with the elegance of a cat !
-
-
Rails Plugins
-
Rails Activity Feeds
- unread - This gem creates a scope for unread objects and adds methods to mark objects as read
-
Rails Admin Interfaces
- ActiveAdmin - The administration framework for Ruby on Rails.
- ActiveScaffold - Save time and headaches, and create a more easily maintainable set of pages, with ActiveScaffold. ActiveScaffold handles all your CRUD (create, read, update, delete) user interface needs, leaving you more time to focus on more challenging (and interesting!) problems.
- Typus - Ruby on Rails Admin Panel (Engine) to allow trusted users edit structured content.
-
Rails App Templates
- Suspenders - Suspenders is a base Rails project that you can upgrade. It is used by thoughtbot to get a jump start on a working app. Use Suspenders if you're in a rush to build something amazing; don't use it if you like missing deadlines.
- rails_apps_composer - A gem with recipes to create Rails application templates you can use to generate Rails starter apps.
-
Rails Class Diagrams
-
Rails File Uploads
-
Rails Permalinks & Slugs
- Stringex - Some [hopefully] useful extensions to Ruby's String class. Stringex is made up of three libraries: ActsAsUrl [permalink solution with better character translation], Unidecoder [Unicode to ASCII transliteration], and StringExtensions [miscellaneous helper methods for the String class].
-
Rails Presenters
- ActiveDecorator - A simple and Rubyish view helper for Rails
- display_case - An implementation of the Exhibit pattern, as described in Objects on Rails
-
State Machines
- AASM - AASM is a continuation of the acts-as-state-machine rails plugin, built for plain Ruby objects.
- statesman - A statesmanlike state machine library
- Transitions - Lightweight state machine extracted from ActiveModel
- simple_states - [description]
-
User Messaging Systems
- maktoub - A simple newsletter engine for rails.
-
-
Security
-
LDAP
- net-ldap - Net::LDAP for Ruby (also called net-ldap) implements client access for the Lightweight Directory Access Protocol (LDAP), an IETF standard protocol for accessing distributed directory services. Net::LDAP is written completely in Ruby with no external dependencies. It supports most LDAP client features and a subset of server features as well. Net::LDAP has been tested against modern popular LDAP servers including OpenLDAP and Active Directory. The current release is mostly compliant with earlier versions of the IETF LDAP RFCs (2251-2256, 2829-2830, 3377, and 3771). Our roadmap for Net::LDAP 1.0 is to gain full <em>client</em> compliance with the most recent LDAP RFCs (4510-4519, plutions of 4520-4532).
-
Rails Authentication
- Authlogic - A clean, simple, and unobtrusive ruby authentication solution.
- Sorcery - Provides common authentication needs such as signing in/out, activating by email and resetting password.
- Clearance - Rails authentication & authorization with email & password.
- switch_user - Easily switch current user to speed up development
- monban - simple rails authentication
- rack-cas - Simple CAS authentication for Rails, Sinatra or any Rack-based site
- doorkeeper - Doorkeeper is an OAuth 2 provider for Rails and Grape.
-
Rails Authorization
- cancancan - Continuation of the simple authorization solution for Rails which is decoupled from user roles. All permissions are stored in a single location.
- rolify - Very simple Roles library without any authorization enforcement supporting scope on resource objects (instance or class). Supports ActiveRecord and Mongoid ORMs.
- authority - Authority helps you authorize actions in your Rails app. It's ORM-neutral and has very little fancy syntax; just group your models under one or more Authorizer classes and write plain Ruby methods on them.
- Acl9 - Role-based authorization system for Rails with a concise DSL for securing your Rails application. Acl9 makes it easy to get security right for your app, the access control code sits right in your controller, the syntax is very easy to understand, and acl9 makes it easy to test your access rules.
-
Rails Captcha
- Recaptcha - Helpers for the reCAPTCHA API
-
Security Tools
- Loofah - Loofah is a general library for manipulating and transforming HTML/XML documents and fragments. It's built on top of Nokogiri and libxml2, so it's fast and has a nice API. Loofah excels at HTML sanitization (XSS prevention). It includes some nice HTML sanitizers, which are based on HTML5lib's whitelist, so it most likely won't make your codes less secure. (These statements have not been evaluated by Netexperts.) ActiveRecord extensions for sanitization are available in the `loofah-activerecord` gem (see https://github.com/flavorjones/loofah-activerecord).
- brakeman - Brakeman detects security vulnerabilities in Ruby on Rails applications via static analysis.
- active_model_otp - Adds methods to set and authenticate against one time passwords. Inspired in AM::SecurePassword"
- json-jwt - JSON Web Token and its family (JSON Web Signature, JSON Web Encryption and JSON Web Key) in Ruby
-
-
Testing
-
A/B Testing
- Vanity - Mirror, mirror on the wall ...
-
Acceptance Test Frameworks
- Turnip - Provides the ability to define steps and run Gherkin files from with RSpec
-
Browser testing
- selenium-webdriver - WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.
- capybara-webkit - Headless Webkit driver for Capybara
- headless - Headless is a Ruby interface for Xvfb. It allows you to create a headless display straight from Ruby code, hiding some low-level action.
- watir-webdriver - WebDriver-backed Watir
- SitePrism - SitePrism gives you a simple, clean and semantic DSL for describing your site using the Page Object Model pattern, for use with Capybara
- poltergeist - Poltergeist is a driver for Capybara that allows you to run your tests on a headless WebKit browser, provided by PhantomJS.
-
Continuous Testing
- Guard - Guard is a command line tool to easily handle events on file system modifications.
- guard-rspec - Guard::RSpec automatically run your specs (much like autotest).
-
Cucumber Steps
- aruba - Extension for popular TDD and BDD frameworks like "Cucumber", "RSpec" and "Minitest" to make testing commandline applications meaningful, easy and fun.
-
Distributed Testing
- Parallel tests - Run Test::Unit / RSpec / Cucumber / Spinach in parallel
- zeus - Boot any rails app in under a second
- test-queue - minitest/rspec parallel test runner for CI environments
- zeus-parallel_tests - Integration for zeus and parallel_tests
-
Mocking
- rspec-mocks - RSpec's 'test double' framework, with support for stubbing and mocking
- RR - RR is a test double framework that features a rich selection of double techniques and a terse syntax.
-
Mocking Web Requests
-
Rails Fixture Replacement
- Fabrication - Fabrication is an object generation framework for ActiveRecord, Mongoid, DataMapper, Sequel, or any other Ruby object.
- FixtureBuilder - FixtureBuilder allows testers to use their existing factories, like FactoryGirl, to generate high performance fixtures that can be shared across all your tests
- to_factory - Autogenerate and append/create factory_girl definitions from the console
-
Random Data Generation
- data-anonymization - Data anonymization tool for RDBMS and MongoDB databases
-
Time Warping
- Timecop - A gem providing "time travel" and "time freezing" capabilities, making it dead simple to test time-dependent code. It provides a unified method to mock Time.now, Date.today, and DateTime.now in a single call.
-
Unit Test Frameworks
- RSpec - BDD for Ruby
- test-unit - Test::Unit (test-unit) is unit testing framework for Ruby, based on xUnit principles. These were originally designed by Kent Beck, creator of extreme programming software development methodology, for Smalltalk's SUnit. It allows writing tests, checking results and automated testing in Ruby.
-
-
Time & Space
-
Calendars
- icalendar - Implements the iCalendar specification (RFC-5545) in Ruby. This allows for the generation and parsing of .ics files, which are used by a variety of calendaring applications.
-
Geocoding & Maps
- Geocoder - Provides object geocoding (by street or IP address), reverse geocoding (coordinates to street address), distance queries for ActiveRecord and Mongoid, result caching, and more. Designed for Rails but works with Sinatra and other Rack frameworks too.
- Geokit - Geokit provides geocoding and distance calculation in an easy-to-use API
- gmaps4rails - Enables easy Google map + overlays creation.
- Geokit-rails - Official Geokit plugin for Rails/ActiveRecord. Provides location-based goodness for your Rails app. Requires the Geokit gem.
- leaflet-rails - This gem provides the leaflet.js map display library for your Rails 4 application.
-
I18n
- i18n-js - It's a small library to provide the Rails I18n translations on the Javascript.
- globalize - Rails I18n de-facto standard library for ActiveRecord model/data translation.
- i18n-tasks - i18n-tasks helps you find and manage missing and unused translations. It analyses code statically for key usages, such as `I18n.t('some.key')`, in order to report keys that are missing or unused, pre-fill missing keys (optionally from Google Translate), and remove unused keys.
- R18n - I18n tool to translate your Ruby application.
- delocalize - Delocalize is a tool for parsing localized dates/times and numbers.
- numbers_and_words - Convert numbers to words using I18N.
- R18n - I18n tool to translate your Ruby application.
- R18n - I18n tool to translate your Ruby application.
-
Recurring Events
- Recurrence - A simple library to handle recurring events
- Ice cube - ice_cube is a recurring date library for Ruby. It allows for quick, programatic expansion of recurring date rules.
-
-
Web Apps, Services & Interaction
-
API Builders
- jbuilder - Create JSON structures via a Builder-style DSL
- active_model_serializers - ActiveModel::Serializers allows you to generate your JSON in an object-oriented and convention-driven manner.
- rabl - General ruby templating with json, bson, xml and msgpack support
- rocket_pants - Rocket Pants adds JSON API love to Rails and ActionController, making it simpler to build API-oriented controllers.
- versioncake - Render versioned views automagically based on the clients requested version.
-
API Clients
- koala - Koala is a lightweight, flexible Ruby SDK for Facebook. It allows read/write access to the social graph via the Graph and REST APIs, as well as support for realtime updates and OAuth and Facebook Connect authentication. Koala is fully tested and supports Net::HTTP and Typhoeus connections out of the box and can accept custom modules for other services.
- Linkedin - Ruby wrapper for the LinkedIn API
- gibbon - A wrapper for MailChimp API 3.0
- jenkins_api_client - This is a simple and easy-to-use Jenkins Api client with features focused on automating Job configuration programaticaly and so forth
- Amazon-ecs - Generic Amazon Product Advertising Ruby API.
- video_info - Get video info from Dailymotion, Vimeo, VK and YouTube url.
- google_calendar - A minimal wrapper around the google calendar API
- vacuum - A wrapper to the Amazon Product Advertising API
- fedex - Provides an interface to Fedex Web Services
- vk-ruby - VK-RUBY gives you full access to all vk.com API features. Has several types of method naming and methods calling, optional authorization, file uploading, logging, irb integration, parallel method calling and any faraday-supported http adapter of your choice.
- Tweetstream - TweetStream is a simple wrapper for consuming the Twitter Streaming API.
- Twitter - A Ruby interface to the Twitter API.
-
HTML parsing
- Nokogiri - Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's many features is the ability to search documents via XPath or CSS3 selectors.
-
HTTP clients
- Rest-client - A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifying actions: get, put, post, delete.
- faraday - HTTP/REST API client library.
- Httparty - Makes http fun! Also, makes consuming restful web services dead easy.
- httpclient - gives something like the functionality of libwww-perl (LWP) in Ruby
- Mechanize - The Mechanize library is used for automating interaction with websites. Mechanize automatically stores and sends cookies, follows redirects, and can follow links and submit forms. Form fields can be populated and submitted. Mechanize also keeps track of the sites that you have visited as a history.
- Curb - Curb (probably CUrl-RuBy or something) provides Ruby-language bindings for the libcurl(3), a fully-featured client-side URL transfer library. cURL and libcurl live at http://curl.haxx.se/
- HTTPI - Common interface for Ruby's HTTP libraries
- Typhoeus - Like a modern code version of the mythical beast with 100 serpent heads, Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling logic.
- em-http-request - EventMachine based, async HTTP Request client
- Patron - Ruby HTTP client library based on libcurl
- Nestful - Simple Ruby HTTP/REST client with a sane API
- hyperclient - HyperClient is a Ruby Hypermedia API client.
- Excon - EXtended http(s) CONnections
- Excon - EXtended http(s) CONnections
-
HTTP Pub/Sub
-
JSON Parsers
- multi_json - A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson.
- oj - The fastest JSON parser and object serializer.
-
Multitenancy
- apartment - Apartment allows Rack applications to deal with database multitenancy through ActiveRecord
- acts_as_tenant - Integrates multi-tenancy into a Rails application in a convenient and out-of-your way manner
-
SOAP Clients
-
Social Network Builders
- Communityengine - Adds basic social networking capabilities to your existing application, including users, blogs, photos, clippings, favorites, and more.
- omnicontacts - A generalized Rack middleware for importing contacts from major email providers.
-
User Agent Detection
- browser - Do some browser detection with Ruby.
- user_agent_parser - A simple, comprehensive Ruby gem for parsing user agent strings with the help of BrowserScope's UA database
-
Web Analytics
- legato - Access the Google Analytics Core Reporting and Management APIs with Ruby. Create models for metrics and dimensions. Filter your data to tell you what you need.
- google-analytics-rails - Rails helpers to manage google analytics tracking
- PageRankr - Easy way to retrieve Google Page Rank, Alexa Rank, backlink counts, index counts and different types of social signals
- rack-google-analytics - Simple Rack middleware for implementing google analytics tracking in your Ruby-Rack based project. Supports synchronous and asynchronous insertion and configurable load options.
- rack-google-analytics - Simple Rack middleware for implementing google analytics tracking in your Ruby-Rack based project. Supports synchronous and asynchronous insertion and configurable load options.
-
Web App Frameworks
- Rack - Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call. Also see http://rack.github.io/.
- Sinatra - Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.
- Padrino - The Godfather of Sinatra provides a full-stack agnostic framework on top of Sinatra
- Cuba - Cuba is a microframework for web applications.
- Camping - minature rails for stay-at-home moms
- Scorched - A light-weight Sinatra-inspired web framework for web sites and applications of any size.
- pakyow - Modern web framework for Ruby
- Ruby on Rails - Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.
-
Web Content Scrapers
- metainspector - MetaInspector lets you scrape a web page and get its links, images, texts, meta tags...
- link_thumbnailer - Ruby gem generating thumbnail images from a given URL.
- cobweb - Cobweb is a web crawler that can use resque to cluster crawls to quickly crawl extremely large sites which is much more performant than multi-threaded crawlers. It is also a standalone crawler that has a sophisticated statistics monitoring interface to monitor the progress of the crawls.
-
XML Mapping
- Gyoku - Gyoku translates Ruby Hashes to XML
-
Rails Controller Abstractions
- DecentExposure - DecentExposure helps you program to an interface, rather than an implementation in your Rails controllers. The fact of the matter is that sharing state via instance variables in controllers promotes close coupling with views. DecentExposure gives you a declarative manner of exposing an interface to the state that controllers contain and thereby decreasing coupling and improving your testability and overall design.
-
-
Fun
-
Game libraries
- Gosu - 2D game development library. Gosu features easy to use and game-friendly interfaces to 2D graphics and text (accelerated by 3D hardware), sound samples and music as well as keyboard, mouse and gamepad/joystick input. Also includes demos for integration with RMagick, Chipmunk and OpenGL.
-
Categories
Web Apps, Services & Interaction
63
Developer Tools
57
Active Record Plugins
35
HTML & Markup
28
Testing
26
Maintenance & Monitoring
25
Provision, Deploy & Host
21
Data Persistence
20
Background Processing
20
Communication
19
Rails Plugins
18
Content Management & Blogging
17
Security
17
Documents & Reports
17
Time & Space
16
JavaScript
11
Code Quality
11
Graphics
11
E-Commerce and Payments
8
Documentation Tools
8
CSS
6
Package & Dependency Management
2
Fun
1
Sub Categories
Background Jobs
16
HTTP clients
14
Rails Search
12
API Clients
12
Code Metrics
11
CLI Option Parsers
10
Reports & Spreadsheets
10
Template Engines
9
Documentation Generators
8
Web App Frameworks
8
I18n
8
Rails Authentication
7
App Instrumentation
7
Markup processors
7
Ruby Core Extensions
6
CSS with Ruby
6
E-Mail Preview
6
Exception Notification
6
Payments
6
PDF Generation
6
Content Management
6
SQL Database Adapters
6
Browser testing
6
Web servers
5
Form Builders
5
Concurrent Processing
5
Static Website Generation
5
Redis Clients
5
Logging
5
JavaScript Testing
5
Web Analytics
5
Graphing
5
JavaScript Tools
5
Geocoding & Maps
5
API Builders
5
Server Monitoring
4
Deployment Automation
4
Distributed Testing
4
System Provisioning
4
E-Mail Processing
4
State Machines
4
Security Tools
4
Rails Authorization
4
git Tools
4
CLI Progress Bars
4
Ruby Version Management
4
Amazon Web Services
3
Configuration Management
3
CouchDB Clients
3
Pagination
3
Object-relational mapping
3
Image Processing
3
Rails Fixture Replacement
3
Rails Admin Interfaces
3
Terminal Coloring
3
Active Record Versioning
3
HTTP Pub/Sub
3
Project Management
3
GUI Frameworks
3
irb Tools
3
MongoDB Clients
3
Web Content Scrapers
3
Active Record Enumerations
3
Blog Engines
3
Asset Management
3
Gem Creation
3
Wiki Apps
3
Active Record Index Assistants
2
Rails Presenters
2
Rails File Uploads
2
Log Analysis
2
Active Record Nesting
2
Unit Test Frameworks
2
Active Record Soft Delete
2
Exchange Clients
2
Rails Comments
2
Presentation Software
2
Mocking
2
SOAP Clients
2
Text Editors in Ruby
2
Recurring Events
2
Rails App Templates
2
User Agent Detection
2
Active Record Sortables
2
Table Builders
2
JSON Parsers
2
Mocking Web Requests
2
Visualizing Data
2
Rails Menu Builders
2
Daemonizing
2
Multitenancy
2
Rails Class Diagrams
2
Online Shops
2
Social Network Builders
2
Backups
2
Syntax Highlighting
2
Continuous Testing
2
Forum Systems
2
HTML parsing
1
Rails Wizards
1
Time Warping
1
PDF Processing
1
Calendars
1
Bundler Tools
1
Rails Captcha
1
A/B Testing
1
Active Record Sharding
1
Cucumber Steps
1
Acceptance Test Frameworks
1
CRM Apps
1
QR Codes
1
E-Mail Sending
1
Gem Hosting
1
Rails Controller Abstractions
1
Scheduling
1
IRC Bots
1
XML Mapping
1
irb Alternatives
1
Asynchronous E-Mail
1
Daemon Management
1
Active Record Named Scopes
1
Rails In-Place Editing
1
Inline CSS for E-Mail
1
Maintenance Mode
1
User Messaging Systems
1
Rails Permalinks & Slugs
1
Scripting Frameworks
1
Game libraries
1
Random Data Generation
1
LDAP
1
Rails Activity Feeds
1
Active Record Value Cleanup
1
Rails Tagging
1
Keywords
ruby
140
rails
49
activerecord
14
sinatra
8
markdown
7
rack
6
rspec
6
ruby-on-rails
6
elasticsearch
5
gem
5
search
5
rubygems
5
rails-engine
4
redis
4
logging
4
postgresql
4
static-analysis
4
mongoid
4
jruby
4
error-monitoring
4
javascript
4
queue
3
activejob
3
pdf
3
code-quality
3
ruby-versions
3
resque
3
server
3
static-site-generator
3
padrino
3
mongodb
3
crash-reporting
3
automation
3
deployment
3
html
3
java
3
testing
3
http
3
git
3
terminal
3
pry
3
elastic
3
database
3
sidekiq
2
documentation
2
sqlite
2
client
2
navigation
2
menu
2
restructuredtext
2