
Introduction
The following page is information all about the Ruby programming language. This page was assembled with help from Brant.
Getting Started
- The Beauty of Ruby - A 54 minute feature presentation of the Ruby language.
- Ruby Documentation - Read the documentation but also check out the Ruby in Twenty Minutes tutorial to get a taste of writing and executing Ruby code.
- Ruby Learning - Start by studying the tutorials.
- Ruby Docs - More documentation and resources on Ruby. Check out the standard library documentation.
- Getting Started with Ruby.
- Ruby Downloads - Download the Ruby distribution for your operating system.
Tips and Tricks
- assert_select Cheat Sheet - A helpful aid with testing CSS styling.
- Rails Routes - Check out the Gluttonous Guide and the Cheat Sheet.
- Using the Restful Authentication “store_location” method.
- How to send multipart/alternative e-mail with inline attachments.
- Getting Exif data using ImageScience
- Block level helpers in Ruby on Rails
- Building a Social Network Site in Rails
- Cross Site Reference Forgery - An article that explains how this can happen and what you need to know about it.
Documentation
- Ruby Core API
- Ruby Standard API
- Ruby on Rails API
- RailsBrain - Provides a faster way of navigating the Ruby on Rails API.
- Noobit - A central source for Ruby, Ruby on Rails, and Ruby Gems documentation.
For those into Rails, more information can be found at the Raaum’s Rails Site and The Ruby on Rails Link Library.
News
- Ruby Weekly News.
- Ruby on Rails.
- Railscasts - Screen cast tutorials of code for Ruby on Rails.
- Rails Envy - An entertaining podcast about Ruby on Rails news.
Mailing Lists
Books
- Mr. Neighborly’s Humble Little Ruby Book by Jeremy McAnally.
- Build Your Own Ruby on Rails Web Applications by Patrick Lenz.
- Programming Ruby: The Pragmatic Programmers’ Guide by Dave Thomas, Chad Fowler, and Andy Hunt.
- Ruby Cookbook by Lucas Carlson and Leonard Richardson.
- The Ruby Way: Solutions and Techniques in Ruby Programming (Second Edition) by Hal Fulton.
- Agile Web Development with Rails by Dave Thomas, David Hansson, Leon Breedt, and Mike Clark.
- Ruby for Rails: Ruby Techniques for Rails Developers by David Black
- Rails Recipes by Chad Fowler.
Tools
- TextMate - Lightweight, fast, and costs $30 for the MacOS platform.
- NetBeans - Developed by Sun and free for use. My IDE of choice for Ruby/Rails development. Make sure to download 6.1 if you go this route.
- Aptana - Adds Ruby on Rails support to the Eclipse IDE. Visit the software update site to install directly into Eclipse.
- Dynamic Languages Toolkit (DLTK) - Another way in which to enable Ruby on Rails support within the Eclipse IDE. Here are some tips on installing and configuring the DLTK.
Gems
Ruby Gems allow one to discover and install additional packages that do not come standard with the base Ruby distribution. Here are a few worth considering:
- Facets - What you can’t find in the base Ruby library you might find with this gem.
- Ruby on Rails - A database supported framework for web application development using the Ruby language.
- Merb - A MVC like Rails but faster, more abstract, and lightweight.
- Rack - A modular web server interface for Ruby programs (in case you wanted an alternative to Ruby on Rails).
- Mailfactory - Enables e-mail support. Installation:
gem install mailfactory. - Feed-Normalizer - Normalizes any RSS feed so that you can access from a generic class. Installation:
gem install feed-normalizer. - FasterCVS - A much more efficient CVS. Installation:
gem install fastercsv. - Bishop - A Bayesian classifier library. Installation:
gem install bishop. - Linguistics - A language framework. Installation:
gem install linguistics. - Ferret - Inspired by the Apache Lucene project, Ferret is a text search engine for Ruby.
- Picolena - A Ferret-power document search engine that claims to be lightweight and speedy.
- Active Merchant - Originally developed for Shopify, it adds financial processing to Ruby and/or Rails applications.
- Active Record Extensions - Adds functionality and performance enhancements to Active Record.
- Chronic - A natural language parser for date and time written in pure Ruby code.
- Ruby OSA - Enables Ruby programs to manipulate MacOS applications in much the same fashion as AppleScript.
- GPS Receiver Reader - Use this to interpret and GPS data.
Web Hosts
The following is a list of web hosting providers of Ruby on Rails applications. The list is asssembled in no particular order:
- Heroku
- Morph Exchange
- Hosting Rails
- Engine Yard
- Rails Machine
- SliceHost
- Host Gator
- GoDaddy
- Site5
- Lunarpages
Benchmarks
- Can Rails Scale? Absolutely! - A good read for those not entirely convinced that Rails can’t hold its weight.
- Rails Search Benchmarks - Compares Sphynx, Ferret, and Solr search performance.
Additional Links
- RSpec - A Behavior Driven Design (BDD) testing framework for Ruby and other languages. There is also plug-in support for Rails.
- Rocket Rails - An resource for learning Ruby on Rails, AJAX, and CSS. At the moment, the site is a placeholder but maybe it’ll become interesting in the future.
- Git - A speedy version control system. Read the InfoQ article or study these Git Tutorials for more info.
- Camping
- RIO - A useful Ruby I/O library. Check out the How To documentation as well.
- RubyWorks - A pre-assembled web server production stack for Ruby.
- Streamlined - A Ruby on Rails plugin that enables one to generate interfaces for your ActiveRecords.
- Shoulda - A Rails plug-in that enhances Test::Unit framework for Rails applications.
- MacRuby - A version of Ruby that is built on top of Objective-C for the MacOS. Provides more stability and better performance than the default Ruby distribution.
- Mephisto - Adds blogging capabilities to Rails but does not work with the latest and greatest editions of rails.
- Feather - A Merb-based blogging platform.
- Haml - A Rails plugin that adds a new and possibly more elegant way of building views for your Rails apps.
- Rubinius - A Ruby virtual machine written in C that is loosely based on the Smalltalk-80 architecture.
- MemCached - “A high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.” To learn more, check out these tutorials: Basics for Rails and MemCached in Ruby on Rails.
- Paperclip - While there isn’t a properly dedicated web site for this yet, Paperclip offers an easier way of handling file uploads in Rails. It is built as a plugin to Rails.
- Passenger - a.k.a. mod_rails. Makes deploying Rails application on an Apache server easier.
- Restful Authentication - Adds user authentication to your web app. Built as a plugin to Rails.
- Lighttpd - A web server that aims to be fast, high performance, and excellent and managing CPU load.
- Seed Fu - Go beyond basic fixtures and use this plugin to seed your Rails database.
- TextMate Syntax Highlighting - A Rails plugin that allows you to display code using highlighting as found in TextMate.
- Metrics Fu - A Rails plugin for measuring Rails performance and other metrics.
- Endless Page - Uses AJAX requests to create an endless page as you scroll down. A nice alternative to using pagination.
- Rails iUI - A plugin for Rails that aids in developing your Rails web app for the iPhone.
- Community Engine - A plugin for Rails that enables many of the features you would need in building a social community web site such as tag clouds, RSS feeds, user profiles, etc.


