Some months ago I released the first version of Copland, an “Inversion of Control” container for Ruby. I made a few subsequent releases, and then let it languish for a few months, until July when I submitted a proposal to present on it at the International Ruby Conference in October. When my presentation was accepted, I went back and looked at the code…
Although the job I’d done initially wasn’t bad, I could see that there was plenty of room for improvement. I could see that many areas needed a sound refactoring. So I decided to see what it would take to rewrite it.
It only took me about a week or two to rewrite the whole thing from scratch, and at the end of it I wound up with a much more robust, much more testable framework. I released it as Copland 0.6.0—that was about a month ago.
It’s now at 0.7.1, and almost ready for the “beta” label. I’ve also got a utility called “packrat” that generates nicely-formatted documentation from Copland package descriptors—you can see an example here.
But now that Copland is stabilizing, I have no more excuses—I must get to work on my RubyConf presentation. I’m more than a little nervous about it, but reworking Copland and writing packrat have given me lots of good ideas. I just need to get them all written down.