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.

Attachment: 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/

Reply via email to