File Coverage

blib/lib/Software/License/Artistic_1_0.pm
Criterion Covered Total %
statement 17 19 89.4
branch 2 4 50.0
condition 2 3 66.6
subroutine 8 9 88.8
pod 6 6 100.0
total 35 41 85.3


line stmt bran cond sub pod time code
1 10     10   9704 use strict;
  10         24  
  10         283  
2 10     10   60 use warnings;
  10         21  
  10         536  
3             package Software::License::Artistic_1_0;
4             $Software::License::Artistic_1_0::VERSION = '0.104004';
5 10     10   104 use parent 'Software::License';
  10         29  
  10         51  
6             # ABSTRACT: The Artistic License
7              
8             #pod =head1 OPTIONS
9             #pod
10             #pod The Artistic License 1.0 has a sometimes-omitted "aggregation clause" which
11             #pod reads:
12             #pod
13             #pod 8. The name of the Copyright Holder may not be used to endorse or promote
14             #pod products derived from this software without specific prior written
15             #pod permission.
16             #pod
17             #pod By default, this clause will be included. To disable it, include the following
18             #pod pair when instantiating the license:
19             #pod
20             #pod aggregation_clause => 0
21             #pod
22             #pod =head1 METHODS
23             #pod
24             #pod =head2 aggregation_clause
25             #pod
26             #pod This method returns whether the aggregation clause is allowed on this instance.
27             #pod By default this method returns true on instances and dies on the class.
28             #pod
29             #pod =cut
30              
31             sub aggregation_clause {
32 3 50   3 1 2324 exists $_[0]->{aggregation_clause} ? $_[0]->{aggregation_clause} : 1
33             }
34              
35 0     0 1 0 sub url { 'http://www.perlfoundation.org/artistic_license_1_0' }
36              
37             sub name {
38 23     23 1 227 my ($self) = @_;
39              
40 23         43 my $name = 'The Artistic License 1.0';
41 23 50 66     88 if (ref $self and not $self->aggregation_clause) {
42 0         0 $name .= ' without Aggregation Clause';
43             }
44              
45 23         67 return $name;
46             }
47              
48 43     43 1 144 sub meta_name { 'artistic' }
49 42     42 1 99 sub meta2_name { 'artistic_1' }
50 43     43 1 119 sub spdx_expression { 'Artistic-1.0' }
51              
52             1;
53              
54             =pod
55              
56             =encoding UTF-8
57              
58             =head1 NAME
59              
60             Software::License::Artistic_1_0 - The Artistic License
61              
62             =head1 VERSION
63              
64             version 0.104004
65              
66             =head1 PERL VERSION
67              
68             This module is part of CPAN toolchain, or is treated as such. As such, it
69             follows the agreement of the Perl Toolchain Gang to require no newer version
70             of perl than one released in the last ten years. This version may change by
71             agreement of the Toolchain Gang, but for now is governed by the L
72             Consensus|https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/lancaster-consensus.md>
73             of 2013 and the Lyon Amendment of 2023 (described at the linked-to document).
74              
75             Although it may work on older versions of perl, no guarantee is made that the
76             minimum required version will not be increased. The version may be increased
77             for any reason, and there is no promise that patches will be accepted to
78             lower the minimum required perl.
79              
80             =head1 OPTIONS
81              
82             The Artistic License 1.0 has a sometimes-omitted "aggregation clause" which
83             reads:
84              
85             8. The name of the Copyright Holder may not be used to endorse or promote
86             products derived from this software without specific prior written
87             permission.
88              
89             By default, this clause will be included. To disable it, include the following
90             pair when instantiating the license:
91              
92             aggregation_clause => 0
93              
94             =head1 METHODS
95              
96             =head2 aggregation_clause
97              
98             This method returns whether the aggregation clause is allowed on this instance.
99             By default this method returns true on instances and dies on the class.
100              
101             =head1 AUTHOR
102              
103             Ricardo Signes
104              
105             =head1 COPYRIGHT AND LICENSE
106              
107             This software is copyright (c) 2023 by Ricardo Signes.
108              
109             This is free software; you can redistribute it and/or modify it under
110             the same terms as the Perl 5 programming language system itself.
111              
112             =cut
113              
114             __DATA__