From: Kirk Haines Date: 2004-04-29T19:11:33+09:00 Subject: ANN: Kansas 0.0.4 released Version 0.0.4 of Kansas has been released. This one fixes a few bugs, including one that caused problems with DBD::Pg. It also now uses forwardable to support DBI::StatementHandle method calls via it's internal database handle. This makes it easy to step out of Kansas in order to use the database handle directly if you are doing something that is outside of what Kansas supports. Kansas can be found at RubyForge: http://rubyforge.org/projects/kansas There is documentation in progress at http://enigo.com/projects/kansas If you don't know what Kansas is: ----- Kansas is a simple Object-Relational mapping layer for Ruby. It takes a relational schema, accessible via Ruby's DBI layer, and converts it in to a set of Ruby classes, one per table. Each class contains a set of accessors corresponding to the columns in the table. So, given a table: create table CoursesTaken ( name char(30) not null, student_number int(8) not null, primary key (name, student_number) ); Kansas would create a class 'CoursesTaken', containing read and write attributes called 'name' and 'student_number'. Kansas also let's you define the joins between tables (which can be one-to-one or one-to-many). If you access a join in a table, Kansas automatically loads the row in the referenced table, returning the appropriate object. If you assign to a row attribute, Kansas updates the corresponding field in the database. In the default mode, this update is immediate. Setting autocommit off makes Kansas keep all changes pending until a commit is issued. When autocommit is off, changes can also be rolled back, preventing them from being written to the database. ----- As always, I appreciate comments, especially if you are going to use it with a database other than MySQL. In theory it should work with any database that DBI works with, but that theory is far from tested. Thanks, Kirk Haines