File Coverage

blib/lib/Mason/Plugin.pm
Criterion Covered Total %
statement 27 27 100.0
branch 4 4 100.0
condition n/a
subroutine 9 9 100.0
pod n/a
total 40 40 100.0


line stmt bran cond sub pod time code
1             package Mason::Plugin;
2             $Mason::Plugin::VERSION = '2.23';
3 20     20   10300 use Mason::PluginRole;
  20         37  
  20         155  
4 20     20   95668 use Mason::Util qw(can_load);
  20         40  
  20         1270  
5 20     20   95 use Class::Load;
  20         33  
  20         719  
6              
7 20     20   7722 method requires_plugins ($plugin_class:) {
  253     253   373  
  253         295  
8 253         1157 return ();
9             }
10              
11 20     20   6775 method expand_to_plugins ($plugin_class:) {
  254     254   421  
  254         299  
12 254         822 return ( $plugin_class,
13             Mason::PluginManager->process_plugin_specs( [ $plugin_class->requires_plugins ] ) );
14             }
15              
16 20     20   7084 method get_roles_for_mason_class ($plugin_class: $name) {
  467     467   712  
  467         651  
  467         516  
17 467         1383 my @roles_to_try = join( "::", $plugin_class, $name );
18 467 100       1257 if ( $name eq 'Component' ) {
19 47         174 push( @roles_to_try, join( "::", $plugin_class, 'Filters' ) );
20             }
21 467 100       747 my @roles = grep { Class::Load::is_class_loaded($_) || can_load($_) } @roles_to_try;
  514         3285  
22 467         1789 return @roles;
23             }
24              
25             1;