File Coverage

blib/lib/MaxMind/DB/Reader/Role/HasDecoder.pm
Criterion Covered Total %
statement 23 23 100.0
branch n/a
condition n/a
subroutine 8 8 100.0
pod n/a
total 31 31 100.0


line stmt bran cond sub pod time code
1             package MaxMind::DB::Reader::Role::HasDecoder;
2              
3 21     21   13533 use strict;
  21         55  
  21         752  
4 21     21   124 use warnings;
  21         54  
  21         584  
5 21     21   131 use namespace::autoclean;
  21         50  
  21         159  
6              
7             our $VERSION = '1.000014';
8              
9 21     21   1946 use MaxMind::DB::Common qw( DATA_SECTION_SEPARATOR_SIZE );
  21         71  
  21         1257  
10 21     21   135 use MaxMind::DB::Reader::Decoder;
  21         70  
  21         683  
11 21     21   196 use MaxMind::DB::Types qw( Decoder );
  21         66  
  21         1200  
12              
13 21     21   161 use Moo::Role;
  21         58  
  21         191  
14              
15             with 'MaxMind::DB::Role::Debugs';
16              
17             # Can't require accessors :(
18             # requires 'data_source', '_search_tree_size';
19              
20             has _decoder => (
21             is => 'ro',
22             isa => Decoder,
23             init_arg => undef,
24             lazy => 1,
25             builder => '_build_decoder',
26             );
27              
28             sub _build_decoder {
29 16     16   220 my $self = shift;
30              
31 16         273 return MaxMind::DB::Reader::Decoder->new(
32             data_source => $self->data_source,
33             pointer_base => $self->_search_tree_size
34             + DATA_SECTION_SEPARATOR_SIZE,
35             );
36             }
37              
38             1;