Peter Karman wrote: > > On 09/23/2007 11:24 AM, Matt S Trout wrote: >> On Fri, Sep 21, 2007 at 08:57:35AM -0500, Peter Karman wrote: > >>> CXCM subclasses would need to implement at least the following methods: >>> >>> * new_object - returns CatalystX::CRUD::Object->new() >>> * fetch - returns CatalystX::CRUD::Object->new()->read() >>> * search - returns zero or more CXCO instances as an arrayref >>> * interator - like search() but returns an iterator >>> * count - like search() but returns an integer >> Have you looked at the way the Handel storage stuff works? That already >> supports both DBIC and RDBO so might be an interesting start. >> > > I have looked through it (I had to figure out that Handel-Storage-RDBO is > packaged separately...) and it looks like the base Storage API is much more > complex and full-featured than what I am suggesting. But all the methods I > mention are there in one or another. I'll probably dig in to the DBIC > implementation when/if I need help with that part of CXCM (/me hoping not > write > that all by myself...).
Give me a shout out if you need help deciphering the storage layer madness in Handel. Aside from the add/remove column/constraint/default values/inflate/deflate magic, it's fairly specific to cart-ing. Then again, CRUD is CRUD, even if it's named add_item, delete_item, update(). even when it's doing CRUD on something that isn't a db, like XML: http://search.cpan.org/dist/Handel/lib/Handel/Manual/Cookbook/WritingCustomStorage.pod -=Chris
signature.asc
Description: OpenPGP digital signature
_______________________________________________ List: [email protected] Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
