| WebService-Audioscrobbler documentation | Contained in the WebService-Audioscrobbler distribution. |
WebService::Audioscrobbler::Tag - An object-oriented interface to the Audioscrobbler WebService API
This module implements an object oriented abstraction of a tag within the Audioscrobbler database.
use WebService::Audioscrobbler::Tag;
my $ws = WebService::Audioscrobbler->new;
# get an object for the tag named 'foo'
my $tag = $ws->tag('foo');
# retrieves tracks tagged with 'foo'
my @tracks = $tag->tracks;
# prints url for viewing aditional tag info
print $tag->url;
This module inherits from WebService::Audioscrobbler::Base.
nametitleThe name (title) of a given tag.
urlURL for aditional info about the tag.
new($name, $data_fetcher)new(\%fields)Creates a new object using either the given $artist and $title 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.
tracksRetrieves the tags'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.
artistsRetrieves the tag'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 tags are returned as WebService::Audioscrobbler::Artist objects by default.
resource_pathReturns the URL from which other URLs used for fetching tag info will be derived from.
Nilson Santos Figueiredo Júnior, <nilsonsfj at cpan.org>
Copyright 2006-2007 Nilson Santos Figueiredo Júnior, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| WebService-Audioscrobbler documentation | Contained in the WebService-Audioscrobbler distribution. |
package WebService::Audioscrobbler::Tag; use warnings; use strict; use CLASS; use base 'WebService::Audioscrobbler::Base';
our $VERSION = '0.07'; # postfix related accessors CLASS->mk_classaccessor("base_resource_path" => "tag"); # requering stuff CLASS->tracks_class->require or die($@); # object accessors CLASS->mk_accessors(qw/name url/); *title = \&name;
sub new { my $class = shift; my ($name_or_fields, $data_fetcher) = @_; my $self = $class->SUPER::new( ref $name_or_fields eq 'HASH' ? $name_or_fields : { name => $name_or_fields, data_fetcher => $data_fetcher } ); $self->croak("No data fetcher provided") unless $self->data_fetcher; return $self; }
sub tags { shift->croak("Audioscrobbler doesn't provide data regarding tags which are related to other tags"); }
sub resource_path { my $self = shift; $self->uri_builder( $self->name ); }
1; # End of WebService::Audioscrobbler::Tag