WebService::Audioscrobbler::User(3p)

NAME
WebService::Audioscrobbler::User - An object-oriented interface to the Audioscrobbler WebService API

SYNOPSIS
This module implements an object oriented abstraction of an user within the Audioscrobbler database.

    use WebService::Audioscrobbler;

    my $ws = WebService::Audioscrobbler->new;

    # get an object for user named 'foo'
    my $user  = $ws->user('foo');

    # get user's top artists
    my @artists = $user->artists;

    # get user's top tags
    my @tags = $user->tags;

    # get user's top tracks
    my @tracks = $user->tracks;

    # get user's neighbours
    my @neighbours = $user->neighbours;

This module inherits from WebService::Audioscrobbler::Base.

FIELDS

  "name"
The name of a given user as provided when constructing the object.

  "picture_url"
URI object pointing to the location of the users's picture, if available.

  "url"
URI object pointing to the location where's additional info might be available about the user.

METHODS

  "new($user_name, $data_fetcher)"

  "new(\%fields)"
Creates a new object using either the given $user_name or the "\%fields" hashref. The data fetcher object is a mandatory parameter and must be provided either as the second parameter or inside the "\%fields" hashref.

  "artists"
Retrieves the user's top artists as available on Audioscrobbler's database.

Returns either a list of artists or a reference to an array of artists when called in list context or scalar context, respectively. The artists are returned as WebService::Audioscrobbler::Artist objects by default.

  "tracks"
Retrieves the user's top tracks as available on Audioscrobbler's database.

Returns either a list of tracks or a reference to an array of tracks when called in list context or scalar context, respectively. The tracks are returned as WebService::Audioscrobbler::Track objects by default.

  "tags"
Retrieves the user's top tags as available on Audioscrobbler's database.

Returns either a list of tags or a reference to an array of tags when called in list context or scalar context, respectively. The tags are returned as WebService::Audioscrobbler::Tag objects by default.

  "neighbours([$filter])"
Retrieves musical neighbours from the Audioscrobbler database. $filter can be used as a constraint for neighbours with a low similarity index (ie. users which have a similarity index lower than $filter won't be returned).

Returns either a list of users or a reference to an array of users when called in list context or scalar context, respectively. The users are returned as WebService::Audioscrobbler::SimilarUser objects by default.

  "friends"
Retrieves the user's friends from the Audioscrobbler / LastFM database.

Returns either a list of users or a reference to an array of users when called in list context or scalar context, respectively. The users are returned as WebService::Audioscrobbler::User objects by default.

  "fetch_users($postfix, $callback)"
Internal method used to fetch users. $postfix should be the users data feed postfix and $callback should be a function reference which will be called with a arrayref of user data as the only parameter and should return user-derived objects.

It returns either an arrayref or a list of objects depending on the calling context.

  "resource_path"
Returns the URL from which other URLs used for fetching user info will be derived from.

AUTHOR
Nilson Santos Figueiredo Junior, "<nilsonsfj at cpan.org>"

COPYRIGHT & LICENSE
Copyright 2006-2007 Nilson Santos Figueiredo Junior, all rights reserved.

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