phone_number_validator 0.0.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.
Files changed (61) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +25 -0
  3. data/Gemfile +6 -0
  4. data/LICENSE +21 -0
  5. data/README.rdoc +94 -0
  6. data/Rakefile +27 -0
  7. data/bin/phone_number_validator +13 -0
  8. data/doc/PhoneNumberValidator.html +164 -0
  9. data/doc/PhoneNumberValidator/Validator.html +216 -0
  10. data/doc/PhoneNumberValidatorTest.html +190 -0
  11. data/doc/README_rdoc.html +206 -0
  12. data/doc/created.rid +6 -0
  13. data/doc/css/fonts.css +167 -0
  14. data/doc/css/rdoc.css +590 -0
  15. data/doc/fonts/Lato-Light.ttf +0 -0
  16. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  17. data/doc/fonts/Lato-Regular.ttf +0 -0
  18. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  19. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  20. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  21. data/doc/images/add.png +0 -0
  22. data/doc/images/arrow_up.png +0 -0
  23. data/doc/images/brick.png +0 -0
  24. data/doc/images/brick_link.png +0 -0
  25. data/doc/images/bug.png +0 -0
  26. data/doc/images/bullet_black.png +0 -0
  27. data/doc/images/bullet_toggle_minus.png +0 -0
  28. data/doc/images/bullet_toggle_plus.png +0 -0
  29. data/doc/images/date.png +0 -0
  30. data/doc/images/delete.png +0 -0
  31. data/doc/images/find.png +0 -0
  32. data/doc/images/loadingAnimation.gif +0 -0
  33. data/doc/images/macFFBgHack.png +0 -0
  34. data/doc/images/package.png +0 -0
  35. data/doc/images/page_green.png +0 -0
  36. data/doc/images/page_white_text.png +0 -0
  37. data/doc/images/page_white_width.png +0 -0
  38. data/doc/images/plugin.png +0 -0
  39. data/doc/images/ruby.png +0 -0
  40. data/doc/images/tag_blue.png +0 -0
  41. data/doc/images/tag_green.png +0 -0
  42. data/doc/images/transparent.png +0 -0
  43. data/doc/images/wrench.png +0 -0
  44. data/doc/images/wrench_orange.png +0 -0
  45. data/doc/images/zoom.png +0 -0
  46. data/doc/index.html +193 -0
  47. data/doc/js/darkfish.js +161 -0
  48. data/doc/js/jquery.js +4 -0
  49. data/doc/js/navigation.js +142 -0
  50. data/doc/js/navigation.js.gz +0 -0
  51. data/doc/js/search.js +109 -0
  52. data/doc/js/search_index.js +1 -0
  53. data/doc/js/search_index.js.gz +0 -0
  54. data/doc/js/searcher.js +228 -0
  55. data/doc/js/searcher.js.gz +0 -0
  56. data/doc/table_of_contents.html +105 -0
  57. data/lib/phone_number_validator.rb +19 -0
  58. data/lib/phone_number_validator/validator.rb +15 -0
  59. data/phone_number_validator.gemspec +27 -0
  60. data/test/test_phone_number_validator.rb +13 -0
  61. metadata +150 -0
@@ -0,0 +1,19 @@
1
+ class PhoneNumberValidator
2
+ class << self
3
+ # Validate any United States phone mumber!
4
+ #
5
+ # Example:
6
+ # >> PhoneNumberValidator.validate_phone_number('+1 (949) 355-6244 ext. 198842')
7
+ # => '+1 (949) 355-6244 ext. 198842' is a valid phone number.'
8
+ # => true
9
+ #
10
+ # Arguments:
11
+ # phone_no: (String)
12
+ def validate_phone_number(phone_number)
13
+ validator = Validator.new(phone_number)
14
+ validator.validate_phone_number
15
+ end
16
+ end
17
+ end
18
+
19
+ require 'phone_number_validator/validator'
@@ -0,0 +1,15 @@
1
+ class PhoneNumberValidator::Validator
2
+ PHONE_NUMBER_REGEX = /^(?:(?:[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
3
+ def initialize(phone_number = '+1 (949) 355-6244 ext. 198842')
4
+ @phone_number = phone_number
5
+ end
6
+ def validate_phone_number
7
+ if (@phone_number.match(PHONE_NUMBER_REGEX))
8
+ puts "'%s' is a valid phone number." % @phone_number
9
+ return true
10
+ else
11
+ puts "'%s' is not a valid phone number." % @phone_number
12
+ return false
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,27 @@
1
+ Gem::Specification.new do |spec|
2
+ spec.name = 'phone_number_validator'
3
+ spec.version = '0.0.0'
4
+ spec.date = Time.now.strftime("%Y-%m-%d")
5
+ spec.summary = 'Validate any US phone number!'
6
+ spec.description = 'A United States phone number validator.'
7
+ spec.authors = ['bag33188', 'Broccolini']
8
+ spec.email = 'bglatman@outlook.com'
9
+ spec.files = ['phone_number_validator.gemspec', 'Gemfile', 'Rakefile', 'LICENSE', 'README.rdoc']
10
+ spec.files += Dir['lib/**/*'] + Dir['bin/*'] + Dir['doc/**/*']
11
+ spec.files = `git ls-files -z`.split("\x0")
12
+ # spec.require_paths = ['lib', 'lib/phone_number_validator', 'doc', 'test', 'bin', '.']
13
+ spec.test_files = ['test/test_phone_number_validator.rb']
14
+ spec.executables << 'phone_number_validator'
15
+ spec.homepage = 'http://rubygems.org/gems/phone_number_validator'
16
+ spec.license = 'MIT'
17
+ spec.bindir = 'bin'
18
+ spec.extra_rdoc_files = ['README.rdoc']
19
+ spec.platform = Gem::Platform::RUBY
20
+ spec.required_ruby_version = '>= 2.0.0'
21
+ spec.required_rubygems_version = '>= 2.6.0'
22
+ spec.metadata = {'GitLab Repository URL' => 'https://gitlab.com/bag3318/phone_number_validator', 'Repository Host' => 'GitLab (https://gitlab.com)'}
23
+ spec.post_install_message = "\r\nThanks for installing my phone_number_validator gem!\r\nI hope you will enjoy using it! :)\r\n\r\n"
24
+ spec.requirements << 'A Windows, Mac, or Linux computer with Ruby and RubyGems'
25
+ spec.add_runtime_dependency 'bundler', '~> 1.11', '>= 1.11.2'
26
+ spec.add_development_dependency 'bundler', '~> 1.11', '>= 1.11.2'
27
+ end
@@ -0,0 +1,13 @@
1
+ require 'test/unit'
2
+ require 'phone_number_validator'
3
+
4
+ class PhoneNumberValidatorTest < Test::Unit::TestCase
5
+ def test_valid_phone_number
6
+ assert_equal true,
7
+ PhoneNumberValidator.validate_phone_number('+1 (949) 355-6244 ext. 198842')
8
+ end
9
+ def test_invalid_phone_number
10
+ assert_equal false,
11
+ PhoneNumberValidator.validate_phone_number('94643823637337')
12
+ end
13
+ end
metadata ADDED
@@ -0,0 +1,150 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: phone_number_validator
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - bag33188
8
+ - Broccolini
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2018-11-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.11'
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.11.2
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: '1.11'
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.11.2
34
+ - !ruby/object:Gem::Dependency
35
+ name: bundler
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.11'
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.11.2
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '1.11'
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.11.2
54
+ description: A United States phone number validator.
55
+ email: bglatman@outlook.com
56
+ executables:
57
+ - phone_number_validator
58
+ extensions: []
59
+ extra_rdoc_files:
60
+ - README.rdoc
61
+ files:
62
+ - ".gitignore"
63
+ - Gemfile
64
+ - LICENSE
65
+ - README.rdoc
66
+ - Rakefile
67
+ - bin/phone_number_validator
68
+ - doc/PhoneNumberValidator.html
69
+ - doc/PhoneNumberValidator/Validator.html
70
+ - doc/PhoneNumberValidatorTest.html
71
+ - doc/README_rdoc.html
72
+ - doc/created.rid
73
+ - doc/css/fonts.css
74
+ - doc/css/rdoc.css
75
+ - doc/fonts/Lato-Light.ttf
76
+ - doc/fonts/Lato-LightItalic.ttf
77
+ - doc/fonts/Lato-Regular.ttf
78
+ - doc/fonts/Lato-RegularItalic.ttf
79
+ - doc/fonts/SourceCodePro-Bold.ttf
80
+ - doc/fonts/SourceCodePro-Regular.ttf
81
+ - doc/images/add.png
82
+ - doc/images/arrow_up.png
83
+ - doc/images/brick.png
84
+ - doc/images/brick_link.png
85
+ - doc/images/bug.png
86
+ - doc/images/bullet_black.png
87
+ - doc/images/bullet_toggle_minus.png
88
+ - doc/images/bullet_toggle_plus.png
89
+ - doc/images/date.png
90
+ - doc/images/delete.png
91
+ - doc/images/find.png
92
+ - doc/images/loadingAnimation.gif
93
+ - doc/images/macFFBgHack.png
94
+ - doc/images/package.png
95
+ - doc/images/page_green.png
96
+ - doc/images/page_white_text.png
97
+ - doc/images/page_white_width.png
98
+ - doc/images/plugin.png
99
+ - doc/images/ruby.png
100
+ - doc/images/tag_blue.png
101
+ - doc/images/tag_green.png
102
+ - doc/images/transparent.png
103
+ - doc/images/wrench.png
104
+ - doc/images/wrench_orange.png
105
+ - doc/images/zoom.png
106
+ - doc/index.html
107
+ - doc/js/darkfish.js
108
+ - doc/js/jquery.js
109
+ - doc/js/navigation.js
110
+ - doc/js/navigation.js.gz
111
+ - doc/js/search.js
112
+ - doc/js/search_index.js
113
+ - doc/js/search_index.js.gz
114
+ - doc/js/searcher.js
115
+ - doc/js/searcher.js.gz
116
+ - doc/table_of_contents.html
117
+ - lib/phone_number_validator.rb
118
+ - lib/phone_number_validator/validator.rb
119
+ - phone_number_validator.gemspec
120
+ - test/test_phone_number_validator.rb
121
+ homepage: http://rubygems.org/gems/phone_number_validator
122
+ licenses:
123
+ - MIT
124
+ metadata:
125
+ GitLab Repository URL: https://gitlab.com/bag3318/phone_number_validator
126
+ Repository Host: GitLab (https://gitlab.com)
127
+ post_install_message: "\r\nThanks for installing my phone_number_validator gem!\r\nI
128
+ hope you will enjoy using it! :)\r\n\r\n"
129
+ rdoc_options: []
130
+ require_paths:
131
+ - lib
132
+ required_ruby_version: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: 2.0.0
137
+ required_rubygems_version: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: 2.6.0
142
+ requirements:
143
+ - A Windows, Mac, or Linux computer with Ruby and RubyGems
144
+ rubyforge_project:
145
+ rubygems_version: 2.7.7
146
+ signing_key:
147
+ specification_version: 4
148
+ summary: Validate any US phone number!
149
+ test_files:
150
+ - test/test_phone_number_validator.rb