Initial Commit
This commit is contained in:
52
database/perl/lib/URI/cpan/author.pm
Normal file
52
database/perl/lib/URI/cpan/author.pm
Normal file
@@ -0,0 +1,52 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
package URI::cpan::author;
|
||||
$URI::cpan::author::VERSION = '1.007';
|
||||
use parent qw(URI::cpan);
|
||||
|
||||
sub validate {
|
||||
my ($self) = @_;
|
||||
|
||||
my ($author, @rest) = split m{/}, $self->_p_rel;
|
||||
|
||||
Carp::croak "invalid cpan URI: trailing path elements in $self" if @rest;
|
||||
|
||||
Carp::croak "invalid cpan URI: invalid author part in $self"
|
||||
unless $author =~ m{\A[A-Z]+\z};
|
||||
}
|
||||
|
||||
sub author {
|
||||
my ($self) = @_;
|
||||
my ($author) = split m{/}, $self->_p_rel;
|
||||
return $author;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=pod
|
||||
|
||||
=encoding UTF-8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
URI::cpan::author
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
version 1.007
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Ricardo SIGNES <rjbs@cpan.org>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
This software is copyright (c) 2009 by Ricardo SIGNES.
|
||||
|
||||
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
|
||||
37
database/perl/lib/URI/cpan/dist.pm
Normal file
37
database/perl/lib/URI/cpan/dist.pm
Normal file
@@ -0,0 +1,37 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
package URI::cpan::dist;
|
||||
$URI::cpan::dist::VERSION = '1.007';
|
||||
use parent qw(URI::cpan);
|
||||
|
||||
sub validate { die }
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=pod
|
||||
|
||||
=encoding UTF-8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
URI::cpan::dist
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
version 1.007
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Ricardo SIGNES <rjbs@cpan.org>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
This software is copyright (c) 2009 by Ricardo SIGNES.
|
||||
|
||||
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
|
||||
134
database/perl/lib/URI/cpan/distfile.pm
Normal file
134
database/perl/lib/URI/cpan/distfile.pm
Normal file
@@ -0,0 +1,134 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
package URI::cpan::distfile;
|
||||
# ABSTRACT: cpan:///distfile/AUTHOR/Dist-1.234.tar.gz
|
||||
$URI::cpan::distfile::VERSION = '1.007';
|
||||
use parent qw(URI::cpan);
|
||||
|
||||
use Carp ();
|
||||
use CPAN::DistnameInfo;
|
||||
|
||||
#pod =head1 SYNOPSIS
|
||||
#pod
|
||||
#pod This URL refers to a file in an author directory on the CPAN, and expects the
|
||||
#pod format AUTHOR/DISTFILE
|
||||
#pod
|
||||
#pod =head1 METHODS
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub validate {
|
||||
my ($self) = @_;
|
||||
|
||||
my (undef, undef, $author, $filename) = split m{/}, $self->path, 4;
|
||||
|
||||
Carp::croak "invalid cpan URI: invalid author part in $self"
|
||||
unless $author =~ m{\A[A-Z][-0-9A-Z]*\z};
|
||||
}
|
||||
|
||||
#pod =head1 dist_name
|
||||
#pod
|
||||
#pod This returns the name of the dist, like F<CGI.pm> or F<Acme-Drunk>.
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub dist_name {
|
||||
my ($self) = @_;
|
||||
my $dist = CPAN::DistnameInfo->new($self->_p_rel);
|
||||
my $name = $dist->dist;
|
||||
|
||||
$name =~ s/-undef$// if ! defined $dist->version;
|
||||
|
||||
return $name;
|
||||
}
|
||||
|
||||
#pod =head1 dist_version
|
||||
#pod
|
||||
#pod This returns the version of the dist, or undef if the version can't be found or
|
||||
#pod is the string "undef"
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub dist_version {
|
||||
my ($self) = @_;
|
||||
CPAN::DistnameInfo->new($self->_p_rel)->version;
|
||||
}
|
||||
|
||||
#pod =head1 dist_filepath
|
||||
#pod
|
||||
#pod This returns the path to the dist file. This is the whole URL after the
|
||||
#pod C<distfile> part.
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub dist_filepath {
|
||||
my ($self) = @_;
|
||||
$self->_p_rel;
|
||||
}
|
||||
|
||||
#pod =head1 author
|
||||
#pod
|
||||
#pod This returns the name of the author whose file is referred to.
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub author {
|
||||
my ($self) = @_;
|
||||
my ($author) = $self->_p_rel =~ m{^([A-Z]+)/};
|
||||
return $author;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=pod
|
||||
|
||||
=encoding UTF-8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
URI::cpan::distfile - cpan:///distfile/AUTHOR/Dist-1.234.tar.gz
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
version 1.007
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
This URL refers to a file in an author directory on the CPAN, and expects the
|
||||
format AUTHOR/DISTFILE
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head1 dist_name
|
||||
|
||||
This returns the name of the dist, like F<CGI.pm> or F<Acme-Drunk>.
|
||||
|
||||
=head1 dist_version
|
||||
|
||||
This returns the version of the dist, or undef if the version can't be found or
|
||||
is the string "undef"
|
||||
|
||||
=head1 dist_filepath
|
||||
|
||||
This returns the path to the dist file. This is the whole URL after the
|
||||
C<distfile> part.
|
||||
|
||||
=head1 author
|
||||
|
||||
This returns the name of the author whose file is referred to.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Ricardo SIGNES <rjbs@cpan.org>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
This software is copyright (c) 2009 by Ricardo SIGNES.
|
||||
|
||||
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
|
||||
37
database/perl/lib/URI/cpan/module.pm
Normal file
37
database/perl/lib/URI/cpan/module.pm
Normal file
@@ -0,0 +1,37 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
package URI::cpan::module;
|
||||
$URI::cpan::module::VERSION = '1.007';
|
||||
use parent qw(URI::cpan);
|
||||
|
||||
sub validate { die }
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=pod
|
||||
|
||||
=encoding UTF-8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
URI::cpan::module
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
version 1.007
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Ricardo SIGNES <rjbs@cpan.org>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
This software is copyright (c) 2009 by Ricardo SIGNES.
|
||||
|
||||
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
|
||||
37
database/perl/lib/URI/cpan/package.pm
Normal file
37
database/perl/lib/URI/cpan/package.pm
Normal file
@@ -0,0 +1,37 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
package URI::cpan::package;
|
||||
$URI::cpan::package::VERSION = '1.007';
|
||||
use parent qw(URI::cpan);
|
||||
|
||||
sub validate { die }
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=pod
|
||||
|
||||
=encoding UTF-8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
URI::cpan::package
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
version 1.007
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Ricardo SIGNES <rjbs@cpan.org>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
This software is copyright (c) 2009 by Ricardo SIGNES.
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user