About
Hi! I'm Avdi Grimm, and this is my software development blog. More...
Books and Screencasts
Objects on Rails
A developer notebook on applying classic Object-Oriented principles to Ruby on Rails projects.
-
Subscribe
-
Recent Posts
Archives
Categories
Meta
Monthly Archives: May 2012
Making Little Classes out of Big Ones (video)
I recently visited the Hashrocket offices in Jacksonville, and while I was there I did a Lunch & Learn talk on the topic of of breaking down too-big classes into smaller pieces. In it I went over pros and cons … Continue reading
Posted in Presentations, Videos
Tagged composition, decomposition, decorators, modules, patterns, refactoring, ruby
Leave a comment
New at WideTeams.com
After a few false starts, my other blog/podcast WideTeams.com is once again cranking away, with new episodes every week! Here are some of the recent episodes, in case you missed them: An interview with Joe Moore of Pivotal Labs, with … Continue reading
Posted in Links
Leave a comment
Creating Cowsays.com Part 2: Unit Tests and Cow Files
Part two in my “live”-style screencast series is now available! Watch me code up a small web app from scratch using test-driven development. In this hour-long episode, I switch from integration testing to unit testing in order to drive out … Continue reading
Posted in Announcements, Screencasts
Tagged bdd, heroku, rails, ruby, screencasts, sinatra, tdd
Leave a comment
Underscores are stupid
I hate underscores. They are ugly. They are like the neon orange belt pack of syntax. Dated and unfashionable no matter what era they are found in. As the former owner of a neon orange belt pack, I feel I … Continue reading
Posted in Rants
64 Comments
FigLeaf Gem Now Available
One of the points I try to make in Objects on Rails is that you don’t need to let other libraries or frameworks dictate the public face of your objects. Just because you use ActiveRecord, for instance, to persist the … Continue reading
A Ruby Conversion Idiom
@CapnKernul writes: [do you know of] a Ruby idiom for converting an object to a type if it isn’t already that type. For example, if you want to only store an attribute of type Foo, you could write an accessor … Continue reading




