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   139 use strict;
  19         51  
  19         621  
2 19     19   122 use warnings;
  19         101  
  19         938  
3             package MetaCPAN::Client::Mirror;
4             # ABSTRACT: A Mirror data object
5             $MetaCPAN::Client::Mirror::VERSION = '2.028000';
6 19     19   134 use Moo;
  19         45  
  19         122  
7 19     19   6596 use Carp;
  19         68  
  19         5093  
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__