walls.corpus

By Nathan L. Walls

Projects & Code

I have a small number of projects I’m maintaining publicly. Unless otherwise noted, each of the projects is available under the MIT license. See the specific project’s LICENSE file for the specific legal language.

My preference is to work with Ruby and Rails, but a lot of my day-job work is with Perl.

Applications

I have one application publicly available via GitHub. The blogging software I use to drive the site will eventually be there.

Curatious

Curatious is a small, stalled-out Rails 2 application that assists me with curating links on various topics on my site. It is available via GitHub.

Often, there’s a topic I come to understand over time, and that understanding is enhanced by the links I read. I want an easy way to share those links, in a directed fashion, that’s a bit different than blogging. Curatious is my crack at that nut. When I get back to this project in mid-to-late 2011, I’ll be reworking it as a Rails 3 app.

Gems

My gems can be examined at GitHub and can be installed from RubyGems:

My gems are pretty direct ports of centralized code that existed in one or more Rails projects, so they’re pretty plain. I have not yet ported spec tests into the gems.

spec-assist

GitHub project. Available by running:

1
$ sudo gem install spec-assist

This gem provides several helper methods and macros I use with keeping my spec tests DRY.

first-floor

GitHub project. Available by running:

1
$ sudo gem install first-floor

This is a gem that inherits ActionController::Base and defines the Big Seven RESTful methods. It also defines a render_response method that handles template assignment, formats and status. A great way to DRY out controller code if you start with the rspec generator, as I do.

NB: A lot of this code might be interesting to look at from a meta-programming concept. I certainly used it to reinforce those concepts. But, Rails 3 has different ways of accomplishing a lot of the same things. For new projects, I’m looking at the Rails 3 methodology instead of this Gem.