phone_number_validator 0.2.1 → 0.2.2

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