No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
spec Make quotes consistent in specs Jul 8, 2015

Learn Ruby Test-First

Ruby Setup

If you've already set up ruby on your own machine, you may skip this step. Otherwise, please see the advanced setup instructions document.

Setting up the Project

You can download a .zip version of this repository by clicking the "Clone or Download" button in the top right on GitHub. Open the directory in your favorite text editor (we recommend Atom) and run your commands at the command line.

Using These Exercises

Each exercise has its own spec file in the spec directory. Open the spec file to read the directions. Each exercise will have you modify a corresponding file in the lib directory.

To run the specs, you'll need to install RSpec. First, run gem install bundler in the root directory of your project. Then, run bundle install. To run a single spec file, run a command like this: bundle exec rspec spec/00_hello_spec.rb. To run all of the specs at once, run bundle exec rspec.

What's happening here? In the root directory of the project, you'll see a file called "Gemfile". This is a manifest of all of the Ruby gems needed to make your project work. bundle install is a command you'll use often to install all of the gems you need to run a program. gem install bundler installs the bundler gem, which is what makes bundle install work. bundle exec rspec simply tells your machine to run the version of RSpec specified in the Gemfile.


Here is a broad survey of many resources you may find useful. Don't try to read them all! Just browse around when you feel like learning more about Ruby.

Learning Ruby via Tests (and/or Interactively)

Learning Ruby and Programming

Online Ruby References

Other good resources


  • Concept by Alex Chaffee
  • Exercises by Alex Chaffee, Sarah Allen, Liah Hansen, Kai Middleton
  • Early quality assurance by Sumiki, Dimitri, Liah, Michael, and Brendan