[Dbix-class] Components, overrides, and method call ordering
    Matt S Trout 
    dbix-class at trout.me.uk
       
    Sun Aug 17 18:45:55 BST 2008
    
    
  
On Tue, Aug 12, 2008 at 09:18:26AM +1000, Jason Galea wrote:
> Hi all,
> 
> I have a component which overrides row methods and I have overridden one of 
> these methods in the table ResultSource as well.
That makes no sense. Row isn't 'isa' ResultSource.
> The method in the 
> ResultSource is being called before the method in the component whereas I 
> need the component method to be called first.
> 
> Is there a simple way the affect the order in which these methods are 
> called?
DBIx::Class uses C3 dispatch currently so method call ordering is resolved
via linearizing @ISA. If you want A's overrides to happen before B's, make
sure A is first in @ISA. If A already depends on B, just have it subclass
B and then you're guaranteed.
-- 
      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/
    
    
More information about the DBIx-Class
mailing list