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 )