visionmedia/terminal-table — pull request #12 by rrrene (2011-10-17 13:45:40+00:00)
Title: Add arbitrary dimensions (and clean up code)

Added the ability to set `width` for a table:

```ruby
puts
user_table = table do |v|
v.width = 80
v.headings = 'First Name', 'Last Name', 'Email'
v << %w( TJ Holowaychuk tj@vision-media.ca )
v << %w( Bob Someone bob@vision-media.ca )
v << %w( Joe Whatever bob@vision-media.ca )
end
puts user_table
```

Now gives a nice wide table:

```
+----------------------+-----------------------+-------------------------------+
| First Name | Last Name | Email |
+----------------------+-----------------------+-------------------------------+
| TJ | Holowaychuk | tj@vision-media.ca |
| Bob | Someone | bob@vision-media.ca |
| Joe | Whatever | bob@vision-media.ca |
+----------------------+-----------------------+-------------------------------+
````

In last commits, I cleaned up the code and removed some unnecessary monkey-patching. Patching Enumerable and Object (!) for a method that we only use in one place seemed a bit over the top as the project grows to a really nice gem.