This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update CPAN-Meta to CPAN version 2.112580
[perl5.git] / cpan / CPAN-Meta / lib / CPAN / Meta / Feature.pm
1 use 5.006;
2 use strict;
3 use warnings;
4 package CPAN::Meta::Feature;
5 our $VERSION = '2.112580'; # VERSION
6
7 use CPAN::Meta::Prereqs;
8
9
10 sub new {
11   my ($class, $identifier, $spec) = @_;
12
13   my %guts = (
14     identifier  => $identifier,
15     description => $spec->{description},
16     prereqs     => CPAN::Meta::Prereqs->new($spec->{prereqs}),
17   );
18
19   bless \%guts => $class;
20 }
21
22
23 sub identifier  { $_[0]{identifier}  }
24
25
26 sub description { $_[0]{description} }
27
28
29 sub prereqs     { $_[0]{prereqs} }
30
31 1;
32
33 # ABSTRACT: an optional feature provided by a CPAN distribution
34
35
36
37 =pod
38
39 =head1 NAME
40
41 CPAN::Meta::Feature - an optional feature provided by a CPAN distribution
42
43 =head1 VERSION
44
45 version 2.112580
46
47 =head1 DESCRIPTION
48
49 A CPAN::Meta::Feature object describes an optional feature offered by a CPAN
50 distribution and specified in the distribution's F<META.json> (or F<META.yml>)
51 file.
52
53 For the most part, this class will only be used when operating on the result of
54 the C<feature> or C<features> methods on a L<CPAN::Meta> object.
55
56 =head1 METHODS
57
58 =head2 new
59
60   my $feature = CPAN::Meta::Feature->new( $identifier => \%spec );
61
62 This returns a new Feature object.  The C<%spec> argument to the constructor
63 should be the same as the value of the C<optional_feature> entry in the
64 distmeta.  It must contain entries for C<description> and C<prereqs>.
65
66 =head2 identifier
67
68 This method returns the feature's identifier.
69
70 =head2 description
71
72 This method returns the feature's long description.
73
74 =head2 prereqs
75
76 This method returns the feature's prerequisites as a L<CPAN::Meta::Prereqs>
77 object.
78
79 =head1 BUGS
80
81 Please report any bugs or feature using the CPAN Request Tracker.
82 Bugs can be submitted through the web interface at
83 L<http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Meta>
84
85 When submitting a bug or request, please include a test-file or a patch to an
86 existing test-file that illustrates the bug or desired feature.
87
88 =head1 AUTHORS
89
90 =over 4
91
92 =item *
93
94 David Golden <dagolden@cpan.org>
95
96 =item *
97
98 Ricardo Signes <rjbs@cpan.org>
99
100 =back
101
102 =head1 COPYRIGHT AND LICENSE
103
104 This software is copyright (c) 2010 by David Golden and Ricardo Signes.
105
106 This is free software; you can redistribute it and/or modify it under
107 the same terms as the Perl 5 programming language system itself.
108
109 =cut
110
111
112 __END__
113
114
115