GithubHelp home page GithubHelp logo

cchongxd / awesome-ruby Goto Github PK

View Code? Open in Web Editor NEW

This project forked from markets/awesome-ruby

0.0 2.0 0.0 1.95 MB

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

Home Page: http://marcanguera.net/awesome-ruby

awesome-ruby's Introduction

Awesome Ruby ruby-rocks!

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

Inspired by awesome-php, awesome-python, frontend-dev-bookmarks and ruby-bookmarks.

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! The goal is to build a categorized community-driven collection of very well-known resources.

Style Guide

Package Management

  • Gems

    • RubyGems - Community's gem hosting service
    • Bundler - Manage your application's gem dependencies with less pain
  • Packages and Applications

    • Homebrew - The missing package manager for OS X
    • Homebrew-cask - a CLI workflow for the administration of Mac applications distributed as binaries
    • CocoaPods - The Objective-C dependency manager
    • Berkshelf - A Chef Cookbook manager

Environment Management

  • rbenv — Use rbenv to pick a Ruby version for your application and guarantee that your development environment matches production
  • 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
  • dotenv - Loads environment variables from .env
  • ruby-build - Compile and install Ruby
  • chruby - Change your current Ruby. No shims, no crazy options or features, ~90 LOC
  • ruby-install - Installs Ruby, JRuby, Rubinius, MagLev or MRuby

Documentation

  • 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
  • grape-swagger - Add swagger compliant documentation to your Grape API

Testing

  • RSpec - Behaviour Driven Development for Ruby
  • minitest - minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking
  • Test::Unit - Test::Unit is a xUnit family unit testing framework for Ruby
  • Cucumber - BDD that talks to domain experts first and code second
  • Capybara - Acceptance test framework for web applications
  • Appraisal - Appraisal integrates with bundler and rake to test your library against different versions of dependencies
  • 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.
  • Fabrication - A simple and powerful object generation library
  • 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.
  • vcr - Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests
  • Spring - Preloads your rails environment in the background for faster testing and Rake tasks
  • Konacha - Test your Rails application's JavaScript with the mocha test framework and chai assertion library
  • Spork - A DRb server for testing frameworks (RSpec / Cucumber currently).
  • WebMock - Library for stubbing and setting expectations on HTTP requests
  • RR - A test double framework that features a rich selection of double techniques and a terse syntax
  • Bacon - A small RSpec clone
  • 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.

Web Frameworks

Web Servers

  • 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
  • Phusion Passenger - Fast and robust web server and application server
  • Unicorn - Rack HTTP server for fast clients and Unix
  • Thin - Tiny, fast & funny HTTP server
  • Puma - A modern, concurrent web server for Ruby
  • Goliath - A non-blocking Ruby web server framework

Database Drivers

  • ruby-pg - Ruby interface to PostgreSQL 8.3 and later
  • mysql2 - A modern, simple and very fast Mysql library for Ruby (binding to libmysql)
  • SQLite3
  • redis-rb - A Ruby client that tries to match Redis' API one-to-one, while still providing an idiomatic interface
  • 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

Database Tools

  • Seed dump - Rails 4 task to dump (parts) of your database to db/seeds.rb.
  • Seed Fu - Advanced seed data handling for Rails.
  • Machinist - Fixtures aren't fun. Machinist is.

ORM

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

Decorators

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

Http

  • RESTClient - Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions
  • httparty
  • Faraday
  • Sawyer - Secret user agent of HTTP, built on top of Faraday
  • 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.
  • Patron - Patron is a Ruby HTTP client library based on libcurl.
  • Typhoeus - Typhoeus wraps libcurl in order to make fast and reliable requests
  • 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.

API Builder

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

CLI

  • Rake - A make-like build utility for Ruby
  • Thor - A toolkit for building powerful command-line interfaces
  • Commander - The complete solution for Ruby command-line executables
  • Slop - Simple Lightweight Option Parsing
  • Termit - Google Translate with speech synthesis in your terminal
  • Main - A class factory and DSL for generating command line programs real quick

Authentication

  • Devise - A flexible authentication solution for Rails based on Warden
  • Authlogic
  • OmniAuth - A library that standardizes multi-provider authentication utilizing Rack middleware
  • Sorcery
  • Clearance - Small and simple email & password based authenticaton for Rails

OAuth

  • OAuth2 - A Ruby wrapper for the OAuth 2.0 protocol
  • Doorkeeper - An OAuth2 provider for Rails

Authorization

  • CanCanCan
  • Pundit - Minimal authorization through OO design and pure Ruby classes
  • Authority ORM-neutral way to authorize actions in your Rails app.

Log

  • 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.
  • Cabin - Structured+contextual logging experiments in Ruby.
  • Yell - Your Extensible Logging Library
  • MongoDB Logger - MongoDB logger for Rails
  • Fluentd - Fluentd data collector.
  • HttpLog - Log outgoing HTTP requests.
  • Scrolls - Simple logging

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.
  • Delayed::Job — Database backed asynchronous priority queue

Scheduling

  • Whenever - A Ruby gem that provides a clear syntax for writing and deploying cron jobs
  • 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.
  • rufus-scheduler - Job scheduler for Ruby (at, cron, in and every jobs)
  • resque-scheduler - A light-weight job scheduling system built on top of Resque

Data Visualization

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

Template Engine

  • Tilt - Generic interface to multiple Ruby template engines
  • Haml - HTML Abstraction Markup Language
  • Slim
  • Liquid
  • Curly

Assets

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

Markdown Processors

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

Search

  • Thinking Sphinx - A library for connecting ActiveRecord to the Sphinx full-text search tool
  • elasticsearch-ruby
  • Sunspot - A Ruby library for expressive, powerful interaction with the Solr search engine
  • 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.
  • pg_search - Builds ActiveRecord named scopes that take advantage of PostgreSQL's full text search
  • has_scope - Has scope allows you to easily create controller filters based on your resources named scopes.
  • Searchlogic - Object based searching, common named scopes, and other useful named scope tools for ActiveRecord

Internationalization

  • i18n - Ruby Internationalization and localization solution
  • i18n-tasks - Manage missing and unused translations with the awesome power of static analysis
  • 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
  • r18n - Advanced i18n library for Rails, Sinatra, desktop apps, models, works well with complex languages like Russian.

Geolocation

Caching

File Upload

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

Email

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

Form Builder

  • Simple Form - Rails forms made easy
  • 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+

Pagination

  • Kaminari - A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for modern web app frameworks and ORMs
  • will_paginate - A pagination library that integrates with Ruby on Rails, Sinatra, Merb, DataMapper and Sequel

Imagery

  • MiniMagick - A ruby wrapper for ImageMagick or GraphicsMagick command line
  • RMagick - RMagick is an interface between Ruby and ImageMagick

Video

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

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.
  • Websocket-Rails - Creates a built in WebSocket server inside a Rails application with ease. Also support streaming HTTP

HTML/XML Parsing

  • Nokogiri - An HTML, XML, SAX, and Reader parser with XPath and CSS selector support

Web Crawling

  • 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.
  • LinkThumbnailer - Ruby gem that generates thumbnail images and videos from a given URL. Much like popular social website with link preview.
  • anemone - Ruby library and CLI for crawling websites.

Processes and Threads

  • Parallel
  • posix-spawn - Fast Process::spawn for Rubys >= 1.8.7 based on the posix_spawn() system interfaces
  • childprocess - Cross-platform ruby library for managing child processes.
  • forkoff - brain-dead simple parallel processing for ruby

Concurrency

  • EventMachine - An event-driven I/O and lightweight concurrency library for Ruby
  • 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.

Configuration

  • Configatron - Simple and feature rich configuration system for Ruby apps
  • Configus - Helps you easily manage environment specific settings
  • Econfig - Flexible configuration for Rails applications
  • 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.

Error Handling and Monitoring

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

Code Analysis and Metrics

  • SimpleCov - Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites.
  • Rubocop - A static code analyzer, based on the community Ruby style guide.
  • rails_best_practices - A code metric tool for rails projects
  • 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.
  • Brakeman - A static analysis security vulnerability scanner for Ruby on Rails applications.
  • fukuzatsu - Complexity analysis tool with a rich web front-end.

Dashboards

  • Dashing-Rails - The exceptionally handsome dashboard framework for Rails.

Debugging Tools

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

Profiler

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

Third-party APIs

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

CMS

Admin Interface

  • ActiveAdmin - a Ruby on Rails framework for creating elegant backends for website administration
  • RailsAdmin
  • bhf - A simple to use Rails-Engine-Gem that offers an admin interface for trusted user

Static Site Generation

  • 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.

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

  • diaspora* - A privacy aware, distributed, open source social network
  • Discourse - A platform for community discussion. Free, open, simple
  • Forem

E-Commerce and Payments

Analytics

  • Gabba
  • Ahoy - A solid foundation to track visits and events in Ruby, JavaScript, and native apps

RSS

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

DevOps Tools

  • Capistrano - A remote server automation and deployment tool written in Ruby
  • Backup - Provides an elegant DSL in Ruby for performing backups on UNIX-like systems
  • 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
  • Vagrant - Create and configure lightweight, reproducible, and portable development environments
  • Chef - A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure
  • Mina - Really fast deployer and server automation tool.
  • Lita - ChatOps for Ruby: A pluggable chat bot framework usable with any chat service.

Git Tools

  • 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
  • git-auto-bisect - Find the commit that broke master
  • git-whence - Find which merge a commit came from
  • git-spelunk - Dig through git blame history

GUI

Game Development

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

Mobile Development

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

Robotics

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

Natural Language Processing

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

Abstraction

  • Interactor - Interactor provides a common interface for performing complex interactions in a single request
  • Light Service - Series of Actions with an emphasis on simplicity.

Misc

  • Betty - Friendly English-like interface for your command line. Don't remember a command? Ask Betty
  • Foreman - Manage Procfile-based applications
  • Prawn - Fast, Nimble PDF Writer for Ruby
  • Pry - A powerful alternative to the standard IRB shell for Ruby
  • Pry Debugger - Pry navigation commands via debugger (formerly ruby-debug)
  • Guard - A command line tool to easily handle events on file system modifications
  • play ► - Your company's dj
  • Treetop - PEG (Parsing Expression Grammar) parser
  • Yomu - Read text and metadata from files and documents (.doc, .docx, .pages, .odt, .rtf, .pdf)
  • AASM - A library for adding finite state machines to Ruby classes
  • Virtus - Attributes on Steroids for Plain Old Ruby Objects

Resources

  • GitHub Explore
  • Ruby5 - The latest news in the Ruby and Rails community
  • 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
  • RubyFlow - Ruby Programming Community Link Blog
  • RubyDaily - Community driven news
  • Ruby Weekly - A free, once–weekly e-mail round-up of Ruby news and articles

Other Awesome Lists

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

awesome-ruby's People

Contributors

alexlarra avatar datanoob avatar erol avatar foobarwidget avatar geemus avatar gottfrois avatar grosser avatar jimmycuadra avatar juanitofatas avatar kdabir avatar luizkowalski avatar luqipan avatar majjoha avatar markets avatar matfiz avatar miharekar avatar narkoz avatar pawurb avatar rajeshreddym avatar rmoriz avatar shidel-dev avatar shime avatar snkashis avatar sshaw avatar stephencelis avatar tony612 avatar torokmark avatar viktorsr avatar wconrad avatar zhanghandong avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.