NAME

WebService::Audioscrobbler::Base - An object-oriented interface to the Audioscrobbler WebService API

SYNOPSIS

This module implements the base class for all other WebService::Audioscrobbler modules.

package WebService::Audioscrobbler::Subclass;
use base 'WebService::Audioscrobbler::Base';

...

my $self = WebService::Audioscrobbler::Subclass->new;

# retrieves tracks
my @tracks = $self->tracks;

# retrieves tags
my @tags = $self->tags;

# retrieves arbitrary XML data as a hashref, using XML::Simple
my $data = $self->fetch_data('resource.xml');

METHODS

tracks

Retrieves the tracks related to the current resource 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 tags related to the current resource 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.

artists

Retrieves the artists related to the current resource 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 tags are returned as WebService::Audioscrobbler::Artist objects by default.

fetch_data($postfix)

This method retrieves arbitrary XML data as hashref (using XML::Simple for processing) constructing the URL from the provided postfix appended to the base resource URL (as returned from the resource_url method).

resource_url

This method must be overriden by classes which inherit from Base. It should return the base URL for the given entity, to which aditional resource postfixes can be appended to and thus forming a full URL used for fetching XML data.

AUTHOR

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

COPYRIGHT & LICENSE

Copyright 2006 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.