Blog An exploration of the art and
craft of software development

Active Warehouse

Posted by Marty Haught on Monday, December 31, 2007

One of my focuses in December was enhancing ActiveWarehouse. ActiveWarehouse is a pretty nice data warehousing plugin for Rails. We’ve been working with it for a few months now and beyond some rough edges here and there we’ve been impressed. As a young project we had a additional features we needed that hadn’t been developed yet. So being good software citizens we decided to enhance this open source project. It was my focus in late November and December to make some enhancements, specifically in how it outputs table reports. What’s really funny about this story is that Anthony Eden, the creator of ActiveWarehouse, dropped in on our Boulder Ruby meeting in November. I didn’t realize Anthony was the project creator and I missed out chatting with him about ActiveWarehouse after the meeting. This actually was just fine as we talked about skiing, bass playing and surfing instead. Later on I pinged Anthony about some of the changes we were making and seeing if they would be worth giving back to the project. He agreed and I was added to the project with commit rights.

I’ve finished my enhancements which will allow the automatic calculation of summary rows for each column (assuming they’re a numeric value). It took me a bit longer as the view code that outputs the table was not very OO. So most of my work was refactoring the nearly 200 line render method into various models. In the end I ended up with a 40 line render method that was almost all Builder code including the addition of my summary row code.

One other thing that I’ve done is introduced Rspec to the ActiveWarehouse with this new edition. So what’s left before I commit? Well, I need to integrate the render code and my models into the project repository. There’s a bit more work as I need to do some additional refactoring with some core ActiveWarehouse classes as well as make sure my specs play nicely with the rest of the project including the test data. Anyway, expect to see this new addition in the next week or so.

blog comments powered by Disqus