[Catalyst] Devel::Nextalyzer - making Multiple Inheritance and NEXT less scary

Sebastian Riedel sri at oook.de
Mon Aug 1 10:37:23 CEST 2005


Hi,

I've released Devel::Nextalyzer, it's based on Matts very nice  
nextalyzer.pl and dumps to STDERR after analyzing the calling class  
on "import".

In a Catalyst app just add these lines to get a dump at startup.
It's important for Catalyst that you "import" at runtime, cause  
plugins are loaded in "setup". (You normally just do "use  
Devel::Nextalyzer;")

     package MyApp;
     use Catalyst qw/-Debug/;
     MyApp->setup;
     require Devel::Nextalyzer;
     import Devel::Nextalyzer;
     1;

Here's an example formatted dump.


Devel::Nextalyzer analysis for class "Foo":
.=-------------------------+------------------------- 
+------------------------=.
| Class                    | Provided Methods        | Overloaded  
Methods      |
|=-------------------------+------------------------- 
+------------------------=|
| Catalyst::Setup          | setup_components        |  
setup                   |
|                          | setup_dispatcher         
|                         |
|                          | setup_engine             
|                         |
|                          | setup_home               
|                         |
|                          | setup_log                
|                         |
|                          | setup_plugins            
|                         |
| Class::Accessor          | foo                      
|                         |
|                          | bar                      
|                         |
|                          | new                      
|                         |
|                          | mk_accessors             
|                         |
|                          | _mk_accessors            
|                         |
|                          | mk_ro_accessors          
|                         |
|                          | mk_wo_accessors          
|                         |
|                          | foo                      
|                         |
|                          | set                      
|                         |
|                          | get                      
|                         |
|                          | make_accessor            
|                         |
|                          | make_ro_accessor         
|                         |
|                          | make_wo_accessor         
|                         |
|                          | new                      
|                         |
|                          | get                      
|                         |
|                          | set                      
|                         |
|                          | email                    
|                         |
| Class::Accessor::Fast    | make_accessor            
|                         |
|                          | make_ro_accessor         
|                         |
|                          | make_wo_accessor         
|                         |
| Class::Data::Inheritable | Suitcase                 
|                         |
|                          | mk_classdata             
|                         |
| Catalyst::Base           | MODIFY_CODE_ATTRIBUTES  |  
FETCH_CODE_ATTRIBUTES   |
|                          | config                   
|                         |
|                          | process                  
|                         |
| Catalyst                 | default                  
|                         |
|                          | product                  
|                         |
|                          | debug                    
|                         |
|                          | plugin                   
|                         |
'=-------------------------+------------------------- 
+------------------------='
Overloaded but not provided methods (probably harmless):
.=---------------------------------------------------------------------- 
-----=.
|  
setup                                                                    
    |
|  
FETCH_CODE_ATTRIBUTES                                                    
    |
'=---------------------------------------------------------------------- 
-----='

Methods not found in source code (mixins, probably harmless):
.=-------------------------------------- 
+-------------------------------------=.
| Class                                 |  
Method                               |
|=-------------------------------------- 
+-------------------------------------=|
| Catalyst::Base                        |  
FETCH_CODE_ATTRIBUTES                |
| Catalyst::Setup                       |  
setup                                |
'=-------------------------------------- 
+-------------------------------------='


--
sebastian




More information about the Catalyst mailing list