kontact 0.1.0 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 432af4fb43c107b6560bc233a2fb2348a69f216a91c1a78383d462db542e02b0
4
- data.tar.gz: b220a08ca112f24510ac239590c34074f7160c8e1f59ab2bedb55573712a76c8
3
+ metadata.gz: 3505c87c0825dc2fac77e7dd325deff7c648fa285bfdc7bee6b20adec7150764
4
+ data.tar.gz: 5551cb45c9d2578194830f64e2748c9de66cf43cfba94ef5792653826a355e69
5
5
  SHA512:
6
- metadata.gz: 02361f67fe767a32f1607e7f87c71a560aeae40b52814801f24521e0db6c0829c82cce0993c1a2ff368906a3ee821a3a986993ad239bf9c99438ff5e0dec49b6
7
- data.tar.gz: 9d410f83156e1292489ca19fb975af004073bd102a643050b26a781467b61c43ca0ceb6d3b511d45cfd8986fe44525c10f0dd7c601436e14614e36249c1f2e98
6
+ metadata.gz: 3d2aa78422c30f3c99ceea04d011f5b0565d7e75b449a2fbc3d227ef4e0b895c118571f7120dc5e192a75350d251d7ae0b06c5eaa5123554041afd75a129a5ca
7
+ data.tar.gz: 143d962e2e6c40737b91669ae311021ac388a5fa9c8226093ecff6e0139023ee74df022ea41828184bc3a91e4294f8435ad2890bb2814f22c5ef010eed66cb12
@@ -29,5 +29,22 @@ module Kontact
29
29
  end
30
30
  "+55 #{ddd} #{number}"
31
31
  end
32
+
33
+ def self.valid?(number)
34
+ match = number.match(/\A\+55 (\d{2}) (\d{4,5})-(\d{4})\z/)
35
+ return false unless match
36
+
37
+ ddd = match[1]
38
+ prefix = match[2]
39
+ return false unless DDDs.include?(ddd)
40
+
41
+ if prefix.length == 5
42
+ prefix.start_with?("9")
43
+ elsif prefix.length == 4
44
+ prefix[0].to_i.between?(2, 5)
45
+ else
46
+ false
47
+ end
48
+ end
32
49
  end
33
50
  end
data/lib/kontact/usa.rb CHANGED
@@ -59,5 +59,18 @@ module Kontact
59
59
  return prefix unless [911, 411, 555].include?(prefix)
60
60
  end
61
61
  end
62
+
63
+ def self.valid?(number)
64
+ match = number.match(/\A\+1 (\d{3}) (\d{3})-(\d{4})\z/)
65
+ return false unless match
66
+
67
+ area = match[1]
68
+ prefix = match[2].to_i
69
+ return false unless AREAS.include?(area)
70
+ return false if [911, 411, 555].include?(prefix)
71
+ return false unless prefix.to_s[0].match?(/[2-9]/)
72
+
73
+ true
74
+ end
62
75
  end
63
76
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kontact
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kontact
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thiago Chirana