Project: Ruby


You’ve had plenty of opportunity to read Ruby and learn Ruby and now it’s time to build Ruby. In this project you’ll be downloading a bunch of test files and your job will be to make them pass by writing code. It’s a great way to start writing some real Ruby scripts and learn some testing at the same time.

This exercise will involve a lot of figuring things out. There aren’t very detailed instructions for what to do, just the batch of tests that you need to make pass. You need to look at those tests, figure out what they want based on the error messages you receive, and write the code to pass them. It can be tricky to get the hang of at first but once you start making those tests go green it starts feeling pretty cool.


  1. Go to the learn_ruby repo here and follow the installation instructions in the README.
  2. Follow the “Getting started with the exercises” section of the README to find out how to run and make the tests pass.
  3. Do the following exercises. You’ll know you’re done when all the tests pass! The exercises start easy but some of them can be pretty challenging, so good luck!
    1. 00_hello
    2. 01_temperature
    3. 02_calculator
    4. 03_simon_says
    5. 04_pig_latin
    6. 05_book_titles
    7. 06_timer
  4. Push your project to Github

Student Solutions

Submit a link below to this file on the ruby course github repo with your files in it by using a pull request. See the section on Contributing for how.

Show Student Solutions

Additional Resources

This section contains helpful links to other content. It isn’t required, so consider it supplemental for if you need to dive deeper into something.

  • contains detailed best practices for writing your own tests. Overkill for this assignment, but potentially interesting for the future.
  • Idiosyncratic Ruby describes the sprintf method used in the 06_timer problem.

Web Development 101

Project: Ruby

Have a question?

Chat with our friendly Odin community in our Discord chatrooms!

Open Discord

Are you interested in accelerating your web development learning experience?

Get started


  • 5-6 months

    5-6 months

  • Job Guarantee

    Job Guarantee

  • 1-on-1 Mentorship

    1-on-1 Mentorship