Name

WWW::PGXN::User - User metadata fetched from PGXN

Synopsis

my $pgxn  = WWW::PGXN->new( url => 'https://api.pgxn.org/' );
my $user = $pgxn->get_user('theory');
say $user->name, '<', $user->email, '>';

Description

This module represents PGXN user metadata fetched from PGXN>. It is not intended to be constructed directly, but via the "get_user" in WWW::PGXN method of WWW::PGXN.

Interface

Instance Accessors

nickname

my $nickname = $user->nickname;
$user->nickname($nickname);

The user's nickname (also known as a user name).

name

my $name = $user->name;
$user->name($name);

The full name of the user.

uri

my $uri = $user->uri;
$user->uri($uri);

The URI for the user. May be undef if the user has no URI.

email

my $email = $user->email;
$user->email($email);

The user's email address.

twitter

my $twitter = $user->twitter;
$user->twitter($twitter);

The user's Twitter nickname, if any.

releases

my $releases = $user->releases;

Returns a hash reference describing all of the distributions ever released by the user. The keys of are distribution names and the values are hash references that may contain the following keys:

stable
testing
unstable

An array reference containing hashes of versions and release dates of all releases of the distribution with the named release status, ordered from most to least recent.

abstract

A brief description of the distribution. Available only from the PGXN API, not mirrors.

Here's an example of the releases data structure:

{
    explanation => {
        abstract => 'Turn an explain plan into a proximity tree',
        stable => [
            { version => '0.2.0', date => '2011-02-21T20:14:56Z' }
        ]
    },
    pair => {
        abstract => 'A key/value pair data type',
        stable => [
            { version => '0.1.1', date => '2010-10-22T16:32:52Z' },
            { version => '0.1.0', date => '2010-10-19T03:59:54Z' }
        ],
        testing => [
            { version => '0.0.1', date => '2010-09-23T14:23:52Z' }
        ]
    },
}

See Also

  • WWW::PGXN

    The main class to communicate with a PGXN mirror or API server.

Support

This module is stored in an open GitHub repository. Feel free to fork and contribute!

Please file bug reports via GitHub Issues or by sending mail to bug-WWW-PGXN@rt.cpan.org.

Author

David E. Wheeler <david@justatheory.com>

Copyright and License

Copyright (c) 2011-2024 David E. Wheeler. Some Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.