File Coverage

blib/lib/MetaCPAN/Client/Mirror.pm
Criterion Covered Total %
statement 12 13 92.3
branch n/a
condition n/a
subroutine 4 5 80.0
pod n/a
total 16 18 88.8


line stmt bran cond sub pod time code
1 19     19   133 use strict;
  19         39  
  19         508  
2 19     19   97 use warnings;
  19         36  
  19         711  
3             package MetaCPAN::Client::Mirror;
4             # ABSTRACT: A Mirror data object
5             $MetaCPAN::Client::Mirror::VERSION = '2.030000';
6 19     19   94 use Moo;
  19         45  
  19         115  
7 19     19   5398 use Carp;
  19         50  
  19         4366  
8              
9             with 'MetaCPAN::Client::Role::Entity';
10              
11             my %known_fields = (
12             scalar => [qw<
13             aka_name
14             A_or_CNAME
15             ccode
16             city
17             continent
18             country
19             dnsrr
20             freq
21             ftp
22             http
23             inceptdate
24             name
25             note
26             org
27             region
28             reitredate
29             rsync
30             src
31             tz
32             >],
33              
34             arrayref => [qw< contact location >],
35              
36             hashref => [qw<>],
37             );
38              
39             my @known_fields =
40             map { @{ $known_fields{$_} } } qw< scalar arrayref hashref >;
41              
42             foreach my $field (@known_fields) {
43             has $field => (
44             is => 'ro',
45             lazy => 1,
46             default => sub {
47             my $self = shift;
48             return $self->data->{$field};
49             },
50             );
51             }
52              
53 0     0     sub _known_fields { return \%known_fields }
54              
55             1;
56              
57             __END__