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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cd45a26e4f22002eb865088e6aac905cd7dc5ca8
4
- data.tar.gz: 6addf1ed3a904c993b15eee278dc1fccc2751e70
3
+ metadata.gz: 01cc06ef6716d2b7236f2a7aaca6672eebe5eb75
4
+ data.tar.gz: d2ec64b03b1185923b641335d023c510359f16f3
5
5
  SHA512:
6
- metadata.gz: 579ca69386d6326e0172a3c0488685ccb6934ba3684c986c9558824b0a685bc811f30bf5d1768809689123d34f55583240d05c90dad8b4a1c49d0ca832cabfcd
7
- data.tar.gz: fa02a5c1618ecb2b670f9a0041c598e4a457781650093376fb1036750f1cf67c4e3c5c535136b0cbb91fd40752df041b4ec9027c878ceb3b94421fc66cf16f1b
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
 
@@ -1,3 +1,3 @@
1
1
  module CogiPhony
2
- VERSION = '0.0.3'.freeze
2
+ VERSION = '0.0.4'.freeze
3
3
  end
@@ -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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cogi_phony
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nobi Hoang