Expand All


message <<-MARKDOWN
### Goal

To teach you Ruby we are going to explain the basic building blocks used in the Ruby language and allow you reinforce what you've learned through challenges.

When you have completed this curriculum you should understand:

* The command line and why we use it
* How to run your Ruby code interactively (irb) or from a file
* Simple types like numbers, strings, and booleans
* Data structures like arrays and hashes
* Object concepts like Classes

### Requirements

We're going to be working with:

* Ruby
* A command line program
* A text editor of your choice

Everything should be set up the night before during our
<a href="/installfest">Installfest</a>. Please
ensure you have everything working _before_ you show up for the workshop.

You can verify that you have everything working by following steps 1 through 4 of the <au href="/installfest/checklist">Installfest Completion Checklist</a>, which is copied and pasted below; and trying these steps out in your terminal:

NOTE: When writing a command after the $ sign in your terminal, or in IRB, just press Enter or Return to execute it.

1. To go to the RailsBridge folder: type `cd ~/Desktop/railsbridge`

1. To start the virtual machine: type `vagrant up`

1. To connect to the virtual machine: type  `vagrant ssh`

1. To start the Ruby interactive editor, type `irb`

1. Now try the following in IRB. The `irb(main)>` is the prompt and you don't need to type it:

<div class="console"><pre>
irb(main)> 1 + 2
=> 3
irb(main)> exit

If you can do that, you are probably good to go.

### Format

Each lesson will look like this:

<div style="background: white; border: 1px solid black; padding-left: 4em;">
  <h1 class="doc_title" style="margin-top: 0em;">Step Title</h1>
  <div class="goals">
    <p>Description of the current step.
    <p>Red because big goals are scary.
  <div class="steps">
    <pre class="term">steps to take.</pre>
    <div class="console">
def code_to_write
  1 + 1
    <p>Yellow because we've gotten it done, but we have no clue what's going on.
  <div class="challenge">

    <p>A list of activities to try to reinforce the concepts learned in the lesson</p>

    <p>Orange because it stimulates the brain by <a href="http://www.color-wheel-pro.com/color-meaning.html">increasing its oxygen supply</a>.</p>
  <div class="explanation">
    <p>Details of what the steps actually did. Spell out the cause and effect.
    <p>Green because we can tie everything together now.

next_step "what_is_ruby"