Sha256: 6f89636a2f1ade892e50e997ae792688e99ead6469af8af45d404aed954da2d3

Contents?: true

Size: 1.79 KB

Versions: 1

Compression:

Stored size: 1.79 KB

Contents

# explain

Explain explains your Ruby code in natural language. It is intended to be a
tool for beginners who aren't yet very familiar with programming.

It is a work in progress (a bit rough on the edges), so don't be mad. It will
get better over time ;)

(Explain runs only on Rubinius.)

## Installation

Install Rubinius if you don't have it yet:

    $ rvm install rbx-head
    $ rvm use rbx-head

Install explain as a gem:

    $ gem install explain

## Usage

Given some example Ruby code, for example this in `examples/person.rb`:

```ruby
class Person
  def walk(distance)
    @distance += distance
    @hunger += 2
  end

  def eat(food)
    @hunger -= food.nutritional_value
  end
end
```

We execute `explain` from the command line:

    $ explain examples/person.rb

And it will output:

    Let's describe the general attributes and behavior of any Person.

    A Person can **walk**, given a specific distance. This is described as
    follows: its distance will be its distance plus what we previously defined as
    `distance`. Finally we return its hunger will be its hunger plus the number
    2.. 

    A Person can **eat**, given a specific food. This is described as follows:
    Finally we return its hunger will be its hunger minus the result of calling
    **nutritional_value** on what we previously defined as `food`..
    And with this we're done describing a Person.

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

## Who's this

This was made by [Josep M. Bach (Txus)](http://txustice.me) under the MIT
license. I'm [@txustice](http://twitter.com/txustice) on twitter (where you
should probably follow me!).

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
explain-0.0.1 README.md