File Coverage

blib/lib/AudioFile/Info/MP3/Info.pm
Criterion Covered Total %
statement 23 23 100.0
branch 1 2 50.0
condition n/a
subroutine 7 8 87.5
pod 1 1 100.0
total 32 34 94.1


line stmt bran cond sub pod time code
1             =head1 NAME
2              
3             AudioFile::Info::MP3::Info - Perl extension to get info from MP3 files.
4              
5             =head1 DESCRIPTION
6              
7             This is a plugin for AudioFile::Info which uses MP3::Info to get
8             data about MP3 files.
9              
10             See L for more details.
11              
12             =cut
13              
14             package AudioFile::Info::MP3::Info;
15              
16 2     2   484191 use 5.006;
  2         9  
17 2     2   13 use strict;
  2         5  
  2         202  
18 2     2   17 use warnings;
  2         3  
  2         155  
19 2     2   13 use Carp;
  2         6  
  2         209  
20              
21 2     2   1775 use MP3::Info;
  2         58040  
  2         993  
22              
23             our $VERSION = '1.5.1';
24              
25             my %data = (artist => 'ARTIST',
26             title => 'TITLE',
27             album => 'ALBUM',
28             track => 'TRACKNUM',
29             year => 'YEAR',
30             genre => 'GENRE');
31              
32             sub new {
33 1     1 1 25 my $class = shift;
34 1         4 my $file = shift;
35 1         5 my $obj = MP3::Info->new($file);
36              
37 1         3635 bless { obj => $obj }, $class;
38             }
39              
40       0     sub DESTROY {}
41              
42             sub AUTOLOAD {
43 6     6   567 my $self = shift;
44              
45 6         12 our $AUTOLOAD;
46              
47 6         73 my ($pkg, $sub) = $AUTOLOAD =~ /(.+)::(\w+)/;
48              
49 6 50       26 die "Invalid attribute $sub" unless exists $data{$sub};
50              
51 6         94 return $self->{obj}->{$data{$sub}};
52             }
53              
54              
55             1;
56             __END__