fakie 0.1.4 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/fakie.rb +11 -5
- data/lib/fakie/phone_number.rb +7 -0
- data/lib/fakie/version.rb +1 -1
- data/test/fakie_test.rb +8 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5b7707a06644202861a7239947d5fd60185a2b0
|
4
|
+
data.tar.gz: 9136e49130fcb5ad9a0a7adcde638ba9e5ac9f44
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a1adf924ad2b92f66754f4a3f7a1b1fb8e214ce3b02eebe64b00ba0995dca917b40a5341413e07d2954c46a50d5217452faa0cebad36abc02ee173cccf9147b
|
7
|
+
data.tar.gz: ece679bc47fd72348e1341e8662045c52f70f7417557d054ef1cbb7dccbdf0064bda255e668adb67a86ddfbc1b0c5980cd3d6293379633fb57567904cf1409fc
|
data/lib/fakie.rb
CHANGED
@@ -4,18 +4,24 @@ require 'fakie/java_script'
|
|
4
4
|
require 'fakie/phone_number'
|
5
5
|
|
6
6
|
module Fakie
|
7
|
-
|
7
|
+
def self.default_options
|
8
|
+
@default_options || {}
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.default_options=(options)
|
12
|
+
@default_options = options
|
13
|
+
end
|
8
14
|
|
9
15
|
# Parse a phone number
|
10
16
|
# @param phone_number [String] phone number to parse
|
11
17
|
# @option options default_country [String] ISO 3166-1 two-letter country code
|
12
18
|
# @return [PhoneNumber] phone number object
|
13
|
-
def parse(phone_number, options = {})
|
19
|
+
def self.parse(phone_number, options = {})
|
14
20
|
PhoneNumber.parse(phone_number, options)
|
15
21
|
end
|
16
22
|
|
17
|
-
def country_name_for_region_code(region_code)
|
18
|
-
|
23
|
+
def self.country_name_for_region_code(region_code)
|
24
|
+
@_country_name_map ||= {
|
19
25
|
'AF' => "Afghanistan",
|
20
26
|
'AL' => "Albania",
|
21
27
|
'DZ' => "Algeria",
|
@@ -257,6 +263,6 @@ module Fakie
|
|
257
263
|
'ZW' => "Zimbabwe"
|
258
264
|
}
|
259
265
|
|
260
|
-
|
266
|
+
@_country_name_map[region_code.upcase]
|
261
267
|
end
|
262
268
|
end
|
data/lib/fakie/phone_number.rb
CHANGED
@@ -6,8 +6,11 @@ module Fakie
|
|
6
6
|
# @option options default_country [String] ISO 3166-1 two-letter country code
|
7
7
|
# @return [PhoneNumber] phone number object
|
8
8
|
def parse(phone_number, options = {})
|
9
|
+
options = Fakie.default_options.merge(options)
|
9
10
|
region_code = options[:default_country]
|
10
11
|
self.new(JavaScript.call('Fakie.parse', phone_number, region_code))
|
12
|
+
rescue ExecJS::ProgramError => e
|
13
|
+
self.new({'raw_input' => phone_number, 'is_valid' => false})
|
11
14
|
end
|
12
15
|
end
|
13
16
|
|
@@ -51,11 +54,15 @@ module Fakie
|
|
51
54
|
def international_format(region = self.region_code)
|
52
55
|
raise InvalidPhoneNumber, self.raw_input unless self.is_valid?
|
53
56
|
@international_format ||= JavaScript.call('Fakie.formatInternational', region, self.e164)
|
57
|
+
rescue ExecJS::ProgramError => e
|
58
|
+
self.e164
|
54
59
|
end
|
55
60
|
|
56
61
|
def local_format(region = self.region_code)
|
57
62
|
raise InvalidPhoneNumber, self.raw_input unless self.is_valid?
|
58
63
|
@local_format ||= JavaScript.call('Fakie.formatLocal', region, self.e164)
|
64
|
+
rescue ExecJS::ProgramError => e
|
65
|
+
self.e164
|
59
66
|
end
|
60
67
|
|
61
68
|
def country_name
|
data/lib/fakie/version.rb
CHANGED
data/test/fakie_test.rb
CHANGED
@@ -9,5 +9,13 @@ module Fakie
|
|
9
9
|
def test_invalid_country
|
10
10
|
refute Fakie.country_name_for_region_code('ZZ')
|
11
11
|
end
|
12
|
+
|
13
|
+
def test_default_options
|
14
|
+
refute Fakie.parse('4155550123').is_valid?
|
15
|
+
|
16
|
+
Fakie.default_options = { :default_country => 'US' }
|
17
|
+
assert Fakie.parse('4155550123').is_valid?
|
18
|
+
Fakie.default_options = nil
|
19
|
+
end
|
12
20
|
end
|
13
21
|
end
|