Skip to content

Latest commit

 

History

History
215 lines (151 loc) · 16.3 KB

README.md

File metadata and controls

215 lines (151 loc) · 16.3 KB

Ruby Bookmarks

The goal of the project is to aggregate essential Ruby and Ruby on Rails resources into a single well-structured, and keep it up to date. It was inspired by frontend-dev-bookmarks — a community-driven bookmarks collection for frontend developers. ★ stands for Editors' Choice.

Sharing and pull requests are very much appreciated!

Books

For beginners and intermediate level developers

Advancing Ruby knowledge

Specialized

Ruby on Rails

For beginners c

Advanced level

Blogs

Screencasts and courses

Other Learning Materials

  • TryRuby — online Ruby console and 15 minute interactive Ruby tutorial
  • Project Euler — a huge amount of programming problems to learn any language
  • PuzzleNode — a site for coders who enjoy to work on challenging problems, and is inspired by similar efforts such as Project Euler and the Internet Problem Solving Contest
  • Ruby on Rails Guides — These guides are designed to make you immediately productive with Rails, and to help you understand how all of the pieces fit together
  • Ruby Koans — The Koans walk you along the path to enlightenment in order to learn Ruby. The goal is to learn the Ruby language, syntax, structure, and some common functions and libraries. We also teach you culture. Testing is not just something we pay lip service to, but something we live. It is essential in your quest to learn and do great things in the language.
  • RubyMonk — Free, interactive tutorials to help you discover Ruby idioms, in your browser!

Style Guides

Podcasts

Tools

IDEs and text editors

  • StackOverflow: What Ruby IDE do you prefer?
  • Sublime Text — one of the best text editors for coding. Here are some essential add-ons:
    • Package Control — Sublime Text package manager that makes it exceedingly simple to find, install and keep packages up-to-date
    • Soda Theme — Dark and light custom UI themes for Sublime Text
    • RSpec plugin
    • ApplySyntax — a plugin for Sublime Text 2 and 3 that allows you to detect and apply the syntax of files that might not otherwise be detected properly. For example, files with the .rb extension are usually Ruby files, but when they are found in a Rails project, they could be RSpec spec files, Cucumber step files, Ruby on Rails files (controllers, models, etc), or just plain Ruby files. This is actually the problem I was trying to solve when I started working on this plugin.
  • RubyMine — Intelligent Ruby and Rails IDE

Environment management

  • rbenv — Use rbenv to pick a Ruby version for your application and guarantee that your development environment matches production. Put rbenv to work with Bundler for painless Ruby upgrades and bulletproof deployments.
  • 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.

Ruby distributions

  • RubyInstaller — a self-contained Windows-based installer that includes the Ruby language, an execution environment, important documentation, and more.
  • RubyStack — Bitnami Ruby Stack provides a complete development environment for Ruby on Rails that can be deployed in one click. It includes the latest stable release of Ruby, RVM, Rails, Apache, NGinx, MySQL, SQLite, Git and Subversion, Memcache and Varnish, Sphinx, PHP and phpMyAdmin.

Other tools

  • Pow! — a zero-config Rack server for Mac OS X
  • Pry — an IRB alternative and runtime developer console
  • Reek — code smell detection for Ruby
  • Dash — an API Documentation Browser and Code Snippet Manager. Dash stores snippets of code and instantly searches offline documentation sets for 150+ APIs, including Ruby core libraries, and Ruby on Rails.

Quizes, tests, exams

Gems

Web Frameworks

  • Ruby on Rails — an open source full-stack framework web application framework.
  • Sinatra — Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.
  • Padrino — a ruby framework built upon the Sinatra web library, created to make it fun and easy to code more advanced web applications while still adhering to the spirit that makes Sinatra great!

API

  • RABL — Ruby API Builder Language is a Rails and Padrino ruby templating system for generating JSON, XML, MessagePack, PList and BSON
  • Grape — An opinionated micro-framework for creating REST-like APIs in Ruby

Rails

  • Simple Form — forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup
  • ResqueMailer — Rails plugin for sending asynchronous email with ActionMailer and Resque
  • Paperclip — easy file attachment management for ActiveRecord
  • Peek — status bar with debug information for Rails apps
  • Jammit — 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, Closure Compiler, and UglifyJS compatibility, ahead-of-time gzipping, built-in JavaScript template support, and optional Data-URI / MHTML image and font embedding.
  • Thinking Sphinx — a library for connecting ActiveRecord to the Sphinx full-text search tool, and integrates closely with Rails (but also works with other Ruby web frameworks), http://pat.github.com/thinking-sphinx
  • CarrierWave — classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks
  • Kaminari — A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for modern web app frameworks and ORMs
  • dotenv — loads environment variables from .env into ENV in development

Authentication and Authorization

  • Devise — flexible authentication solution for Rails with Warden
  • OmniAuth — a flexible authentication system utilizing Rack middleware
  • CanCanCan — a continuation of the dead CanCan project. Our mission is to keep CanCan alive and moving forward, with maintenance fixes and new features.
  • Authlogic — a clean, simple, and unobtrusive ruby authentication solution

Background Jobs

  • Delayed::Job — database backed asynchronous priority queue
  • Resque — a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later
  • 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.

Security

  • Brakeman — a static analysis security vulnerability scanner for Ruby on Rails applications

Graphics

  • RMagick — an interface to the ImageMagick and GraphicsMagick image processing libraries
  • MiniMagick — a ruby wrapper for ImageMagick or GraphicsMagick command line

Parsers / Text Processing

HTML, XML

  • Nokogiri — an HTML, XML, SAX, and Reader parser. Among Nokogiri’s many features is the ability to search documents via XPath or CSS3 selectors.

CSS

  • SASS — an extension of CSS3, 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.
  • LESS — Leaner CSS, in your browser or Ruby.

Markdown processors

Template engines

  • Mustache — Logic-less Ruby templates. A framework-agnostic way to render logic-free views.
  • HAML — Haml (HTML abstraction markup language) is based on one primary principle: markup should be beautiful. It’s not just beauty for beauty’s sake either; Haml accelerates and simplifies template creation down to veritable haiku.

Testing

  • RSpec — RSpec meta-gem that depends on the other components
  • betterspecs.org — RSpec best practices
  • Cocumber — a tool for running automated tests written in plain language
  • shoulda
  • factory_girl — A library for setting up Ruby objects as test data
  • Capybara — Capybara helps you test web applications by simulating how a real user would interact with your app. It is agnostic about the driver running your tests and comes with Rack::Test and Selenium support built in. WebKit is supported through an external gem.
  • Mocha — A Ruby library for mocking and stubbing

Deployment and Configuration Management

  • Capistrano — remote multi-server automation tool
  • Chef — a systems integration framework, built to bring the benefits of configuration management to your entire infrastructure

Misc

  • Foreman — manage Procfile-based applications
  • Prawn — fast, nimble PDF generation
  • Dallihttps://github.com/mperham/dalli
  • Active Merchant — Active Merchant is an extraction from the ecommerce system Shopify. Shopify's requirements for a simple and unified API to access dozens of different payment gateways with very different internal APIs was the chief principle in designing the library.
  • EventMachine — fast, simple event-processing library for Ruby programs
  • Phusion Passenger — A fast and robust web server and application server for Ruby, Python and Node.js, https://phusionpassenger.com