So I tried to update my OS X dev box to GemRails 1.2 RC 1 and ran into some issues the other day. For some reason, I just couldn’t seem to get system Rails pointing to the new (.5618) copy. I’m usually a pretty stubborn bastard, but one of the plugins I wanted to use requires exempt_from_layout to be available on ActionController::Base, so I figured I’d use EdgeRails and freeze a copy of 1.2 RC 1 in the project’s vendors directory.
One of the nice things about the way this is all wired together is that you don’t have to be on the very edge of EdgeRails to take advantage of it. In this case, I just need some functionality in 1.2 RC 1 so I can update our existing project and check out using the tag:
rake rails:freeze:edge TAG=rel_1-2-0_RC1
To verify that we’re on EdgeRails now using the 1.2 codebase (so we can hang out with the cool kids), we can run script/about:
Edge Rails revision rel_1-2-0_RC1
Keep in mind that this is different than just doing a regular edge freeze since we know we’re getting exactly what we’re asking for. If we just issued an edge freeze without the TAG parameter we’re going to get the latest and greatest development version which of course means two things: 1) we get the bestest newest coolest stuff, and 2) there’s a good chance that some of that stuff is a bit buggy.
For the moment, we don’t have an immediate need to be running the very latest and will therefore generally tend toward valuing stability over freshness. But as our projects grow and we shed more and more of our noobskin, I’m sure we’ll begin making even more exceptions to that rule, forcing us ever closer to the bleeding edge.
Pun intended, of course.