File Coverage

blib/lib/Acme/CPANModules/Roles.pm
Criterion Covered Total %
statement 6 6 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 8 8 100.0


line stmt bran cond sub pod time code
1             package Acme::CPANModules::Roles;
2              
3 1     1   359282 use strict;
  1         2  
  1         46  
4              
5 1     1   639 use Acme::CPANModulesUtil::Misc;
  1         645  
  1         160  
6              
7             our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
8             our $DATE = '2023-10-31'; # DATE
9             our $DIST = 'Acme-CPANModules-Roles'; # DIST
10             our $VERSION = '0.002'; # VERSION
11              
12             our $LIST = {
13             summary => "List of libraries for doing roles with Perl",
14             description => <<'_',
15              
16             Roles are a way to write classes by composing them from simpler components,
17             instead of using inheritance from parent classes.
18              
19             The Perl core does not provide a role mechanism for you, but there are several
20             role frameworks you can choose in Perl. This list orders them from the most
21             lightweight.
22              
23             . Basic role support plus method modifiers (`before`, `after`,
24             `around`).
25              
26             . Based on Role::Tiny, it adds attribute support. Suitable if you
27             use as your object system.
28              
29             . Despite having less features than Role::Tiny (no method
30             modifiers), Role::Basic starts a bit slower because it loads some more modules.
31              
32             . Suitable only if you are already using as your
33             object system.
34              
35             . Offers the most features (particularly the meta protocol), but
36             also the heaviest. Suitable only if you are already using as your
37             object system.
38             _
39             };
40              
41             Acme::CPANModulesUtil::Misc::populate_entries_from_module_links_in_description;
42              
43             1;
44             # ABSTRACT: List of libraries for doing roles with Perl
45              
46             __END__