MetaCPAN-Client
view release on metacpan or search on metacpan
lib/MetaCPAN/Client/Author.pm view on Meta::CPAN
use strict;
use warnings;
package MetaCPAN::Client::Author;
# ABSTRACT: An Author data object
$MetaCPAN::Client::Author::VERSION = '2.042000';
use Moo;
use Ref::Util qw< is_arrayref >;
with 'MetaCPAN::Client::Role::Entity';
my %known_fields = (
scalar => [qw<
city
country
gravatar_url
name
ascii_name
pauseid
region
updated
user
>],
arrayref => [qw<
donation
email
perlmongers
profile
website
>],
hashref => [qw<
blog
extra
links
release_count
>],
);
sub BUILDARGS {
my ( $class, %args ) = @_;
my $email = $args{'email'} || [];
$args{'email'} = [ $email ]
unless is_arrayref($email);
return \%args;
}
my @known_fields =
map { @{ $known_fields{$_} } } qw< scalar arrayref hashref >;
foreach my $field ( @known_fields ) {
has $field => (
is => 'ro',
lazy => 1,
default => sub {
my $self = shift;
return $self->data->{$field};
},
);
}
sub _known_fields { \%known_fields }
sub releases {
my $self = shift;
( run in 2.178 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )