cogi_phony 0.0.3 → 0.0.4
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/cogi_phony.rb +23 -6
- data/lib/cogi_phony/version.rb +1 -1
- data/spec/cogi_phony_spec.rb +29 -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: 01cc06ef6716d2b7236f2a7aaca6672eebe5eb75
|
4
|
+
data.tar.gz: d2ec64b03b1185923b641335d023c510359f16f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2804b4b81df502880b8356ba3701d5773565ae58809a27a581cca60b20386fe7dae330ea215b7156fb448453c11ecb0fda24babd88df6df244bd7028d39fe25a
|
7
|
+
data.tar.gz: 010b3de52d35d861b2f088d2dfe95dcb87538ebbadbe83e693e8d14aa720dcc2c1f5ac865ff56781e707eeea8bd8f9646ce79a06c0b06376f75d46e0c1b7e5ee
|
data/lib/cogi_phony.rb
CHANGED
@@ -26,7 +26,7 @@ module CogiPhony
|
|
26
26
|
#
|
27
27
|
# @return [Boolean]
|
28
28
|
def self.gmobile?(phone)
|
29
|
-
pattern = /\A(\+84|84|0)(#{mobile_networks_hash['vi']['gmobile']})\d{7}$/
|
29
|
+
pattern = /\A(\+84|084|84|0)(#{mobile_networks_hash['vi']['gmobile']})\d{7}$/
|
30
30
|
pattern.match phone
|
31
31
|
end
|
32
32
|
|
@@ -36,7 +36,7 @@ module CogiPhony
|
|
36
36
|
#
|
37
37
|
# @return [Boolean]
|
38
38
|
def self.vietnamobile?(phone)
|
39
|
-
pattern = /\A(\+84|84|0)(#{mobile_networks_hash['vi']['vietnamobile']})\d{7}$/
|
39
|
+
pattern = /\A(\+84|084|84|0)(#{mobile_networks_hash['vi']['vietnamobile']})\d{7}$/
|
40
40
|
pattern.match phone
|
41
41
|
end
|
42
42
|
|
@@ -46,7 +46,7 @@ module CogiPhony
|
|
46
46
|
#
|
47
47
|
# @return [Boolean]
|
48
48
|
def self.mobifone?(phone)
|
49
|
-
pattern = /\A(\+84|84|0)(#{mobile_networks_hash['vi']['mobifone']})\d{7}$/
|
49
|
+
pattern = /\A(\+84|084|84|0)(#{mobile_networks_hash['vi']['mobifone']})\d{7}$/
|
50
50
|
pattern.match phone
|
51
51
|
end
|
52
52
|
|
@@ -56,7 +56,7 @@ module CogiPhony
|
|
56
56
|
#
|
57
57
|
# @return [Boolean]
|
58
58
|
def self.vinaphone?(phone)
|
59
|
-
pattern = /\A(\+84|84|0)(#{mobile_networks_hash['vi']['vinaphone']})\d{7}$/
|
59
|
+
pattern = /\A(\+84|084|84|0)(#{mobile_networks_hash['vi']['vinaphone']})\d{7}$/
|
60
60
|
pattern.match phone
|
61
61
|
end
|
62
62
|
|
@@ -66,7 +66,7 @@ module CogiPhony
|
|
66
66
|
#
|
67
67
|
# @return [Boolean]
|
68
68
|
def self.viettel?(phone)
|
69
|
-
pattern = /\A(\+84|84|0)(#{mobile_networks_hash['vi']['viettel']})\d{7}$/
|
69
|
+
pattern = /\A(\+84|084|84|0)(#{mobile_networks_hash['vi']['viettel']})\d{7}$/
|
70
70
|
pattern.match phone
|
71
71
|
end
|
72
72
|
|
@@ -112,7 +112,24 @@ module CogiPhony
|
|
112
112
|
# CogiPhony.vn_mobile_phone?('84837621350') # => false
|
113
113
|
def self.vn_mobile_phone?(phone)
|
114
114
|
return false if phone.nil? || phone.empty?
|
115
|
-
return false if /\A(\+84|84|0)((9\d{8})|(88\d{7})|(1\d{9}))$/.match(phone).nil?
|
115
|
+
return false if /\A(\+84|084|84|0)((9\d{8})|(88\d{7})|(1\d{9}))$/.match(phone).nil?
|
116
|
+
true
|
117
|
+
end
|
118
|
+
|
119
|
+
# Check if a phone number is in Vietnam
|
120
|
+
#
|
121
|
+
# @param [String] phone Phone number
|
122
|
+
#
|
123
|
+
# @return [Boolean] True if phone in vietnam, otherwise False
|
124
|
+
#
|
125
|
+
# @example
|
126
|
+
# CogiPhony.vn_phone?('+84933081090') # => True
|
127
|
+
# CogiPhony.vn_phone?('084933081090') # => True
|
128
|
+
# CogiPhony.vn_phone?('84933081090') # => True
|
129
|
+
# CogiPhony.vn_phone?('0933081090') # => True
|
130
|
+
# CogiPhony.vn_phone?('+14037089189') # => False
|
131
|
+
def self.vn_phone?(phone)
|
132
|
+
return false unless /\A(\+84|84|084|0)(\d{8}|\d{9})$/.match phone
|
116
133
|
true
|
117
134
|
end
|
118
135
|
|
data/lib/cogi_phony/version.rb
CHANGED
data/spec/cogi_phony_spec.rb
CHANGED
@@ -359,6 +359,35 @@ describe CogiPhony do
|
|
359
359
|
end
|
360
360
|
end
|
361
361
|
|
362
|
+
describe '#vn_phone?' do
|
363
|
+
context 'Vietnam phone number' do
|
364
|
+
[
|
365
|
+
'84933081090',
|
366
|
+
'084933081090',
|
367
|
+
'+84933081090',
|
368
|
+
'0933081090',
|
369
|
+
'064893907',
|
370
|
+
'0837621350',
|
371
|
+
'84837621350'
|
372
|
+
].each do |v|
|
373
|
+
it "#{v} is vietnam phone number" do
|
374
|
+
expect(CogiPhony.vn_phone?(v)).to be_true
|
375
|
+
end
|
376
|
+
end
|
377
|
+
end
|
378
|
+
|
379
|
+
context 'International phone number' do
|
380
|
+
[
|
381
|
+
'14037089189',
|
382
|
+
'+14037089189'
|
383
|
+
].each do |v|
|
384
|
+
it "#{v} is not vietnam phone number" do
|
385
|
+
expect(CogiPhony.vn_phone?(v)).to be_false
|
386
|
+
end
|
387
|
+
end
|
388
|
+
end
|
389
|
+
end
|
390
|
+
|
362
391
|
describe '#global_format' do
|
363
392
|
context 'with country code' do
|
364
393
|
it 'format vietnam mobile phone number without plus sign' do
|