You can download it from: http://rubyforge.org/projects/mongoose/
*What's New*
Well, there's a lot of new stuff in this release, and some old stuff put back in, as well. John Long pointed out that the use of #instance_eval in the 0.2.0 release would be problematic because the query block would no longer have access to instance variables from the calling object. After looking at this all weekend and getting feedback from a number of people, I have decided to go back to the previous query syntax whereby you specify the table class as a block parameter and qualify each column name with the table class name. So, it's back to:
Dog.find { |dog| dog.breed == "German Shepard" }
instead of:
Dog.find { breed == "German Shepard" }
Besides this one step back, there have been a lot of steps forward. The query engine code is totally re-written, thanks to input and code ideas from Logan Capaldo. I have added a bunch of methods from ActiveRecord, including dynamic finder methods like Table.find_by_user_name. Additionally, I have added Table.import and Table.export methods that allow you to get data in and out of a table via CSV. So, grab the latest release and let me know what you think.
Documentation is still light, so the best way to learn is to look in the "example" directory and at the unit tests.
*What is Mongoose*
Mongoose is a database management system written in Ruby. It has an ActiveRecord-like interface, uses Skiplists for its indexing, and Marshal for its data serialization. I named it Mongoose, because, like Rudyard Kipling's Rikki-Tikki-Tavi, my aim is for it to be small, quick, and friendly.
You can find rudimentary documentation in the README file and some sample scripts in the example directory.
Jamey Cribbs
jcribbs@netpromi.com