fakie 0.1.4 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|