Release Name: 0.5.2
Notes:
A few big changes:
* all method and accessor names are now underscored instead of camel-cased;
this introduces a lot of short-term pain but should make Lafcadio code
easier on the eyes.
* You can use Query.infer to create a query without using it yet:
query = Query.infer( User ) { |user| user.fname.equals( "Francis" ) }
and you can use Query#and and Query#or to modify it in place:
query = query.and { |user| user.lname.equals( "Hwang" ) }
* You can also query against the primary key field, and boolean fields
implicitly:
old_users = object_store.get_users { |user| user.pk_id.lt( 100 ) }
administrators = object_store.get_users { |user| user.administrator }
And a handful of smaller changes. See the changelog for more.
Changes:
0.5.2 -- December 1 2004
* WARNING: Changed all method and accessor names from camel-case to underscore.
* WARNING: Month.new( month, year ) is now Month.new( year, month )
* fixed bug where Query::Equals was failing with a field with a different db
field name
* fixed bug where Query#order_by was failing in the MockObjectStore
* fixed bug where ContextualService was accepting both #setObjectStore and
#set_object_store. Now it only accepts #set_object_store
* Merged ObjectType back into DomainObject
* Added PrimaryKeyField which is included automatically with a DomainObject's
fields
* Can do direct query comparisons with a primary key:
ObjectStore#get_users { |user| user.pk_id.gt( 100 ) }
* You can generate a query without executing it by using Query.infer, and
then change it interactively with Query#and and Query#or.
* DomainObject's selectively dispatch to ObjectStore: Client#get_invoices
* Can run Lafcadio without RubyGems
* Query inference handles implicit evaluations of boolean fields:
ObjectStore#get_users { |user| user.administrator }
|