CCCP-AttributeInspector version 0.01
====================================

CCCP::AttributeInspector - show list methods and attributes from package

SYNOPSIS

    package Bar;
    use base qw[CCCP::AttributeInspector];
    sub new {}
    sub bar_method1 :Chain :CustomBar('any_custom') {}
    sub bar_method2 :CustomBar :AbsPath('/some/abs/path') {}
    1;
    
    # ------------------
    
    package Foo;
    use base qw[CCCP::AttributeInspector];
    sub new {}
    sub foo_method1 :Local :Custom('any_custom') {}
    sub foo_method2 :Private :Custom('some_attribute') {}
    1;    
    
    # ------------------
    
    package SomeDispatcher;
    use Foo;
    use Bar;
    
    my @methods = Foo->all_methods();
    #  'foo_method1'
    #  'foo_method2'
    #  'new'

    @methods = Foo->att_methods();
    #  'foo_method1'
    #  'foo_method2'    
    
    @methods = Bar->all_methods()
    #  'bar_method2'
    #  'bar_method1'
    #  'new'
    
    @methods = Bar->att_methods()
    #  'bar_method2'
    #  'bar_method1'
    
    @methods = Bar->att_methods(['Chain','CustomBar'])
    #  'bar_method1'
    
    @methods =  Bar->att_methods(['CustomBar'])
    #  'bar_method2'
    #  'bar_method1'   
    
    @methods =  Bar->att_methods({'AbsPath' => '/some/abs/path'})
    #  'bar_method2'
    
    my $att_list =  Bar->get_attributes('bar_method2')
    #  HASH(0xf126f0)
    #   'AbsPath' => '/some/abs/path'
    #   'CustomBar' => ''