Initial Commit
This commit is contained in:
153
database/perl/lib/CPAN/Meta/Feature.pm
Normal file
153
database/perl/lib/CPAN/Meta/Feature.pm
Normal file
@@ -0,0 +1,153 @@
|
||||
use 5.006;
|
||||
use strict;
|
||||
use warnings;
|
||||
package CPAN::Meta::Feature;
|
||||
|
||||
our $VERSION = '2.150010';
|
||||
|
||||
use CPAN::Meta::Prereqs;
|
||||
|
||||
#pod =head1 DESCRIPTION
|
||||
#pod
|
||||
#pod A CPAN::Meta::Feature object describes an optional feature offered by a CPAN
|
||||
#pod distribution and specified in the distribution's F<META.json> (or F<META.yml>)
|
||||
#pod file.
|
||||
#pod
|
||||
#pod For the most part, this class will only be used when operating on the result of
|
||||
#pod the C<feature> or C<features> methods on a L<CPAN::Meta> object.
|
||||
#pod
|
||||
#pod =method new
|
||||
#pod
|
||||
#pod my $feature = CPAN::Meta::Feature->new( $identifier => \%spec );
|
||||
#pod
|
||||
#pod This returns a new Feature object. The C<%spec> argument to the constructor
|
||||
#pod should be the same as the value of the C<optional_feature> entry in the
|
||||
#pod distmeta. It must contain entries for C<description> and C<prereqs>.
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub new {
|
||||
my ($class, $identifier, $spec) = @_;
|
||||
|
||||
my %guts = (
|
||||
identifier => $identifier,
|
||||
description => $spec->{description},
|
||||
prereqs => CPAN::Meta::Prereqs->new($spec->{prereqs}),
|
||||
);
|
||||
|
||||
bless \%guts => $class;
|
||||
}
|
||||
|
||||
#pod =method identifier
|
||||
#pod
|
||||
#pod This method returns the feature's identifier.
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub identifier { $_[0]{identifier} }
|
||||
|
||||
#pod =method description
|
||||
#pod
|
||||
#pod This method returns the feature's long description.
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub description { $_[0]{description} }
|
||||
|
||||
#pod =method prereqs
|
||||
#pod
|
||||
#pod This method returns the feature's prerequisites as a L<CPAN::Meta::Prereqs>
|
||||
#pod object.
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub prereqs { $_[0]{prereqs} }
|
||||
|
||||
1;
|
||||
|
||||
# ABSTRACT: an optional feature provided by a CPAN distribution
|
||||
|
||||
=pod
|
||||
|
||||
=encoding UTF-8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
CPAN::Meta::Feature - an optional feature provided by a CPAN distribution
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
version 2.150010
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
A CPAN::Meta::Feature object describes an optional feature offered by a CPAN
|
||||
distribution and specified in the distribution's F<META.json> (or F<META.yml>)
|
||||
file.
|
||||
|
||||
For the most part, this class will only be used when operating on the result of
|
||||
the C<feature> or C<features> methods on a L<CPAN::Meta> object.
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 new
|
||||
|
||||
my $feature = CPAN::Meta::Feature->new( $identifier => \%spec );
|
||||
|
||||
This returns a new Feature object. The C<%spec> argument to the constructor
|
||||
should be the same as the value of the C<optional_feature> entry in the
|
||||
distmeta. It must contain entries for C<description> and C<prereqs>.
|
||||
|
||||
=head2 identifier
|
||||
|
||||
This method returns the feature's identifier.
|
||||
|
||||
=head2 description
|
||||
|
||||
This method returns the feature's long description.
|
||||
|
||||
=head2 prereqs
|
||||
|
||||
This method returns the feature's prerequisites as a L<CPAN::Meta::Prereqs>
|
||||
object.
|
||||
|
||||
=head1 BUGS
|
||||
|
||||
Please report any bugs or feature using the CPAN Request Tracker.
|
||||
Bugs can be submitted through the web interface at
|
||||
L<http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Meta>
|
||||
|
||||
When submitting a bug or request, please include a test-file or a patch to an
|
||||
existing test-file that illustrates the bug or desired feature.
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
=over 4
|
||||
|
||||
=item *
|
||||
|
||||
David Golden <dagolden@cpan.org>
|
||||
|
||||
=item *
|
||||
|
||||
Ricardo Signes <rjbs@cpan.org>
|
||||
|
||||
=item *
|
||||
|
||||
Adam Kennedy <adamk@cpan.org>
|
||||
|
||||
=back
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
This software is copyright (c) 2010 by David Golden, Ricardo Signes, Adam Kennedy and Contributors.
|
||||
|
||||
This is free software; you can redistribute it and/or modify it under
|
||||
the same terms as the Perl 5 programming language system itself.
|
||||
|
||||
=cut
|
||||
|
||||
__END__
|
||||
|
||||
|
||||
# vim: ts=2 sts=2 sw=2 et :
|
||||
Reference in New Issue
Block a user