phone_number_validator 0.2.1 → 0.2.2

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: b738d275e832cd19f6c417322269515b14b7e9ec786c05b59b86507f409640d0
4
- data.tar.gz: 46e37e8449934765e5ba28dfcc115b21b9d1c5b79d7a22dc3c12b684fc03d0f7
3
+ metadata.gz: a245dadacf3c7b6a0f70d0fb94e3f55c04ce1f0e1bb24a7efd14c9f311610367
4
+ data.tar.gz: 5b0b597c2ecc2c97ee4a0a9e623c8adfcfe811ce6b1f12b32fee74b6a5a93d63
5
5
  SHA512:
6
- metadata.gz: 4feb0d85c93e2ef0e910143ad541da07281341636fda1802c7f983c35ad4cb944ed81fe227389ea866c3325e0d031971a2f947f1319c0bebdf92b36b8583a1ca
7
- data.tar.gz: 1324734c3632fb52f4844bab466bada595565a112568d7135c8abc7437533800586d33fcb07090123ef9e939280a36599120a797aab31648cee92421c36cafb0
6
+ metadata.gz: 26d36e027e39d44870136436d73928a2bb861abb89aff986da427ae64d279be71d41b5aaf44429ab25266c6e24477130cb8ffdc42746e21417cb7f08d9ace0b5
7
+ data.tar.gz: 8c061cced1b200fe335d4aac1cda1a0f71c0ed2efdf8d8a2581be5536c8b17dd49226c80634dcc7c44707d0f5d010cbc7c0f6af98e35df4bc0a6fb9495783bc0
data/README.rdoc CHANGED
@@ -10,7 +10,7 @@ It uses a complex regular expression to validate any United States phone number.
10
10
 
11
11
  This gem uses the following regular expression:
12
12
 
13
- PHONE_NUMBER_REGEX = Regexp.new(/^(?:(?:[2-9]11)|(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:\x20+|#|x\.?|ext\.?|extension)\s*(\d+))?)$/, Regexp::IGNORECASE)
13
+ PHONE_NUMBER_REGEX = Regexp.new(/^(?:(?:[2-9]11)|(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:\x20+|#|x\.?|ext\.?|extension)\s*(\d+))?)$/, Regexp::IGNORECASE) # US Phone Numbers
14
14
 
15
15
  == Installing
16
16
 
@@ -106,7 +106,19 @@
106
106
 
107
107
  <dt id="PHONE_NUMBER_REGEX">PHONE_NUMBER_REGEX
108
108
 
109
- <dd>
109
+ <dd><h2 id="label-Validates+US+Phone+Numbers">Validates US Phone Numbers<span><a href="#label-Validates+US+Phone+Numbers">&para;</a> <a href="#top">&uarr;</a></span></h2>
110
+
111
+ <p>Regular Expression tested using <a
112
+ href="https://regexr.com/">regexr.com</a></p>
113
+
114
+ <p><strong>Raw Regular Expression:</strong></p>
115
+
116
+ <pre class="ruby"><span class="ruby-node">/^(?:(?:[2-9]11)|(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:\x20+|#|x\.?|ext\.?|extension)\s*(\d+))?)$/i</span>
117
+ </pre>
118
+
119
+ <p><strong>RegEx Flags:</strong></p>
120
+
121
+ <pre>Regexp::IGNORECASE: (i)</pre>
110
122
 
111
123
 
112
124
  </dl>
@@ -135,16 +147,18 @@
135
147
 
136
148
  <div class="method-description">
137
149
 
138
-
150
+ <h2 id="method-c-new-label-Initialize+Phone+Number">Initialize Phone Number<span><a href="#method-c-new-label-Initialize+Phone+Number">&para;</a> <a href="#top">&uarr;</a></span></h2>
151
+
152
+ <p><strong>Method type: constructor</strong></p>
139
153
 
140
154
 
141
155
 
142
156
 
143
157
  <div class="method-source-code" id="new-source">
144
- <pre><span class="ruby-comment"># File lib/phone_number_validator/validator.rb, line 3</span>
145
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">phone_number</span> = <span class="ruby-string">&#39;+1 (949) 355-6244 ext. 198842&#39;</span>)
146
- <span class="ruby-ivar">@phone_number</span> = <span class="ruby-identifier">phone_number</span>
147
- <span class="ruby-keyword">end</span></pre>
158
+ <pre><span class="ruby-comment"># File lib/phone_number_validator/validator.rb, line 19</span>
159
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">phone_number</span> = <span class="ruby-string">&#39;+1 (949) 355-6244 ext. 198842&#39;</span>)
160
+ <span class="ruby-ivar">@phone_number</span> = <span class="ruby-identifier">phone_number</span>
161
+ <span class="ruby-keyword">end</span></pre>
148
162
  </div>
149
163
 
150
164
  </div>
@@ -176,13 +190,25 @@
176
190
 
177
191
  <div class="method-description">
178
192
 
179
-
193
+ <h2 id="method-i-validate_phone_number-label-Validation+Method">Validation Method<span><a href="#method-i-validate_phone_number-label-Validation+Method">&para;</a> <a href="#top">&uarr;</a></span></h2>
194
+
195
+ <p>Checks to see if the phone number the user entered is valid by testing
196
+ regex the pattern with the phone number</p>
197
+
198
+ <p>Return Type:</p>
199
+
200
+ <pre class="ruby"><span class="ruby-identifier">boolean</span>
201
+ </pre>
202
+
203
+ <p>Parameters:</p>
204
+
205
+ <pre>@phone_number: (String instance)</pre>
180
206
 
181
207
 
182
208
 
183
209
 
184
210
  <div class="method-source-code" id="validate_phone_number-source">
185
- <pre><span class="ruby-comment"># File lib/phone_number_validator/validator.rb, line 6</span>
211
+ <pre><span class="ruby-comment"># File lib/phone_number_validator/validator.rb, line 34</span>
186
212
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">validate_phone_number</span>
187
213
  <span class="ruby-keyword">if</span> (<span class="ruby-constant">PHONE_NUMBER_REGEX</span>.<span class="ruby-identifier">match</span>(<span class="ruby-ivar">@phone_number</span>))
188
214
  <span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;&#39;%s&#39; is a valid phone number.&quot;</span> <span class="ruby-operator">%</span> <span class="ruby-ivar">@phone_number</span>
@@ -85,6 +85,8 @@
85
85
 
86
86
  <section class="description">
87
87
 
88
+ <h1 id="class-PhoneNumberValidator-label-Phone+Number+Validator+Parent+Class">Phone Number Validator Parent Class<span><a href="#class-PhoneNumberValidator-label-Phone+Number+Validator+Parent+Class">&para;</a> <a href="#top">&uarr;</a></span></h1>
89
+
88
90
  </section>
89
91
 
90
92
 
@@ -123,19 +125,23 @@
123
125
 
124
126
  <p>Example:</p>
125
127
 
126
- <pre>&gt;&gt; PhoneNumberValidator.validate_phone_number(&#39;+1 (949) 355-6244 ext. 198842&#39;)
127
- =&gt; &#39;+1 (949) 355-6244 ext. 198842&#39; is a valid phone number.&#39;
128
+ <pre class="ruby"><span class="ruby-constant">PhoneNumberValidator</span>.<span class="ruby-identifier">validate_phone_number</span>(<span class="ruby-string">&#39;+1 (949) 355-6244 ext. 198842&#39;</span>)
129
+ </pre>
130
+
131
+ <p>Output:</p>
132
+
133
+ <pre>=&gt; &#39;+1 (949) 355-6244 ext. 198842&#39; is a valid phone number.&#39;
128
134
  =&gt; true</pre>
129
135
 
130
136
  <p>Arguments:</p>
131
137
 
132
- <pre>phone_no: (String)</pre>
138
+ <pre>phone_number: (String)</pre>
133
139
 
134
140
 
135
141
 
136
142
 
137
143
  <div class="method-source-code" id="validate_phone_number-source">
138
- <pre><span class="ruby-comment"># File lib/phone_number_validator.rb, line 12</span>
144
+ <pre><span class="ruby-comment"># File lib/phone_number_validator.rb, line 18</span>
139
145
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">validate_phone_number</span>(<span class="ruby-identifier">phone_number</span>)
140
146
  <span class="ruby-identifier">validator</span> = <span class="ruby-constant">Validator</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">phone_number</span>)
141
147
  <span class="ruby-identifier">validator</span>.<span class="ruby-identifier">validate_phone_number</span>
@@ -87,6 +87,8 @@
87
87
 
88
88
  <section class="description">
89
89
 
90
+ <h1 id="class-PhoneNumberValidatorTest-label-Phone+Number+Validator+Test+Class">Phone Number Validator Test Class<span><a href="#class-PhoneNumberValidatorTest-label-Phone+Number+Validator+Test+Class">&para;</a> <a href="#top">&uarr;</a></span></h1>
91
+
90
92
  </section>
91
93
 
92
94
 
@@ -121,13 +123,15 @@
121
123
 
122
124
  <div class="method-description">
123
125
 
124
-
126
+ <h2 id="method-i-test_invalid_phone_number-label-Negative+Test">Negative Test<span><a href="#method-i-test_invalid_phone_number-label-Negative+Test">&para;</a> <a href="#top">&uarr;</a></span></h2>
127
+
128
+ <p>Inputs an invalid phone number and expects the output to be <em>false</em></p>
125
129
 
126
130
 
127
131
 
128
132
 
129
133
  <div class="method-source-code" id="test_invalid_phone_number-source">
130
- <pre><span class="ruby-comment"># File test/test_phone_number_validator.rb, line 9</span>
134
+ <pre><span class="ruby-comment"># File test/test_phone_number_validator.rb, line 21</span>
131
135
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">test_invalid_phone_number</span>
132
136
  <span class="ruby-identifier">assert_equal</span> <span class="ruby-keyword">false</span>,
133
137
  <span class="ruby-constant">PhoneNumberValidator</span>.<span class="ruby-identifier">validate_phone_number</span>(<span class="ruby-string">&#39;94643823637337&#39;</span>)
@@ -155,13 +159,15 @@
155
159
 
156
160
  <div class="method-description">
157
161
 
158
-
162
+ <h2 id="method-i-test_valid_phone_number-label-Positive+Test">Positive Test<span><a href="#method-i-test_valid_phone_number-label-Positive+Test">&para;</a> <a href="#top">&uarr;</a></span></h2>
163
+
164
+ <p>Inputs a valid phone number and expects the output to be <em>true</em></p>
159
165
 
160
166
 
161
167
 
162
168
 
163
169
  <div class="method-source-code" id="test_valid_phone_number-source">
164
- <pre><span class="ruby-comment"># File test/test_phone_number_validator.rb, line 5</span>
170
+ <pre><span class="ruby-comment"># File test/test_phone_number_validator.rb, line 12</span>
165
171
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">test_valid_phone_number</span>
166
172
  <span class="ruby-identifier">assert_equal</span> <span class="ruby-keyword">true</span>,
167
173
  <span class="ruby-constant">PhoneNumberValidator</span>.<span class="ruby-identifier">validate_phone_number</span>(<span class="ruby-string">&#39;+1 (949) 355-6244 ext. 198842&#39;</span>)
data/doc/README_rdoc.html CHANGED
@@ -100,7 +100,7 @@ number.</p>
100
100
 
101
101
  <p>This gem uses the following regular expression:</p>
102
102
 
103
- <pre class="ruby"><span class="ruby-constant">PHONE_NUMBER_REGEX</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">/^(?:(?:[2-9]11)|(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:\x20+|#|x\.?|ext\.?|extension)\s*(\d+))?)$/</span>, <span class="ruby-constant">Regexp</span><span class="ruby-operator">::</span><span class="ruby-constant">IGNORECASE</span>)
103
+ <pre class="ruby"><span class="ruby-constant">PHONE_NUMBER_REGEX</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">/^(?:(?:[2-9]11)|(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:\x20+|#|x\.?|ext\.?|extension)\s*(\d+))?)$/</span>, <span class="ruby-constant">Regexp</span><span class="ruby-operator">::</span><span class="ruby-constant">IGNORECASE</span>) <span class="ruby-comment"># US Phone Numbers</span>
104
104
  </pre>
105
105
 
106
106
  <h2 id="label-Installing">Installing<span><a href="#label-Installing">&para;</a> <a href="#top">&uarr;</a></span></h2>
data/doc/created.rid CHANGED
@@ -1,6 +1,6 @@
1
- Sun, 04 Nov 2018 16:15:14 -0800
2
- README.rdoc Sun, 04 Nov 2018 16:14:44 -0800
3
- lib/phone_number_validator.rb Sun, 04 Nov 2018 16:15:03 -0800
4
- lib/phone_number_validator/validator.rb Sun, 04 Nov 2018 16:14:50 -0800
5
- test/test_phone_number_validator.rb Sun, 04 Nov 2018 11:53:56 -0800
1
+ Sun, 04 Nov 2018 16:47:20 -0800
2
+ README.rdoc Sun, 04 Nov 2018 16:18:04 -0800
3
+ lib/phone_number_validator.rb Sun, 04 Nov 2018 16:46:30 -0800
4
+ lib/phone_number_validator/validator.rb Sun, 04 Nov 2018 16:46:13 -0800
5
+ test/test_phone_number_validator.rb Sun, 04 Nov 2018 16:46:16 -0800
6
6
  bin/phone_number_validator Sun, 04 Nov 2018 14:35:10 -0800
data/doc/index.html CHANGED
@@ -95,7 +95,7 @@ number.</p>
95
95
 
96
96
  <p>This gem uses the following regular expression:</p>
97
97
 
98
- <pre class="ruby"><span class="ruby-constant">PHONE_NUMBER_REGEX</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">/^(?:(?:[2-9]11)|(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:\x20+|#|x\.?|ext\.?|extension)\s*(\d+))?)$/</span>, <span class="ruby-constant">Regexp</span><span class="ruby-operator">::</span><span class="ruby-constant">IGNORECASE</span>)
98
+ <pre class="ruby"><span class="ruby-constant">PHONE_NUMBER_REGEX</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">/^(?:(?:[2-9]11)|(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:\x20+|#|x\.?|ext\.?|extension)\s*(\d+))?)$/</span>, <span class="ruby-constant">Regexp</span><span class="ruby-operator">::</span><span class="ruby-constant">IGNORECASE</span>) <span class="ruby-comment"># US Phone Numbers</span>
99
99
  </pre>
100
100
 
101
101
  <h2 id="label-Installing">Installing<span><a href="#label-Installing">&para;</a> <a href="#top">&uarr;</a></span></h2>
Binary file
@@ -1 +1 @@
1
- var search_data = {"index":{"searchIndex":["phonenumbervalidator","validator","phonenumbervalidatortest","new()","test_invalid_phone_number()","test_valid_phone_number()","validate_phone_number()","validate_phone_number()","readme"],"longSearchIndex":["phonenumbervalidator","phonenumbervalidator::validator","phonenumbervalidatortest","phonenumbervalidator::validator::new()","phonenumbervalidatortest#test_invalid_phone_number()","phonenumbervalidatortest#test_valid_phone_number()","phonenumbervalidator::validate_phone_number()","phonenumbervalidator::validator#validate_phone_number()",""],"info":[["PhoneNumberValidator","","PhoneNumberValidator.html","",""],["PhoneNumberValidator::Validator","","PhoneNumberValidator/Validator.html","",""],["PhoneNumberValidatorTest","","PhoneNumberValidatorTest.html","",""],["new","PhoneNumberValidator::Validator","PhoneNumberValidator/Validator.html#method-c-new","(phone_number = '+1 (949) 355-6244 ext. 198842')",""],["test_invalid_phone_number","PhoneNumberValidatorTest","PhoneNumberValidatorTest.html#method-i-test_invalid_phone_number","()",""],["test_valid_phone_number","PhoneNumberValidatorTest","PhoneNumberValidatorTest.html#method-i-test_valid_phone_number","()",""],["validate_phone_number","PhoneNumberValidator","PhoneNumberValidator.html#method-c-validate_phone_number","(phone_number)","<p>Validate any United States phone number!\n<p>Example:\n\n<pre>&gt;&gt; PhoneNumberValidator.validate_phone_number(&#39;+1 (949) ...</pre>\n"],["validate_phone_number","PhoneNumberValidator::Validator","PhoneNumberValidator/Validator.html#method-i-validate_phone_number","()",""],["README","","README_rdoc.html","","<p>Phone Number Validator\n<p>About\n<p>This app is a US phone number-validating RubyGem.\n"]]}}
1
+ var search_data = {"index":{"searchIndex":["phonenumbervalidator","validator","phonenumbervalidatortest","new()","test_invalid_phone_number()","test_valid_phone_number()","validate_phone_number()","validate_phone_number()","readme"],"longSearchIndex":["phonenumbervalidator","phonenumbervalidator::validator","phonenumbervalidatortest","phonenumbervalidator::validator::new()","phonenumbervalidatortest#test_invalid_phone_number()","phonenumbervalidatortest#test_valid_phone_number()","phonenumbervalidator::validate_phone_number()","phonenumbervalidator::validator#validate_phone_number()",""],"info":[["PhoneNumberValidator","","PhoneNumberValidator.html","","<p>Phone Number Validator Parent Class\n"],["PhoneNumberValidator::Validator","","PhoneNumberValidator/Validator.html","",""],["PhoneNumberValidatorTest","","PhoneNumberValidatorTest.html","","<p>Phone Number Validator Test Class\n"],["new","PhoneNumberValidator::Validator","PhoneNumberValidator/Validator.html#method-c-new","(phone_number = '+1 (949) 355-6244 ext. 198842')","<p>Initialize Phone Number\n<p><strong>Method type: constructor</strong>\n"],["test_invalid_phone_number","PhoneNumberValidatorTest","PhoneNumberValidatorTest.html#method-i-test_invalid_phone_number","()","<p>Negative Test\n<p>Inputs an invalid phone number and expects the output to be <em>false</em>\n"],["test_valid_phone_number","PhoneNumberValidatorTest","PhoneNumberValidatorTest.html#method-i-test_valid_phone_number","()","<p>Positive Test\n<p>Inputs a valid phone number and expects the output to be <em>true</em>\n"],["validate_phone_number","PhoneNumberValidator","PhoneNumberValidator.html#method-c-validate_phone_number","(phone_number)","<p>Validate any United States phone number!\n<p>Example:\n\n<pre>PhoneNumberValidator.validate_phone_number(&#39;+1 (949) ...</pre>\n"],["validate_phone_number","PhoneNumberValidator::Validator","PhoneNumberValidator/Validator.html#method-i-validate_phone_number","()","<p>Validation Method\n<p>Checks to see if the phone number the user entered is valid by testing\nregex the pattern …\n"],["README","","README_rdoc.html","","<p>Phone Number Validator\n<p>About\n<p>This app is a US phone number-validating RubyGem.\n"]]}}
Binary file
Binary file
@@ -49,12 +49,20 @@
49
49
  <ul>
50
50
  <li class="class">
51
51
  <a href="PhoneNumberValidator.html">PhoneNumberValidator</a>
52
+
53
+ <ul>
54
+ <li><a href="PhoneNumberValidator.html#label-Phone+Number+Validator+Parent+Class">Phone Number Validator Parent Class</a>
55
+ </ul>
52
56
  </li>
53
57
  <li class="class">
54
58
  <a href="PhoneNumberValidator/Validator.html">PhoneNumberValidator::Validator</a>
55
59
  </li>
56
60
  <li class="class">
57
61
  <a href="PhoneNumberValidatorTest.html">PhoneNumberValidatorTest</a>
62
+
63
+ <ul>
64
+ <li><a href="PhoneNumberValidatorTest.html#label-Phone+Number+Validator+Test+Class">Phone Number Validator Test Class</a>
65
+ </ul>
58
66
  </li>
59
67
  </ul>
60
68
 
@@ -1,8 +1,36 @@
1
1
  class PhoneNumberValidator::Validator
2
+
3
+ ##
4
+ # == Validates US Phone Numbers
5
+ #
6
+ # Regular Expression tested using {regexr.com}[https://regexr.com/]
7
+ #
8
+ # <b>Raw Regular Expression:</b>
9
+ # /^(?:(?:[2-9]11)|(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:\x20+|#|x\.?|ext\.?|extension)\s*(\d+))?)$/i
10
+ #
11
+ # <b>RegEx Flags:</b>
12
+ # Regexp::IGNORECASE: (i)
2
13
  PHONE_NUMBER_REGEX = Regexp.new(/^(?:(?:[2-9]11)|(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:\x20+|#|x\.?|ext\.?|extension)\s*(\d+))?)$/, Regexp::IGNORECASE)
3
- def initialize(phone_number = '+1 (949) 355-6244 ext. 198842')
14
+
15
+ ##
16
+ # == Initialize Phone Number
17
+ #
18
+ # <b>Method type: constructor</b>
19
+ def initialize(phone_number = '+1 (949) 355-6244 ext. 198842')
4
20
  @phone_number = phone_number
5
- end
21
+ end
22
+
23
+ ##
24
+ # == Validation Method
25
+ #
26
+ # Checks to see if the phone number the user entered is valid
27
+ # by testing regex the pattern with the phone number
28
+ #
29
+ # Return Type:
30
+ # boolean
31
+ #
32
+ # Parameters:
33
+ # @phone_number: (String instance)
6
34
  def validate_phone_number
7
35
  if (PHONE_NUMBER_REGEX.match(@phone_number))
8
36
  puts "'%s' is a valid phone number." % @phone_number
@@ -1,14 +1,20 @@
1
+ ##
2
+ # = Phone Number \Validator Parent Class
1
3
  class PhoneNumberValidator
2
4
  class << self
5
+
6
+ ##
3
7
  # Validate any United States phone number!
4
8
  #
5
9
  # Example:
6
- # >> PhoneNumberValidator.validate_phone_number('+1 (949) 355-6244 ext. 198842')
10
+ # PhoneNumberValidator.validate_phone_number('+1 (949) 355-6244 ext. 198842')
11
+ #
12
+ # Output:
7
13
  # => '+1 (949) 355-6244 ext. 198842' is a valid phone number.'
8
14
  # => true
9
15
  #
10
16
  # Arguments:
11
- # phone_no: (String)
17
+ # phone_number: (String)
12
18
  def validate_phone_number(phone_number)
13
19
  validator = Validator.new(phone_number)
14
20
  validator.validate_phone_number
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'phone_number_validator'
3
- spec.version = '0.2.1'
3
+ spec.version = '0.2.2'
4
4
  spec.date = Time.now.strftime("%Y-%m-%d")
5
5
  spec.summary = 'Validate any US phone number!'
6
6
  spec.description = 'This gem is a United States phone number validator. This gem uses a complex regular expression that can validate any United States phone number.'
@@ -1,11 +1,23 @@
1
1
  require 'test/unit'
2
2
  require 'phone_number_validator'
3
3
 
4
+ ##
5
+ # = Phone Number \Validator Test Class
4
6
  class PhoneNumberValidatorTest < Test::Unit::TestCase
7
+
8
+ ##
9
+ # == Positive Test
10
+ #
11
+ # Inputs a valid phone number and expects the output to be <em>true</em>
5
12
  def test_valid_phone_number
6
13
  assert_equal true,
7
14
  PhoneNumberValidator.validate_phone_number('+1 (949) 355-6244 ext. 198842')
8
15
  end
16
+
17
+ ##
18
+ # == Negative Test
19
+ #
20
+ # Inputs an invalid phone number and expects the output to be <em>false</em>
9
21
  def test_invalid_phone_number
10
22
  assert_equal false,
11
23
  PhoneNumberValidator.validate_phone_number('94643823637337')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phone_number_validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - bag33188