[Dbix-class] How to inject more then one ResultSetClass in one
ResultSet?
Jonathan Rockway
jon at jrock.us
Tue Oct 30 12:30:34 GMT 2007
Jonas Alves wrote:
> Hi,
>
> I want my dbic components to be able to extend the ResultSet by adding
> base classes when they are loaded.
How about:
package MyApp::ResultSet::FooAndBar
use base qw/MyApp::ResultSet::Foo MyApp::ResultSet::Bar/;
1;
If you want something more dynamic:
package MyApp::RS::Base;
use Moose;
extends 'DBIx::Class::ResultSet';
1;
package MyApp::RS::Role::Foo;
use Moose::Role;
sub foo { }
1;
=
<same idea for bar>
Then you can say:
__PACKAGE__->resultset_class('MyApp::RS::Base');
__PACKAGE__->resultset_class->meta->apply_role('MyApp::RS::Role::Foo');
Have I tested any of this? No. YMMV.
(Dynamically building classes at runtime is probably a Bad Idea anyway. =
I suggest just going with the inheritance method shown first; just
create a separate RS class for each case where you need one.)
Regards,
Jonathan Rockway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 370 bytes
Desc: OpenPGP digital signature
Url : http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20071030/35=
cbe28c/signature.pgp
More information about the DBIx-Class
mailing list