The Bastards Book of Ruby

My image
  • Author: Dan Nguyen
  • Format: online HTML
  • Price: free

The Bastards Book of Ruby is an introduction to programming and its practical uses for journalists, researchers, scientists, analysts, and anyone else whose job is to seek out, make sense from, and show the hard-to-find data.

This does not require being “good at computers”, having a background in programming, or the desire (yet) to be a full-fledged hacker/developer. It just takes an eagerness to be challenged.

Chapters include:

  • Installation
  • Tweet Fetching
  • Style, Conventions, and Debugging
  • Numbers
  • Strings
  • Variables
  • Methods
  • Methods Part II: RubyGems
  • If and Else
  • Loops
  • Collections
  • Enumerables
  • File input/output
  • Reviewing Tweet Fetching
  • Regular Expressions
  • An Intro to Web Scraping
  • Meet Your Web Inspector
  • Inspecting a Webpage’s Traffic
  • Parsing HTML with Nokogiri
  • Writing a Web Crawler
  • The Mechanize Gem
  • SQL
  • Using Non-Ruby Programs With Ruby
  • Image Manipulation
  • Exception and Error Handling
  • Object-Oriented Concepts
  • Recursion
  • Comparing California’s Costs of Surgery
  • Counting the Jail Logs
  • Gathering the Standard & Poor’s 500 Stock Listings

http://ruby.bastardsbook.com/

Learn Ruby the Hard Way, 3rd Edition

My image
  • Author: Zed A. Shaw
  • Format: online HTML
  • Price: free (hard copy available on Amazon)

In Learn Ruby the Hard Way, Third Edition , you’ll learn Ruby by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you’ll learn how software works; what good programs look like; how to read, write, and think about code; and how to find and fix your mistakes using tricks professional programmers use.

Chapters include:

  • The Setup
  • A Good First Program
  • Comments And Pound Characters
  • Numbers And Math
  • Variables And Names
  • More Variables And Printing
  • Strings And Text
  • More Printing
  • Printing, Printing
  • Printing, Printing, Printing
  • What Was That?
  • Asking Questions
  • Prompting People
  • Parameters, Unpacking, Variables
  • Prompting And Passing
  • Reading Files
  • Reading And Writing Files
  • More Files
  • Names, Variables, Code, Functions
  • Functions And Variables
  • Functions And Files
  • Functions Can Return Something
  • What Do You Know So Far?
  • Read Some Code
  • More Practice
  • Even More Practice
  • Congratulations, Take A Test!
  • Memorizing Logic
  • Boolean Practice
  • What If
  • Else And If
  • Making Decisions
  • Loops And Arrays
  • While Loops
  • Accessing Elements Of Arrays
  • Branches and Functions
  • Designing and Debugging
  • Symbol Review
  • Doing Things To Arrays
  • Dictionaries, Oh Lovely Dictionaries
  • Modules, Classes, And Objects
  • Learning To Speak Object Oriented
  • Is-A, Has-A, Objects, and Classes
  • Gothons From Planet Percal #25
  • Inheritance Vs. Composition
  • You Make A Game
  • A Project Skeleton
  • Automated Testing
  • Advanced User Input
  • Making Sentences
  • Your First Website
  • Getting Input From A Browser
  • The Start Of Your Web Game
  • Advice From An Old Programmer
  • Next Steps
  • Command Line Crash Course

http://learnrubythehardway.org/book/

Ruby Best Practices

My image
  • Author: Gregory Brown
  • Format: online HTML, PDF
  • Price: free (hard copy available on Amazon)

How do you write truly elegant code with Ruby? Ruby Best Practices is for programmers who want to use Ruby as experienced Rubyists do. Written by the developer of the Ruby project Prawn, this concise book explains how to design beautiful APIs and domain-specific languages with Ruby, as well as how to work with functional programming ideas and techniques that can simplify your code and make you more productive. You’ll learn how to write code that’s readable, expressive, and much more.

Chapters include:

  • Driving Code Through Tests
  • Designing Beautiful APIS
  • Mastering the Dynamic Toolkit
  • Text Processing and File Management
  • Functional Programming Techniques
  • When Things Go Wrong
  • Reducing Cultural Barriers
  • Skillful Project Maintenance
  • Writing Backwards Compatible Code
  • Leveraging Ruby’s Standard Library
  • Ruby Worst Practices

Get the book: Ruby Best Practices

Ruby Programming

My image
  • Author: Wikibooks
  • Format: online HTML, PDF
  • Price: free

The book is currently broken down into several sections and is intended to be read sequentially. Getting started will show how to install and get started with Ruby in your environment. Basic Ruby demonstrates the main features of the language syntax. The Ruby language section is organized like a reference to the language. Available modules covers some of the standard library. Intermediate Ruby covers a selection of slightly more advanced topics. Each section is designed to be self contained. The book is a work in progress and is subject to change.

Chapters include:

  • Overview
  • Installing Ruby
  • Ruby editors
  • Notation conventions
  • Interactive Ruby
  • Mailing List FAQ
  • Hello world
  • Strings
  • Alternate quotes
  • Here documents
  • ASCII
  • Encoding
  • Introduction to objects
  • Ruby basics
  • Data types — numbers, strings, hashes and arrays
  • Writing methods
  • Classes and objects
  • Exceptions
  • Lexicology
  • Variables and Constants
  • Literals
  • Operators
  • Control Structures
  • Methods
  • Classes
  • Built-in Functions
  • Predefined Variables (globals)
  • Predefined Classes
  • Available Standard Library Modules
  • Database Interface Modules
  • GUI Toolkit Modules
  • Tk
  • GTK2 Notes on the GTK/Gnome bindings.
  • Qt4
  • Unit testing
  • RubyDoc
  • Rake
  • RubyGems
  • Running Multiple Processes
  • Using Network Sockets
  • Building C Extensions
  • Rails
  • Embedding Ruby within a separate C program

http://en.wikibooks.org/wiki/Ruby_Programming

Just Enough Ruby to Get By

My image
  • Author: Jason Kim
  • Format: online HTML
  • Price: free

The book has two main objectives.

Introduce important topics in Ruby as quickly as possible
Ramp up problem solving skills to tackle real world problems
The book has two kinds of audiences in mind.

Absolute beginners who do not have any programming experience
Experienced programmers who have programmed in other languages such as C, C++ and Java
The book isn’t aimed at seasoned Ruby programmers. Most of the topics covered by the book will be familiar to programmers who work primarily with Ruby. It might serve a different purpose for Ruby programmers as a refresher.

While the book will cover wide varieties of topics in Ruby language and its ecosystem, it should not be considered as an exhaustive reference.

The book is still in the beta stage. It contains errors and the structure of the book will change over time.

Chapters include:

  • Overview
  • Basic Data Types
  • Expressions and Statements
  • Error Handling
  • Simple Methods
  • Iterators
  • Classes

Get the book: Just Enough Ruby to Get By