File Coverage

blib/lib/Catalyst/Plugin/Upload/MD5.pm
Criterion Covered Total %
statement 4 6 66.6
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 6 8 75.0


line stmt bran cond sub pod time code
1             package Catalyst::Plugin::Upload::MD5;
2              
3 1     1   779 use strict;
  1         2  
  1         33  
4 1     1   555 use Catalyst::Request::Upload;
  0            
  0            
5             use Digest::MD5;
6              
7             our $VERSION = '0.01';
8              
9             {
10             package Catalyst::Request::Upload;
11              
12             sub md5sum {
13             my $self = shift;
14              
15             unless ( $self->{md5sum} ) {
16             $self->{md5sum} = Digest::MD5->new->addfile( $self->fh )->hexdigest;
17             }
18              
19             return $self->{md5sum};
20             }
21             }
22              
23             1;
24              
25             __END__
26              
27             =head1 NAME
28              
29             Catalyst::Plugin::Upload::MD5 - Compute MD5 message digest of uploads
30              
31             =head1 SYNOPSIS
32              
33             use Catalyst qw[Upload::MD5];
34            
35             if ( my $upload = $c->request->upload('field') ) {
36             print $upload->md5sum;
37             }
38              
39              
40             =head1 DESCRIPTION
41              
42             Extends C<Catalyst::Request::Upload> with a MD5 message digest method.
43              
44             =head1 METHODS
45              
46             =over 4
47              
48             =item md5sum
49              
50             Returns an MD5 message digest of upload in hexadecimal form.
51              
52             =back
53              
54             =head1 SEE ALSO
55              
56             L<Digest::MD5>, L<Catalyst::Request>, L<Catalyst::Request::Upload>.
57              
58             =head1 AUTHOR
59              
60             Christian Hansen, C<ch@ngmedia.com>
61              
62             =head1 LICENSE
63              
64             This library is free software . You can redistribute it and/or modify it under
65             the same terms as perl itself.
66              
67             =cut