File: Mirror.pm

package info (click to toggle)
libmetacpan-client-perl 2.025000-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 560 kB
  • sloc: perl: 2,456; makefile: 6
file content (162 lines) | stat: -rw-r--r-- 2,186 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
use strict;
use warnings;
package MetaCPAN::Client::Mirror;
# ABSTRACT: A Mirror data object
$MetaCPAN::Client::Mirror::VERSION = '2.025000';
use Moo;
use Carp;

with 'MetaCPAN::Client::Role::Entity';

my %known_fields = (
    scalar => [qw<
        aka_name
        A_or_CNAME
        ccode
        city
        continent
        country
        dnsrr
        freq
        ftp
        http
        inceptdate
        name
        note
        org
        region
        reitredate
        rsync
        src
        tz
    >],

    arrayref => [qw< contact location >],

    hashref  => [qw<>],
);

my @known_fields =
    map { @{ $known_fields{$_} } } qw< scalar arrayref hashref >;

foreach my $field (@known_fields) {
    has $field => (
        is      => 'ro',
        lazy    => 1,
        default => sub {
            my $self = shift;
            return $self->data->{$field};
        },
    );
}

sub _known_fields { return \%known_fields }

1;

__END__

=pod

=encoding UTF-8

=head1 NAME

MetaCPAN::Client::Mirror - A Mirror data object

=head1 VERSION

version 2.025000

=head1 SYNOPSIS

    my $mirror = $mcpan->mirror('eutelia.it');

=head1 DESCRIPTION

A MetaCPAN mirror entity object.

=head1 ATTRIBUTES

=head2 name

The name of the mirror, which is what you passed

=head2 org

The organization that maintains the mirror.

=head2 ftp

An FTP url for the mirror.

=head2 rsync

An rsync url for the mirror.

=head2 src

=head2 city

The city where the mirror is located.

=head2 country

The name of the country where the mirror is located.

=head2 ccode

The ISO country code for the mirror's country.

=head2 aka_name

=head2 tz

=head2 note

=head2 dnsrr

=head2 region

=head2 inceptdate

=head2 freq

=head2 continent

=head2 http

=head2 reitredate

=head2 A_or_CNAME

=head2 contact

Array-Ref.

=head2 location

Array-Ref.

=head1 AUTHORS

=over 4

=item *

Sawyer X <xsawyerx@cpan.org>

=item *

Mickey Nasriachi <mickey@cpan.org>

=back

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Sawyer X.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=cut