Skip to content

A collection of awesome Ruby libraries, tools, frameworks and software

Notifications You must be signed in to change notification settings

ololo-psh/awesome-ruby

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

Awesome Ruby

A collection of awesome Ruby libraries, tools, frameworks and software. The essential Ruby to build modern Apps and Web Apps.

Inspired by the awesome-* trend on GitHub.

The goal is to build a categorized community-driven collection of very well-known resources.

Sharing, suggestions and contributions are always welcome! Please take a look at the contribution guidelines and quality standard first.

Thanks to all contributors, you're awesome and wouldn't be possible without you!

Abstraction

  • ActiveInteraction - Manage application specific business logic.
  • Cells - View Components for Rails
  • Interactor - Interactor provides a common interface for performing complex interactions in a single request
  • Light Service - Series of Actions with an emphasis on simplicity.
  • Mutations - Compose your business logic into commands that sanitize and validate input
  • Reform - Form objects decoupled from models.

Admin Interface

  • ActiveAdmin - a Ruby on Rails framework for creating elegant backends for website administration
  • bhf - A simple to use Rails-Engine-Gem that offers an admin interface for trusted user
  • RailsAdmin - A Rails engine that provides an easy-to-use interface for managing your data
  • Upmin Admin - a framework for creating powerful Ruby on Rails admin backends with minimal effort.

Analytics

  • Ahoy - A solid foundation to track visits and events in Ruby, JavaScript, and native apps
  • FnordMetric - a ruby/redis framework for collecting and visualizing timeseries data. It enables you to build beautiful real-time analytics dashboards within minutes.
  • Gabba - Simple way to send server-side notifications to Google Analytics
  • Legato - Model analytics reports and queries against the official Google Analytics Reporting API
  • Staccato - Track analytics into the official Google Analytics Collection API

API Builder

  • ActiveModel::Serializers - JSON serialization of objects
  • Crêpe - The thin API stack
  • Grape - An opinionated micro-framework for creating REST-like APIs in Ruby
  • jbuilder - Create JSON structures via a Builder-style DSL
  • JSONAPI::Resources - JSONAPI::Resources, or "JR", provides a framework for developing a server that complies with the JSON API specification.
  • Jsonite - A tiny, HAL-compliant JSON presenter for your APIs
  • Pliny - Opinionated template Sinatra app for writing excellent APIs in Ruby
  • rabl - General ruby templating with json, bson, xml, plist and msgpack support
  • Rails::API - Rails for API only applications
  • Roar - Resource-Oriented Architectures in Ruby

Assets

  • Less Rails - The dynamic stylesheet language for the Rails asset pipeline.
  • Less - Leaner CSS, in your browser or Ruby.
  • Sass - Sass makes CSS fun again
  • Management:
  • Development:

Authentication and OAuth

  • Authlogic - Authlogic is a clean, simple, and unobtrusive ruby authentication solution
  • Clearance - Small and simple email & password based authenticaton for Rails
  • Devise - A flexible authentication solution for Rails based on Warden
  • OmniAuth - A library that standardizes multi-provider authentication utilizing Rack middleware
  • Sorcery - Magical Authentication for Rails 3 and 4
  • OAuth:
    • Doorkeeper - An OAuth2 provider for Rails
    • OAuth2 - A Ruby wrapper for the OAuth 2.0 protocol

Authorization

  • Authority - ORM-neutral way to authorize actions in your Rails app.
  • CanCanCan - Continuation of CanCan, an authorization Gem for Ruby on Rails.
  • Pundit - Minimal authorization through OO design and pure Ruby classes

Caching

CLI Builder

  • Commander - The complete solution for Ruby command-line executables
  • GLI - Git-Like Interface Command Line Parser
  • Main - A class factory and DSL for generating command line programs real quick
  • Rake - A make-like build utility for Ruby
  • Slop - Simple Lightweight Option Parsing
  • Thor - A toolkit for building powerful command-line interfaces

CMS

  • Alchemy CMS - A powerful, userfriendly and flexible Open Source Rails CMS
  • Comfortable Mexican Sofa - a powerful Rails 4 CMS Engine
  • LocomotiveCMS - A simple but powerful CMS based on Liquid templates and Mongodb database
  • Publify - A self hosted Web publishing platform on Rails
  • Radiant - A no-fluff, open source content management system designed for small teams
  • Refinery CMS - An open source Ruby on Rails content management system for Rails 3 and 4

Code Analysis and Metrics

  • Brakeman - A static analysis security vulnerability scanner for Ruby on Rails applications.
  • Flay - Flay analyzes code for structural similarities. Differences in literal values, variable, class, method names, whitespace, programming style, braces vs do/end, etc are all ignored. Making this totally rad.
  • Flog - Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in.
  • fukuzatsu - Complexity analysis tool with a rich web front-end.
  • MetricFu - A fist full of code metrics
  • rails_best_practices - A code metric tool for rails projects
  • Reek - Code smell detector for Ruby
  • Rubocop - A static code analyzer, based on the community Ruby style guide.
  • Rubycritic - A Ruby code quality reporter.
  • SimpleCov - Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites.

Coding Style Guides

Concurrency

  • Celluloid - Actor-based concurrent object framework for Ruby
  • Concurrent Ruby - Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns.
  • EventMachine - An event-driven I/O and lightweight concurrency library for Ruby

Configuration

  • Configatron - Simple and feature rich configuration system for Ruby apps
  • Configus - Helps you easily manage environment specific settings
  • dotenv - Loads environment variables from .env
  • Econfig - Flexible configuration for Rails applications
  • Figaro - Simple, Heroku-friendly Rails app configuration using ENV and a single YAML file
  • Global - Provides accessor methods for your configuration data
  • RailsConfig - Multi-environment yaml settings for Rails3

Core Extensions

  • ActiveSupport - A collection of utility classes and standard library extensions.
  • Ruby Facets - The premiere collection of general purpose method extensions and standard additions for Ruby.
  • Attributes
    • ActiveAttr - What ActiveModel left out
    • FastAttributes - FastAttributes adds attributes with their types to the class
    • Virtus - Attributes on Steroids for Plain Old Ruby Objects
  • Hash
    • Hashie - A collection of tools that extend Hashes and make them more useful

Country Data

  • Carmen - A repository of geographic regions
  • Countries - All sorts of useful information about every country packaged as pretty little country objects
  • i18n_data - country/language names and 2-letter-code pairs, in 85 languages, for country/language i18n
  • normalize_country - Convert country names and codes to a standard, includes a conversion program for XMLs, CSVs and DBs

Dashboards

  • Dashing - A Sinatra based framework that lets you build beautiful dashboards. It looks especially great on TVs.
  • Dashing-Rails - The exceptionally handsome dashboard framework for Rails.

Data Visualization

  • RailRoady - Ruby on Rails 3/4 model and controller UML class diagram generator.
  • Rails Erd - Generate Entity-Relationship Diagrams for Rails applications.
  • Ruby/GraphViz - Ruby interface to the GraphViz graphing tool

Database Drivers

  • Cassandra Driver - A pure ruby driver for Apache Cassandra with asynchronous io and configurable load balancing, reconnection and retry policies
  • DataObjects - An attempt to rewrite existing Ruby database drivers to conform to one, standard interface.
  • mongo-ruby-driver - MongoDB Ruby driver
  • moped - A MongoDB driver for Ruby
  • mysql2 - A modern, simple and very fast Mysql library for Ruby (binding to libmysql)
  • Redic - Lightweight Redis Client
  • redis-rb - A Ruby client that tries to match Redis' API one-to-one, while still providing an idiomatic interface
  • ruby-pg - Ruby interface to PostgreSQL 8.3 and later
  • SQLite3

Database Tools

  • Database Cleaner - Database Cleaner is a set of strategies for cleaning your database in Ruby.
  • PgHero - Postgres insights made easy
  • Seed dump - Rails 4 task to dump (parts) of your database to db/seeds.rb.
  • Seed Fu - Advanced seed data handling for Rails.

Date and Time Processing

  • business_time - Support for doing time math in business hours and days
  • Chronic - A natural language date/time parser written in pure Ruby
  • groupdate - The simplest way to group temporal data in ActiveRecord, arrays and hashes
  • time-lord - Adds extra functionality to the time class
  • time_diff - Calculates the difference between two time
  • validates_timeliness - Date and time validation plugin for ActiveModel and Rails
  • yymmdd - Tiny DSL for idiomatic date parsing and formatting

Debugging Tools

  • Byebug - A simple to use, feature rich debugger for Ruby 2.
  • debugger - A port of ruby-debug that works on 1.9.2 and 1.9.3.

Decorators

  • Draper - Draper adds an object-oriented layer of presentation logic to your Rails application

DevOps Tools

  • Backup - Provides an elegant DSL in Ruby for performing backups on UNIX-like systems
  • Capistrano - A remote server automation and deployment tool written in Ruby
  • Chef - A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure
  • Lita - ChatOps for Ruby: A pluggable chat bot framework usable with any chat service.
  • Logstash - Logs/event transport, processing, management, search
  • Mina - Really fast deployer and server automation tool.
  • Puppet - An automated administrative engine for your Linux, Unix, and Windows systems, performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification
  • Rubber - The rubber plugin enables relatively complex multi-instance deployments of RubyOnRails applications to Amazon's Elastic Compute Cloud (EC2).
  • Vagrant - Create and configure lightweight, reproducible, and portable development environments

Documentation

  • Asciidoctor - A fast, Ruby-based text processor & publishing toolchain for converting AsciiDoc to HTML5, DocBook, EPUB3, PDF & more.
  • Documentation - A Rails engine to provider the ability to add documentation to a Rails application
  • grape-swagger - Add swagger compliant documentation to your Grape API
  • Inch - Inch is a documentation measurement and evalutation tool for Ruby code, based on YARD
  • RDoc - RDoc produces HTML and command-line documentation for Ruby projects
  • YARD - YARD enables the user to generate consistent, usable documentation that can be exported to a number of formats very easily

E-Commerce and Payments

  • Active Merchant - A simple payment abstraction library extracted from Shopify
  • Paypal Merchant SDK - Official Paypal Merchant SDK for Ruby
  • Piggybak - Modular, Extensible open-source ecommerce solution for Ruby on Rails
  • ROR Ecommerce
  • Shoppe - A Rails-based e-commerce platform which allows you to easily introduce a catalogue-based store into your Rails 4 applications
  • Spree
  • stripe-ruby - Stripe Ruby bindings

Ebook

  • Bookshop - Bookshop is a an open-source agile book development and publishing framework for authors, editors.
  • Eeepub - EeePub is a Ruby ePub generator.
  • Gepub - A generic EPUB library for Ruby : supports EPUB 3
  • Git Scribe - Basically the best way to write an ebook.
  • Mobi - A Ruby way to read MOBI format metadata
  • Review - Re:VIEW is flexible document format/conversion system

Email

  • Incoming - Incoming! helps you receive email in your Rack apps
  • LetterOpener - Preview mail in the browser instead of sending.
  • Mail - A Really Ruby Mail Library
  • MailCatcher - Catches mail and serves it through a dream
  • Mailman - An incoming mail processing microframework in Ruby
  • Pony - The express way to send mail from Ruby

Environment Management

  • chgems - Chroot for RubyGems
  • chruby - Change your current Ruby. No shims, no crazy options or features, ~90 LOC
  • fry - Simple ruby version manager for fish
  • gem_home - A tool for changing your $GEM_HOME
  • rbenv - Use rbenv to pick a Ruby version for your application and guarantee that your development environment matches production
  • ruby-build - Compile and install Ruby
  • ruby-install - Installs Ruby, JRuby, Rubinius, MagLev or MRuby
  • RVM - RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems

Error Handling

  • Airbrake - The official Airbrake library for Ruby on Rails (and other Rack based frameworks)
  • Better Errors - Better error page for Rack apps
  • Errbit - The open source, self-hosted error catcher
  • Exception Notification - A set of notifiers for sending notifications when errors occur in a Rack/Rails application
  • Nesty - Nested exceptions for Ruby
  • Raven Ruby - Raven is a Ruby client for Sentry.

File Upload

  • CarrierWave - Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks
  • DragonFly - A Ruby gem for on-the-fly processing - suitable for image uploading in Rails, Sinatra and much more!
  • PaperClip - Easy file attachment management for ActiveRecord
  • rack-secure-upload - Upload files securely

Form Builder

  • Abracadabra - The gem that swaps out text with a fully-compliant Rails form in one click
  • Formtastic - A Rails form builder plugin with semantically rich and accessible markup
  • Rails Bootstrap Forms - Rails form builder that makes it super easy to create beautiful-looking forms with Twitter Bootstrap 3+
  • Simple Form - Rails forms made easy

Game Development

  • Gosu - A 2D game development library for the Ruby and C++ programming languages
  • Yeah - Practical Ruby video game framework

Geolocation

  • Geocoder - A complete geocoding solution for Ruby. With Rails it adds geocoding (by street or IP address), reverse geocoding (find street address based on given coordinates), and distance queries
  • Geokit - Geokit gem provides geocoding and distance/heading calculations

Git Tools

  • git-auto-bisect - Find the commit that broke master
  • git-spelunk - Dig through git blame history
  • git-up - Fetch and rebase all locally-tracked remote branches
  • git-whence - Find which merge a commit came from
  • hub - a command line tool that wraps Git in order to extend it with extra features and commands that make working with GitHub easier
  • Rugged - Ruby bindings to libgit2

GUI

HTML/XML Parsing

  • HappyMapper - Object to XML mapping library, using Nokogiri
  • Nokogiri - An HTML, XML, SAX, and Reader parser with XPath and CSS selector support
  • ROXML - Custom mapping and bidirectional marshalling between Ruby and XML using annotation-style class methods, via Nokogiri or LibXML.

HTTP

  • excon - Usable, fast, simple Ruby HTTP 1.1. It works great as a general HTTP(s) client and is particularly well suited to usage in API clients.
  • Faraday
  • Http Client - Gives something like the functionality of libwww-perl (LWP) in Ruby
  • http - The HTTP Gem: a simple Ruby DSL for making HTTP requests.
  • httparty
  • Patron - Patron is a Ruby HTTP client library based on libcurl.
  • RESTClient - Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions
  • Savon - Savon is a SOAP client for the Ruby programming language.
  • Sawyer - Secret user agent of HTTP, built on top of Faraday
  • Typhoeus - Typhoeus wraps libcurl in order to make fast and reliable requests

Imagery

  • MiniMagick - A ruby wrapper for ImageMagick or GraphicsMagick command line
  • PSD.rb - Parse Photoshop files in Ruby with ease
  • RMagick - RMagick is an interface between Ruby and ImageMagick
  • Skeptick - Skeptick is an all-purpose DSL for building and running ImageMagick commands.

Internationalization

  • i18n-tasks - Manage missing and unused translations with the awesome power of static analysis
  • i18n - Ruby Internationalization and localization solution
  • r18n - Advanced i18n library for Rails, Sinatra, desktop apps, models, works well with complex languages like Russian.
  • twitter-cldr-rb - Ruby implementation of the ICU (International Components for Unicode) that uses the Common Locale Data Repository to format dates, plurals, and more

Logging

  • Cabin - Structured+contextual logging experiments in Ruby.
  • Fluentd - Fluentd collects events from various data sources and writes them to files, database or other types of storages
  • HttpLog - Log outgoing HTTP requests.
  • Log4r - Log4r is a comprehensive and flexible logging library for use in Ruby programs
  • Logging - A flexible logging library for use in Ruby programs based on the design of Java's log4j library.
  • Lograge - An attempt to tame Rails' default policy to log everything.
  • MongoDB Logger - MongoDB logger for Rails
  • Scrolls - Simple logging
  • Yell - Your Extensible Logging Library

Machine Learning

  • PredictionIO Ruby SDK - The PredictionIO Ruby SDK provides a convenient API to quickly record your users' behavior and retrieve personalized predictions for them
  • Ruby Datumbox Wrapper - It's a simple Ruby Datumbox Wrapper. At the moment the API currently allows you to build applications that make use of machine learning algorithms.

Markdown Processors

  • kramdown - Kramdown is yet-another-markdown-parser but fast, pure Ruby, using a strict syntax definition and supporting several common extensions
  • Maruku - A pure-Ruby Markdown-superset interpreter
  • Redcarpet - A fast, safe and extensible Markdown to (X)HTML parser

Misc

  • AXLSX - An excel xlsx generation library
  • Betty - Friendly English-like interface for your command line. Don't remember a command? Ask Betty
  • Foreman - Manage Procfile-based applications
  • Gollum - A simple, Git-powered wiki with a sweet API and local frontend.
  • Guard - A command line tool to easily handle events on file system modifications
  • JsonCompare - Returns the difference between two JSON files
  • play ► - Your company's dj
  • Pry Debugger - Pry navigation commands via debugger (formerly ruby-debug)
  • Pry - A powerful alternative to the standard IRB shell for Ruby
  • pygments.rb - A Ruby wrapper for the Python pygments syntax highlighter
  • Ruby Operators - A webpage showing awesome names for different Ruby operators.
  • Termit - Google Translate with speech synthesis in your terminal
  • Treetop - PEG (Parsing Expression Grammar) parser
  • Yomu - Read text and metadata from files and documents (.doc, .docx, .pages, .odt, .rtf, .pdf)

Mobile Development

  • Ruboto - A platform for developing full stand-alone apps for Android using the Ruby language and libraries
  • RubyMotion - A revolutionary toolchain that lets you quickly develop and test native iOS and OS X applications for iPhone, iPad and Mac

Money

  • eu_central_bank - A gem that calculates the exchange rate using published rates from European Central Bank
  • Money - A Ruby Library for dealing with money and currency conversion

Natural Language Processing

  • Treat - Treat is a toolkit for natural language processing and computational linguistics in Ruby

ORM/ODM

  • ActiveRecord
  • DataMapper - ORM which works well with legacy databases. Last release (1.2.0) was on 13 October 2011.
  • Guacamole - An ODM for ArangoDB
  • Mongoid - An ODM (Object-Document-Mapper) framework for MongoDB in Ruby
  • MongoMapper
  • MongoModel - Ruby ODM for interfacing with MongoDB databases
  • ohm - Object-hash mapping library for Redis
  • Sequel - Sequel is a simple, flexible, and powerful SQL database access toolkit for Ruby

ORM/ODM Extensions

  • Mongoid Tree - A tree structure for Mongoid documents using the materialized path pattern

Package Management

  • Gems
    • Bundler - Manage your application's gem dependencies with less pain
    • RubyGems - Community's gem hosting service
  • Packages and Applications
    • Berkshelf - A Chef Cookbook manager
    • CocoaPods - The Objective-C dependency manager
    • fpm - Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity
    • Homebrew-cask - a CLI workflow for the administration of Mac applications distributed as binaries
    • Homebrew - The missing package manager for OS X

Pagination

  • Kaminari - A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for modern web app frameworks and ORMs
  • order_query - A keyset pagination library to find the next or previous record(s) relative to the current one efficiently, e.g. for infinite scroll.
  • will_paginate - A pagination library that integrates with Ruby on Rails, Sinatra, Merb, DataMapper and Sequel

PDF

  • Gimli - Utility for converting markup files to pdf files.
  • Kitabu - A framework for creating e-books from Markdown/Textile text markup using Ruby.
  • Pdfkit - HTML+CSS to PDF using wkhtmltopdf
  • Prawn - Fast, Nimble PDF Writer for Ruby
  • RGhost - RGhost is a document creation and conversion API.
  • Shrimp - A phantomjs based pdf renderer
  • Wicked Pdf - PDF generator (from HTML) plugin for Ruby on Rails
  • Wisepdf - Wkhtmltopdf wrapper done right

Performance Monitoring

  • New Relic - Find and fix Ruby errors with New Relic application monitoring and troubleshooting.
  • Skylight - A smart profiler for your Rails apps that visualizes request performance.
  • TraceView - Full-stack application tracing and brilliant data visualization to build faster, more reliable web apps.

Process Monitoring

  • Bluepill - Simple process monitoring tool
  • God - An easy to configure, easy to extend monitoring framework written in Ruby

Processes and Threads

  • Parallel - Run any code in parallel Processes (> use all CPUs) or Threads (> speedup blocking operations). Best suited for map-reduce or e.g. parallel downloads/uploads
  • childprocess - Cross-platform ruby library for managing child processes.
  • forkoff - brain-dead simple parallel processing for ruby
  • posix-spawn - Fast Process::spawn for Rubys >= 1.8.7 based on the posix_spawn() system interfaces

Profiler

  • bullet - Help to kill N+1 queries and unused eager loading
  • Peek - Visual status bar showing Rails performance
  • perftools.rb - gperftools (formerly known as google-perftools) for Ruby code
  • rack-mini-profiler - Profiler for your development and production Ruby rack apps
  • ruby-prof - A code profiler for MRI rubies

Queue

  • active_job - Declare job classes that can be run by a variety of queueing backends
  • Delayed::Job - Database backed asynchronous priority queue
  • Resque - A Redis-backed Ruby library for creating background jobs
  • Sidekiq - A full-featured background processing framework for Ruby. It aims to be simple to integrate with any modern Rails application and much higher performance than other existing solutions.
  • Sucker Punch - A single process background processing library using Celluloid. Aimed to be Sidekiq's little brother.

Robotics

  • Artoo - Next generation robotics framework with support for different platforms: Arduino, Leap Motion, Pebble, Raspberry Pi, etc.

RSS

  • Feed normalizer - Extensible Ruby wrapper for Atom and RSS parsers.
  • Feedjira - A feed fetching and parsing library.
  • Ratom - A fast, libxml based, Ruby Atom library.
  • Simple rss - A simple, flexible, extensible, and liberal RSS and Atom reader.

Scheduling

  • Clockwork - Clockwork is a cron replacement. It runs as a lightweight, long-running Ruby process which sits alongside your web processes (Mongrel/Thin) and your worker processes (DJ/Resque/Minion/Stalker) to schedule recurring work at particular times or dates.
  • resque-scheduler - A light-weight job scheduling system built on top of Resque
  • rufus-scheduler - Job scheduler for Ruby (at, cron, in and every jobs)
  • Whenever - A Ruby gem that provides a clear syntax for writing and deploying cron jobs

Search

  • attr_searchable - Search engine like fulltext query support for ActiveRecord
  • elasticsearch-ruby
  • has_scope - Has scope allows you to easily create controller filters based on your resources named scopes.
  • pg_search - Builds ActiveRecord named scopes that take advantage of PostgreSQL's full text search
  • ransack - Object-based searching.
  • Rroonga - The Ruby bindings of Groonga
  • Searchkick - Searchkick learns what your users are looking for. As more people search, it gets smarter and the results get better. It’s friendly for developers - and magical for your users.
  • Searchlogic - Object based searching, common named scopes, and other useful named scope tools for ActiveRecord
  • Sunspot - A Ruby library for expressive, powerful interaction with the Solr search engine
  • Thinking Sphinx - A library for connecting ActiveRecord to the Sphinx full-text search tool

SEO

  • FriendlyId - The "Swiss Army bulldozer" of slugging and permalink plugins for Active Record
  • MetaTags - A gem to make your Rails application SEO-friendly
  • SitemapGenerator - A framework-agnostic XML Sitemap generator written in Ruby

Social Networking

  • Campo - Campo is a lightweight forum application, base on Ruby on Rails.
  • diaspora* - A privacy aware, distributed, open source social network
  • Discourse - A platform for community discussion. Free, open, simple
  • Forem - Rails 3 and Rails 4 forum engine

State Machines

  • AASM - State machines for Ruby classes (plain Ruby, Rails Active Record, Mongoid)
  • simple_states - A super-slim statemachine-like support library
  • Statesman - A statesmanlike state machine library
  • Workflow - A finite-state-machine-inspired API for modeling and interacting with what we tend to refer to as 'workflow'

Static Site Generation

  • High Voltage - Easily include static pages in your Rails app
  • Jekyll - Transform your plain text into static websites and blogs
  • Middleman - A static site generator using all the shortcuts and tools in modern web development
  • Nanoc - A static site generator, fit for building anything from a small personal blog to a large corporate web site

Template Engine

  • Curly - A template language that completely separates structure and logic
  • Haml - HTML Abstraction Markup Language
  • Liquid - Safe, customer facing template language for flexible web apps
  • Mustache - Logic-less Ruby templates
  • Slim - A template language whose goal is reduce the syntax to the essential parts without becoming cryptic
  • Tilt - Generic interface to multiple Ruby template engines

Testing

  • Frameworks
    • RSpec - Behaviour Driven Development for Ruby
      • Formatters
        • Emoji-RSpec - Custom Emoji Formatters for RSpec
        • Fuubar - The instafailing RSpec progress bar formatter
        • Nyan Cat - Nyan Cat inspired RSpec formatter!
    • Bacon - A small RSpec clone
    • Capybara - Acceptance test framework for web applications
    • Cucumber - BDD that talks to domain experts first and code second
    • Cutest - Isolated tests in Ruby
    • Konacha - Test your Rails application's JavaScript with the mocha test framework and chai assertion library
    • minitest - minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking
    • RR - A test double framework that features a rich selection of double techniques and a terse syntax
    • shoulda-matchers - Provides Test::Unit- and RSpec-compatible one-liners that test common Rails functionality. These tests would otherwise be much longer, more complex, and error-prone.
    • Spinach - Spinach is a high-level BDD framework that leverages the expressive Gherkin language (used by Cucumber) to help you define executable specifications of your application or library's acceptance criteria.
    • Spork - A DRb server for testing frameworks (RSpec / Cucumber currently)
    • Test::Unit - Test::Unit is a xUnit family unit testing framework for Ruby
  • Fake Data
    • Fabrication - A simple and powerful object generation library
    • factory_girl - A library for setting up Ruby objects as test data
    • faker - A library for generating fake data such as names, addresses, and phone numbers.
    • ffaker - A faster Faker, generates dummy data, rewrite of faker.
    • Forgery - Easy and customizable generation of forged data.
    • Machinist - Fixtures aren't fun. Machinist is
  • Mock
    • ActiveMocker - Generate mocks from ActiveRecord models for unit tests that run fast because they don’t need to load Rails or a database.
    • TestXml - TestXml is a small extension for testing XML/HTML.
    • WebMock - Library for stubbing and setting expectations on HTTP requests
  • WebDrivers
  • Extra
    • Appraisal - Appraisal integrates with bundler and rake to test your library against different versions of dependencies
    • Ruby-JMeter - A Ruby based DSL for building JMeter test plans
    • Spring - Preloads your rails environment in the background for faster testing and Rake tasks
    • timecop - Provides "time travel" and "time freezing" capabilities, making it dead simple to test time-dependent code
    • vcr - Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests

Third-party APIs

  • databasedotcom - Ruby client for the Salesforce's Database.com and Chatter APIs
  • Dropbox - Dropbox API Ruby Client.
  • facy - Command line power tool for facebook
  • fb_graph - A full-stack Facebook Graph API wrapper
  • flickr - A Ruby interface to the Flickr API
  • gitlab - Ruby wrapper and CLI for the GitLab API
  • gmail - A Rubyesque interface to Gmail, with all the tools you'll need.
  • hipchat-rb - HipChat HTTP API Wrapper in Ruby with Capistrano hooks
  • instagram-ruby-gem - The official gem for the Instagram REST and Search APIs
  • itunes_store_transporter - Ruby wrapper around Apple's iTMSTransporter program
  • linkedin - Provides an easy-to-use wrapper for LinkedIn's REST APIs
  • Octokit - Ruby toolkit for the GitHub API
  • Pusher - Ruby server library for the Pusher API.
  • ruby-gmail - A Rubyesque interface to Gmail
  • ruby-trello - Implementation of the Trello API for Ruby
  • soundcloud-ruby - Official SoundCloud API Wrapper for Ruby
  • t - A command-line power tool for Twitter
  • tweetstream - A simple library for consuming Twitter's Streaming API
  • twitter - A Ruby interface to the Twitter API
  • wikipedia - Ruby client for the Wikipedia API.
  • youtube_it - An object-oriented Ruby wrapper for the YouTube GData API
  • Yt - An object-oriented Ruby client for YouTube API V3

Video

  • Streamio FFMPEG - Simple yet powerful wrapper around the ffmpeg command for reading metadata and transcoding movies

Web Crawling

  • anemone - Ruby library and CLI for crawling websites.
  • LinkThumbnailer - Ruby gem that generates thumbnail images and videos from a given URL. Much like popular social website with link preview.
  • Mechanize - Mechanize is a ruby library that makes automated web interaction easy.
  • MetaInspector - Ruby gem for web scraping purposes. It scrapes a given URL, and returns you its title, meta description, meta keywords, an array with all the links, all the images in it, etc.
  • Upton - A batteries-included framework for easy web-scraping. Just add CSS! (Or do more.)
  • Wombat - Web scraper with an elegant DSL that parses structured data from web pages

Web Frameworks

  • Camping - A web microframework which consistently stays at less than 4kB of code
  • Cuba - A microframework for web development
  • Lotus - It aims to bring back Object Oriented Programming to web development, leveraging on a stable API, a minimal DSL, and plain objects.
  • Padrino - A full-stack ruby framework built upon Sinatra
  • Pakyow - A framework for building modern web-apps in Ruby. It helps you build working software faster with a development process that remains friendly to both designers and developers
  • Ramaze - A simple, light and modular open-source web application framework written in Ruby
  • Roda - A routing tree web framework
  • Ruby on Rails - A web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern
  • Sinatra - Classy web-development dressed in a DSL
  • Volt - A Ruby web framework where your ruby code runs on both the server and the client

Web Servers

  • Goliath - A non-blocking Ruby web server framework
  • Phusion Passenger - Fast and robust web server and application server
  • Puma - A modern, concurrent web server for Ruby
  • Rack - A common Ruby web server interface. By itself, it's just a specification and utility library, but all Ruby web servers implement this interface
  • Thin - Tiny, fast & funny HTTP server
  • Unicorn - Rack HTTP server for fast clients and Unix

WebSocket

  • Faye - A set of tools for simple publish-subscribe messaging between web clients. It ships with easy-to-use message routing servers for Node.js and Rack applications, and clients that can be used on the server and in the browser.
  • Firehose - Build realtime Ruby web applications
  • Rails Realtime - Adding Real-Time To Your RESTful Rails App.
  • Sync - Real-time Rails Partials
  • Websocket-Rails - Creates a built in WebSocket server inside a Rails application with ease. Also support streaming HTTP

Services and Apps

  • AppSignal - Better monitoring for your Rails applications.
  • CodeClimate - Quality & security analysis for Ruby on Rails and Javascript.
  • Gemnasium - Monitor your project dependencies and alert you about updates and security vulnerabilities.
  • GitHub - Powerful collaboration, code review, and code management for open source and private projects.
  • Gitlab CI - Integrate with your GitLab to run tests for your projects.
  • GitLab - Open source software to collaborate on code.
  • Hakiri - Ship Secure Ruby Apps.
  • Honeybadger - Exception, uptime, and performance monitoring for Ruby.
  • HoundCI - Review your Ruby code for style guide violations.
  • Inch CI - Documentation badges for Ruby projects.
  • Omniref - A comprehensive Ruby documentation site
  • PullReview - Automated code review for Ruby and Rails - from style to security.
  • Travis CI.com - Take care of running your tests and deploying your private apps.
  • Travis CI.org - A distributed build system for the open source community.

Resources

  • GemBundle - A place to discover new Ruby Gems
  • GitHub Trending
  • Green Ruby News - A feed of fresh links of the week about ruby, javascript, webdev and devops
  • Practicing Ruby - Delightful lessons for dedicated programmers
  • Ruby Weekly - A free, once–weekly e-mail round-up of Ruby news and articles
  • Ruby5 - The latest news in the Ruby and Rails community
  • RubyDaily - Community driven news
  • RubyFlow - Ruby Programming Community Link Blog
  • The Ruby Toolbox - A comprehensive catalog of Ruby and Rails plug-ins, gems, tools and resources for Ruby developers with popularity ratings based on GitHub watchers and Gem downloads

Other Awesome Lists

Other amazingly awesome lists can be found in the awesome-awesomeness list.

About

A collection of awesome Ruby libraries, tools, frameworks and software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published