File Coverage

blib/lib/Number/Phone/StubCountry/CO.pm
Criterion Covered Total %
statement 20 20 100.0
branch 3 4 75.0
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 29 30 96.6


line stmt bran cond sub pod time code
1             # automatically generated file, don't edit
2              
3              
4              
5             # Copyright 2023 David Cantrell, derived from data from libphonenumber
6             # http://code.google.com/p/libphonenumber/
7             #
8             # Licensed under the Apache License, Version 2.0 (the "License");
9             # you may not use this file except in compliance with the License.
10             # You may obtain a copy of the License at
11             #
12             # http://www.apache.org/licenses/LICENSE-2.0
13             #
14             # Unless required by applicable law or agreed to in writing, software
15             # distributed under the License is distributed on an "AS IS" BASIS,
16             # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17             # See the License for the specific language governing permissions and
18             # limitations under the License.
19             package Number::Phone::StubCountry::CO;
20 2     2   1488 use base qw(Number::Phone::StubCountry);
  2         6  
  2         301  
21              
22 2     2   21 use strict;
  2         4  
  2         57  
23 2     2   17 use warnings;
  2         6  
  2         60  
24 2     2   12 use utf8;
  2         6  
  2         14  
25             our $VERSION = 1.20230903131447;
26              
27             my $formatters = [
28             {
29             'format' => '$1 $2',
30             'leading_digits' => '6',
31             'national_rule' => '($1)',
32             'pattern' => '(\\d{3})(\\d{7})'
33             },
34             {
35             'format' => '$1 $2',
36             'leading_digits' => '
37             3[0-357]|
38             91
39             ',
40             'pattern' => '(\\d{3})(\\d{7})'
41             },
42             {
43             'format' => '$1-$2-$3',
44             'intl_format' => '$1 $2 $3',
45             'leading_digits' => '1',
46             'national_rule' => '0$1',
47             'pattern' => '(\\d)(\\d{3})(\\d{7})'
48             }
49             ];
50              
51             my $validators = {
52             'fixed_line' => '
53             601055(?:
54             [0-4]\\d|
55             50
56             )\\d\\d|
57             6010(?:
58             [0-4]\\d|
59             5[0-4]
60             )\\d{4}|
61             60[124-8][2-9]\\d{6}
62             ',
63             'geographic' => '
64             601055(?:
65             [0-4]\\d|
66             50
67             )\\d\\d|
68             6010(?:
69             [0-4]\\d|
70             5[0-4]
71             )\\d{4}|
72             60[124-8][2-9]\\d{6}
73             ',
74             'mobile' => '
75             3333(?:
76             0(?:
77             0\\d|
78             1[0-5]
79             )|
80             [4-9]\\d\\d
81             )\\d{3}|
82             (?:
83             3(?:
84             24[1-9]|
85             3(?:
86             00|
87             3[0-24-9]
88             )
89             )|
90             9101
91             )\\d{6}|
92             3(?:
93             0[0-5]|
94             1\\d|
95             2[0-3]|
96             5[01]|
97             70
98             )\\d{7}
99             ',
100             'pager' => '',
101             'personal_number' => '',
102             'specialrate' => '(
103             19(?:
104             0[01]|
105             4[78]
106             )\\d{7}
107             )',
108             'toll_free' => '1800\\d{7}',
109             'voip' => ''
110             };
111             my %areanames = ();
112             $areanames{en} = {"576048721", "Medellín",
113             "5760633", "Pereira",
114             "57601842", "Facatativa",
115             "576018482", "La\ Magdalena",
116             "5760568", "Cartagena",
117             "576018245", "Subachoque",
118             "576018398", "Apulo",
119             "576018246", "Puente\ Piedra",
120             "576017", "Bogotá",
121             "576048720", "Medellín",
122             "576018392", "Nilo\/La\ Esmeralda",
123             "576018402", "San\ Antonio\ de\ Tequendama",
124             "5760635", "Pereira",
125             "576018439", "Facatativa",
126             "5760236", "Cali",
127             "576018449", "La\ Peña",
128             "57601832", "Girardot",
129             "57604911", "Medellín",
130             "57601827", "Mosquera",
131             "5760634", "Pereira",
132             "5760566", "Cartagena",
133             "576010", "Cundinamarca",
134             "57601820", "Madrid",
135             "5760768", "Bucaramanga",
136             "5760535", "Barranquilla",
137             "5760231", "Cali",
138             "576013", "Bogotá",
139             "5760827", "Ibague",
140             "5760534", "Barranquilla",
141             "5760288", "Cali",
142             "576018253", "Madrid",
143             "576018254", "Madrid",
144             "5760533", "Barranquilla",
145             "576015", "Bogotá",
146             "5760761", "Bucaramanga",
147             "576048510", "Medellín",
148             "576018433", "Ninaima\/Tobia",
149             "576018443", "Cachipay",
150             "57604913", "Medellín",
151             "576048511", "Medellín",
152             "576018434", "Cartagenita",
153             "576018444", "Villeta",
154             "576018419", "Pandi",
155             "57601826", "Funza",
156             "576048722", "Medellín",
157             "576018481", "Quebradanegra",
158             "5760532", "Barranquilla",
159             "576018480", "Quebradanegra",
160             "5760767", "Bucaramanga",
161             "576042", "Medellín",
162             "5760230", "Cali",
163             "576018416", "Guaduas",
164             "5760866", "Villavicencio",
165             "576018453", "La\ Florida",
166             "57601830", "Girardot",
167             "5760790", "Bucaramanga",
168             "576018381", "Agua\ de\ Dios",
169             "576018243", "Bojaca",
170             "5760689", "Manizales",
171             "5760826", "Ibague",
172             "57601822", "Funza",
173             "576018256", "Madrid",
174             "576018255", "Madrid",
175             "576018397", "Apulo",
176             "576018446", "Villeta",
177             "576044", "Medellín",
178             "576018436", "Facatativa",
179             "576018435", "Cartagenita",
180             "576018445", "Villeta",
181             "5760567", "Cartagena",
182             "576018371", "Guataqui",
183             "5760632", "Pereira",
184             "5760292", "Cali",
185             "576018370", "Jerusalén",
186             "576018288", "Madrid",
187             "576018249", "Zipacon",
188             "5760765", "Bucaramanga",
189             "576018442", "Cachipay",
190             "576049092", "Medellín",
191             "5760538", "Barranquilla",
192             "5760233", "Cali",
193             "5760764", "Bucaramanga",
194             "576018373", "Beltrán",
195             "576018252", "Madrid",
196             "5760636", "Eje\ Cafetero",
197             "57601821", "Funza",
198             "5760887", "Neiva",
199             "57604917", "Medellín",
200             "5760763", "Bucaramanga",
201             "5760234", "Cali",
202             "576018247", "La\ Punta",
203             "576012", "Bogotá",
204             "5760235", "Cali",
205             "576018438", "Facatativa",
206             "5760536", "Barranquilla",
207             "576018241", "El\ Rosal",
208             "5760631", "Pereira",
209             "576018383", "Nilo",
210             "576018450", "San\ Antonio\ de\ Tequendama",
211             "5760565", "Cartagena",
212             "576018412", "Santa\ Inés",
213             "576018384", "Viota",
214             "576018403", "Choachi",
215             "576048725", "Medellín",
216             "576018451", "Nocaima",
217             "5760273", "Pasto",
218             "5760492", "Medellín",
219             "576018404", "Fomeque",
220             "576048726", "Medellín",
221             "576016", "Bogotá",
222             "576018240", "El\ Rosal",
223             "576018230", "Subachoque",
224             "576018393", "Girardot",
225             "576056295", "Cartagena",
226             "5760638", "Eje\ Cafetero",
227             "5760688", "Manizales",
228             "576014", "Bogotá",
229             "5760758", "Cucuta",
230             "576018250", "Madrid",
231             "5760290", "Cali",
232             "576018441", "Viani",
233             "576018431", "Facatativa",
234             "57601833", "Girardot",
235             "576018430", "Facatativa",
236             "576018440", "Facatativa",
237             "576018251", "Madrid",
238             "5760687", "Manizales",
239             "5760272", "Pasto",
240             "57604842", "Medellín",
241             "5760757", "Cucuta",
242             "5760886", "Neiva",
243             "576018375", "Nariño",
244             "576018417", "Guaduas",
245             "576018283", "Mosquera",
246             "576018376", "Tocaima",
247             "5760637", "Eje\ Cafetero",
248             "576045", "Medellín",
249             "576018232", "Funza",
250             "576018242", "La\ Pradera\/Subachoque\/Subachique",
251             "5760289", "Cali",
252             "57601831", "Girardot",
253             "5760537", "Barranquilla",
254             "5760232", "Cali",
255             "576018386", "Apulo",
256             "576018385", "Nariño",
257             "5760557", "Valledupar",
258             "576018257", "Funza",
259             "576048724", "Medellín",
260             "576043", "Medellín",
261             "576018289", "Madrid",
262             "576018437", "Facatativa",
263             "576018447", "Villeta",
264             "576048723", "Medellín",};
265             $areanames{es} = {};
266              
267             sub new {
268 13     13 1 44 my $class = shift;
269 13         31 my $number = shift;
270 13         85 $number =~ s/(^\+57|\D)//g;
271 13         89 my $self = bless({ country_code => '57', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
272 13 100       70 return $self if ($self->is_valid());
273 1         4 $number =~ s/^(?:0(4(?:[14]4|56)|[579])?)//;
274 1         16 $self = bless({ country_code => '57', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
275 1 50       5 return $self->is_valid() ? $self : undef;
276             }
277             1;