File Coverage

blib/lib/POE/Component/WWW/Pastebin/Many/Retrieve.pm
Criterion Covered Total %
statement 10 12 83.3
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 14 16 87.5


line stmt bran cond sub pod time code
1             package POE::Component::WWW::Pastebin::Many::Retrieve;
2              
3 1     1   32029 use warnings;
  1         2  
  1         32  
4 1     1   14 use strict;
  1         3  
  1         55  
5              
6             our $VERSION = '0.001';
7              
8 1     1   5 use Carp;
  1         7  
  1         70  
9 1     1   585 use WWW::Pastebin::Many::Retrieve;
  0            
  0            
10             use POE;
11             use base 'POE::Component::NonBlockingWrapper::Base';
12              
13             sub _methods_define {
14             return ( retrieve => '_wheel_entry' );
15             }
16              
17             sub retrieve {
18             $poe_kernel->post( shift->{session_id} => retrieve => @_ );
19             }
20              
21             sub _prepare_wheel {
22             my $self = shift;
23             $self->{obj} = WWW::Pastebin::Many::Retrieve->new(
24             timeout => $self->{timeout} || 30
25             );
26             }
27              
28             sub _check_args {
29             my ( $self, $args_ref ) = @_;
30             exists $args_ref->{uri}
31             or carp "Missing `uri` argument"
32             and return;
33              
34             return 1;
35             }
36              
37             sub _process_request {
38             my ( $self, $in_ref ) = @_;
39             my $paster = $self->{obj};
40             my $response = $paster->retrieve( $in_ref->{uri} );
41             if ( $response ) {
42             @$in_ref{ qw(response content) } = ( $response, $paster->content );
43             }
44             else {
45             $in_ref->{error} = $paster->error;
46             }
47             }
48              
49             1;
50             __END__