Oleg Pronin wrote: > No, i can't use that. i cannot change user application. This will be just a > loadable component. > > > 2007/4/27, Jess Robinson <[EMAIL PROTECTED]>: >> >> >> >> >> On Fri, 27 Apr 2007, Oleg Pronin wrote: >> >> > Could you please give more details :) >> > >> > 2007/4/27, Jess Robinson <[EMAIL PROTECTED]>: >> >> >> >> >> >> >> >> >> >> On Thu, 26 Apr 2007, Oleg Pronin wrote: >> >> >> >> > Hello! >> >> > >> >> > I want to create custom resultset class that will allow caching (in >> >> > memcached) functionality. >> >> > >> >> > For example, >> >> > @users = $rs->search(undef, {order_by => 'rating', rows => 10, >> memcache >> >> => >> >> > 60}); >> >> > >> >> > This will give stored in memcached and automatically updated every >> 60 >> >> > seconds top10 users list. >> >> > >> >> > To do that i need every resultsource to use my resultset class. >> >> > Cookbook says i've got to >> >> > $source->resultset_class('My::ResultSet::Class'); >> >> > But i dont want to write it in every result source! >> >> > >> >> > Is there a good way to set my custom resultset to all registered >> result >> >> > sources? >> >> > >> >> >> >> Yes, its a perl feature called a "base class" ;) >> >> >> >> Jess >> >> >> >> package My::DBIC::Base; >> use base 'DBIx::Class'; >> >> __PACKAGE__->load_components('Core'); >> __PACKAGE__->table(''); >> __PACKAGE__->resultset_class('My::ResultSet'); >> >> 1; >> >> ... >> >> package My::TableClass; >> use base 'My::DBIC::Base'; >> >> __PACKAGE__->table('mytable'); >> >> 1; >> >> -- standard perl inheritance, nothing more exciting than that. >> >> Jess
foreach my $source ($schema->sources) { $source->resultset_class('YourResultSetClass'); }; That should work if you only want to alter the behavour of the current schema, and you can't/don't want to alter the classes for all instances.
signature.asc
Description: OpenPGP digital signature
_______________________________________________ List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class Wiki: http://dbix-class.shadowcatsystems.co.uk/ IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/ Searchable Archive: http://www.mail-archive.com/dbix-class@lists.rawmode.org/