On Tue, Oct 30, 2007 at 03:15:03PM +0000, Jonas Alves wrote:
> On 30/10/2007, Jonathan Rockway <[EMAIL PROTECTED]> wrote:
> > 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
> >
> 
> Hi Jonathan,
> I really like your Moose approach, but i would like  a solution that
> just require the user to load_component my  extensions and with that
> get the ResultSet methods for free.

I think the idea of his approach was your common class would generate the
resultset_class invocation.

That's exactly how resultset plugins are going to work once DBIC goes
Moose.

-- 
      Matt S Trout       Need help with your Catalyst or DBIx::Class project?
   Technical Director                    http://www.shadowcat.co.uk/catalyst/
 Shadowcat Systems Ltd.  Want a managed development or deployment platform?
http://chainsawblues.vox.com/            http://www.shadowcat.co.uk/servers/

_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[EMAIL PROTECTED]

Reply via email to