Jamey Cribbs wrote: > 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 Got another question for you, if you don't mind sparing a couple minutes. Thanks in advance for taking the time. What would be the best/easiest way to accomplish the intent of the following code? require 'mongoose' # Create a class for your table. class Thing < Mongoose::Table end # Create a database instance. db = Mongoose::Database.new # Create new table. Notice how you specify whether a column is indexed or not. db.create_table(:thing) do |tbl| tbl.add_column(:foo,:dunno_what_to_put) end # Add a record. You can also use #create. rec = Thing.new rec.foo = (1..100).to_a rec.save puts Thing.find.first.foo.size #100 # Close database. This will write the indexes out to disk so they can be # initialized quickly next time. db.close