CPAN-WWW-Top100-Retrieve

 view release on metacpan or  search on metacpan

lib/CPAN/WWW/Top100/Retrieve.pm  view on Meta::CPAN

}

sub list {
	my $self = shift;
	my $type = shift;

	return if ! defined $type or ! length $type;
	$type = type2dbid( lc( $type ) );
	return if ! defined $type;

	# if we haven't retrieved yet, do it!
	return if ! $self->_retrieve;

	# Generate a copy of our data
	my @r = ( @{ $self->_data->{ $type } } );
	return \@r;
}

# from Moose::Manual::BestPractices
no Moose;
__PACKAGE__->meta->make_immutable;

1;

__END__

=pod

=encoding UTF-8

=for :stopwords Apocalypse cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee
diff irc mailto metadata placeholders metacpan Top100 AnnoCPAN CPANTS
Kwalitee RT com dists github ua uri

=head1 NAME

CPAN::WWW::Top100::Retrieve - Retrieves the CPAN Top100 data from http://ali.as/top100

=head1 VERSION

  This document describes v1.001 of CPAN::WWW::Top100::Retrieve - released November 06, 2014 as part of CPAN-WWW-Top100-Retrieve.

=head1 SYNOPSIS

	#!/usr/bin/perl
	use strict; use warnings;

	use CPAN::WWW::Top100::Retrieve;
	use Data::Dumper;

	my $top100 = CPAN::WWW::Top100::Retrieve->new;
	print Dumper( $top100->list( 'heavy' ) );

=head1 DESCRIPTION

This module retrieves the data from CPAN Top100 and returns it in a structured format.

=head2 Constructor

This module uses Moose, so you can pass either a hash or hashref to the constructor. The object will cache all
data relevant to the Top100 for as long as it's alive. If you want to get fresh data just make a new object and
use that.

The attributes are:

=head3 debug

( not required )

A boolean value specifying debug warnings or not.

The default is: false

=head3 ua

( not required )

The LWP::UserAgent object to use in place of the default one.

The default is: LWP::UserAgent->new;

=head3 uri

( not required )

The uri of Top100 data we should use to retrieve data in place of the default one.

The default is: CPAN::WWW::Top100::Retrieve::Utils::default_top100_uri()

=head2 Methods

Currently, there is only one method: list(). You call this and get the arrayref of data back. For more
information please look at the L<CPAN::WWW::Top100::Retrieve::Dist> class. You can call list() as
many times as you want, no need to re-instantiate the object for each query.

=head3 list

Takes one argument: the $type of Top100 list and returns an arrayref of dists.

WARNING: list() will return an empty list if errors happen. Please look at the error() method for the string.

Example:

	use Data::Dumper;
	print Dumper( $top100->list( 'heavy' ) );
	print Dumper( $top100->list( 'volatile' ) );

=head3 error

Returns the error string if it was set, undef if not.

=head1 SEE ALSO

Please see those modules/websites for more information related to this module.

=over 4

=item *

L<CPAN::WWW::Top100::Retrieve::Dist>



( run in 0.982 second using v1.01-cache-2.11-cpan-df04353d9ac )