From: sera@... (Francis Hwang) Date: 2004-06-28T08:33:00+09:00 Subject: [ANN] Lafcadio 0.4.0 I've just released Lafcadio 0.4.0, which is the new production release. http://lafcadio.rubyforge.org/ If you don't know what Lafcadio is, it's an object-relational mapping library for MySQL and Ruby. Its features include: * A test-centric design that allows you extensively unit test any program that runs on top of Lafcadio. It comes with a MockObjectStore, which mimics the database and allows you to test database interactions without all the annoying setup code of a real database-driven test. * A block-driven querying language that will cover 99% of the ad-hoc queries you have to do. These queries look like: child_users = object_store.getUsers { |user| user.age.lt( 18 ) } These queries can be run against the MockObjectStore, meaning they can be unit-tested. * In-Ruby triggers that can be written per domain class. These triggers can be tested, too! * Lafcadio makes very few assumptions of how your database was setup, and comes complete with a lot of hooks to allow you to fit your pre-existing database. Because programming's a messy job, and we're always cleaning up after somebody's mistakes (even if they were our own). Lafcadio is production-ready and runs a number of websites, including Rhizome.org, which more than 3 million hits a month. 0.4.0 contains a number of new features over the previous stable releases: * Optimizations which cache retrievals intelligently, and do lazy evaluation of individual fields for cases in which you load rows that have many fields but you only care about a few. * A new syntax for ad-hoc querying which gives you a lot of expressive power with much less typing than before. * A lot less unnecessary code, and a lot more documentation for the code that remains. * The option to define domain class fields in an external XML file. * Lafcadio now uses DBI instead of Ruby/MySQL. * Lafcadio uses log4r for SQL logging. There are a lot of small changes, and a number of warnings for those migrating forward from Lafcadio 0.2.x. Please read the changelog for full details. Francis