phonelib 0.10.1 → 0.10.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f74da621590af3b6ba09374d12dcad33370f71e38d8ed5122baafd63ad12e32
4
- data.tar.gz: bc722c0d765c923f5f815e77a9803635f80ca58d8dd0792190484d00a4340933
3
+ metadata.gz: 9fe27c3c85d76103dc9fe5fe1a3877f31fd06cf6b3327b25d4f93aea3238ca63
4
+ data.tar.gz: 15b2fb31d0e9997d0ef6fef3502a15499d8bd151a05f8ffd6ef08c23729db121
5
5
  SHA512:
6
- metadata.gz: 1c17592015bf5060d0cafa50227a6c8f3f6a97bef71d8993e1915e1a2a6b0e118bb54f26f5ef0f509d631ca8938fccfb3465fcc3561829dd8e30db6652989f5f
7
- data.tar.gz: 11fe31137e6468adafe4daecfbefd91c9a246489bcf02f483c1066e41f9a6a343849cd43e0f080187cb6d4eb5fdf924bad0c7d03e7e653c25de7928645856c72
6
+ metadata.gz: 585a0298a4ec578788d3ee34d4c8c567290b9734f051a7bb73e85515b33b54c37792757d91a1c07fead6c9473bc6c5b9913c3313dc45fee03ea5e27e8152adda
7
+ data.tar.gz: 715cf0441e86fa0d3f8522023ace36fb3fe367e1c84c373d88130d87a8e51d8c8ed40bc17830d875d9c0f3b79d42ca81f3032106dce3964fc88ac3397c369d97
Binary file
data/data/phone_data.dat CHANGED
Binary file
@@ -8,7 +8,7 @@ module Phonelib
8
8
  require 'nokogiri'
9
9
 
10
10
  # official libphonenumber repo for cloning
11
- REPO = 'https://github.com/googlei18n/libphonenumber.git'
11
+ REPO = 'https://github.com/google/libphonenumber.git'
12
12
 
13
13
  # importing function
14
14
  def self.import
@@ -203,7 +203,7 @@ module Phonelib
203
203
  require 'open-uri'
204
204
  require 'csv'
205
205
  io = URI.open('http://download.geonames.org/export/dump/countryInfo.txt')
206
- csv = CSV.new(io, {col_sep: "\t"})
206
+ csv = CSV.new(io, **{col_sep: "\t"})
207
207
  csv.each do |row|
208
208
  next if row[0].nil? || row[0].start_with?('#') || row[0].empty? || row[0].size != 2
209
209
 
@@ -19,7 +19,6 @@ module Phonelib
19
19
  # country (2 letters) like 'US', 'us' or :us for United States
20
20
  def analyze(phone, passed_country)
21
21
  countries = country_or_default_country passed_country
22
-
23
22
  return analyze_single_country(phone, countries.first, passed_country) if countries.size == 1
24
23
 
25
24
  results = {}
@@ -133,8 +132,10 @@ module Phonelib
133
132
  countries_data.each_with_object({}) do |data, result|
134
133
  key = data[:id]
135
134
  parsed = parse_single_country(phone, data)
135
+ parsed = parse_single_country(with_replaced_national_prefix(phone, data), data) unless parsed && parsed[key] && parsed[key][:valid].size > 0
136
136
  if (!Phonelib.strict_double_prefix_check || key == country) && double_prefix_allowed?(data, phone, parsed && parsed[key])
137
- parsed = parse_single_country(changed_dp_phone(key, phone), data)
137
+ parsed2 = parse_single_country(changed_dp_phone(key, phone), data)
138
+ parsed = parsed2 if parsed2 && parsed2[key] && parsed2[key][:valid].size > 0
138
139
  end
139
140
  result.merge!(parsed) unless parsed.nil?
140
141
  end.compact
@@ -174,7 +175,11 @@ module Phonelib
174
175
  # * +not_valid+ - specifies that number is not valid by general desc pattern
175
176
  def national_and_data(data, country_match, not_valid = false)
176
177
  result = data.select { |k, _v| k != :types && k != :formats }
177
- phone = country_match.to_a.last
178
+ index = 0
179
+ if Phonelib.additional_regexes.is_a?(Hash) && Phonelib.additional_regexes[data[:id]]
180
+ index = Phonelib.additional_regexes[data[:id]].values.flatten.join('|').scan(/\(/).size
181
+ end
182
+ phone = country_match.to_a[-1 - index]
178
183
  result[:national] = phone
179
184
  result[:format] = number_format(phone, data[Core::FORMATS])
180
185
  result.merge! all_number_types(phone, data[Core::TYPES], not_valid)
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Phonelib
4
4
  # @private
5
- VERSION = '0.10.1'
5
+ VERSION = '0.10.3'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phonelib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.10.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vadim Senderovich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-20 00:00:00.000000000 Z
11
+ date: 2024-12-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |2
14
14
  Google libphonenumber library was taken as a basis for
@@ -40,7 +40,7 @@ homepage: https://github.com/daddyz/phonelib
40
40
  licenses:
41
41
  - MIT
42
42
  metadata:
43
- changelog_uri: https://github.com/daddyz/phonelib/releases/tag/v0.10.1
43
+ changelog_uri: https://github.com/daddyz/phonelib/releases/tag/v0.10.3
44
44
  post_install_message:
45
45
  rdoc_options:
46
46
  - " --no-private - CHANGELOG.md --readme README.md"