So I've taken the Couch integration I had previously talked about and have done quite a bit of work on it:
- Now has a record integration: - built with two layers -- JSONRecord which is a Record implementation that emits/consumes lift-json AST, and CouchRecord extends that with database access - added Optional versions of every basic record field, to represent nullable/optional fields - Uses box much more extensively, rather than exceptions - More tests - Changed the querying from using case class varargs (QueryParam) to using methods on a Queryable trait - Removed use of toJObject and other exception-ful conversions from JValue to JObject - Tests will automatically skip if Couch is not running locally As far as I'm currently aware, the only missing things are: - the unit tests don't exercise every type of JSONField, other than indirectly via the CouchRecord tests - the unit tests don't exercise every one of the Queryable params I'd like to begin the process of getting this into master, so if some folks could review it and comment I would be very appreciative. In particular, I'd like it if some familiar with record could take a gander at the Optional versions I've added and vet them. Barring anyone noticing wrong with it, I'll create some issues and put the changes up on review board in a couple days. The branch: http://github.com/dpp/liftweb/tree/rmm_wip_couch lift-couchdb as a diff: 51724dcd09f68c658ffc025ded14fe7d22f888fb Optional fields in record: 7bb10ac78f83222b2f1f09e986466a0c4edcca64 Comments? Suggestions? Scathing rebuttals? -Ross -- You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to lift...@googlegroups.com. To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.