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.