phonelib 0.0.1

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 (80) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +137 -0
  3. data/Rakefile +36 -0
  4. data/data/PhoneNumberMetaData.xml +25515 -0
  5. data/data/phone_data.yml +9209 -0
  6. data/lib/phonelib/core.rb +86 -0
  7. data/lib/phonelib/phone.rb +166 -0
  8. data/lib/phonelib/validators.rb +47 -0
  9. data/lib/phonelib/version.rb +3 -0
  10. data/lib/phonelib.rb +14 -0
  11. data/lib/tasks/phonelib_tasks.rake +69 -0
  12. data/test/dummy/README.rdoc +261 -0
  13. data/test/dummy/Rakefile +7 -0
  14. data/test/dummy/app/assets/javascripts/application.js +15 -0
  15. data/test/dummy/app/assets/javascripts/phones.js +2 -0
  16. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  17. data/test/dummy/app/assets/stylesheets/phones.css +4 -0
  18. data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
  19. data/test/dummy/app/controllers/application_controller.rb +3 -0
  20. data/test/dummy/app/controllers/phones_controller.rb +83 -0
  21. data/test/dummy/app/helpers/application_helper.rb +2 -0
  22. data/test/dummy/app/helpers/phones_helper.rb +2 -0
  23. data/test/dummy/app/models/phone.rb +6 -0
  24. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  25. data/test/dummy/app/views/phones/_form.html.erb +25 -0
  26. data/test/dummy/app/views/phones/edit.html.erb +6 -0
  27. data/test/dummy/app/views/phones/index.html.erb +25 -0
  28. data/test/dummy/app/views/phones/new.html.erb +5 -0
  29. data/test/dummy/app/views/phones/show.html.erb +14 -0
  30. data/test/dummy/config/application.rb +59 -0
  31. data/test/dummy/config/boot.rb +10 -0
  32. data/test/dummy/config/database.yml +25 -0
  33. data/test/dummy/config/environment.rb +5 -0
  34. data/test/dummy/config/environments/development.rb +37 -0
  35. data/test/dummy/config/environments/production.rb +67 -0
  36. data/test/dummy/config/environments/test.rb +37 -0
  37. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  38. data/test/dummy/config/initializers/inflections.rb +15 -0
  39. data/test/dummy/config/initializers/mime_types.rb +5 -0
  40. data/test/dummy/config/initializers/secret_token.rb +7 -0
  41. data/test/dummy/config/initializers/session_store.rb +8 -0
  42. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  43. data/test/dummy/config/locales/en.yml +5 -0
  44. data/test/dummy/config/routes.rb +60 -0
  45. data/test/dummy/config.ru +4 -0
  46. data/test/dummy/db/development.sqlite3 +0 -0
  47. data/test/dummy/db/migrate/20130121173847_create_phones.rb +9 -0
  48. data/test/dummy/db/migrate/20130122075331_add_possible_number_to_phone.rb +5 -0
  49. data/test/dummy/db/schema.rb +23 -0
  50. data/test/dummy/db/test.sqlite3 +0 -0
  51. data/test/dummy/log/development.log +976 -0
  52. data/test/dummy/log/test.log +4627 -0
  53. data/test/dummy/public/404.html +26 -0
  54. data/test/dummy/public/422.html +26 -0
  55. data/test/dummy/public/500.html +25 -0
  56. data/test/dummy/public/favicon.ico +0 -0
  57. data/test/dummy/script/rails +6 -0
  58. data/test/dummy/test/fixtures/phones.yml +16 -0
  59. data/test/dummy/test/functional/phones_controller_test.rb +50 -0
  60. data/test/dummy/test/unit/helpers/phones_helper_test.rb +4 -0
  61. data/test/dummy/test/unit/phone_test.rb +47 -0
  62. data/test/dummy/tmp/cache/assets/C8C/B80/sprockets%2F371bf96e99717688ed7313a0c53f4212 +0 -0
  63. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  64. data/test/dummy/tmp/cache/assets/CF0/1D0/sprockets%2F6fc757c2c8329244ca95d6909865bbc2 +0 -0
  65. data/test/dummy/tmp/cache/assets/CF2/1D0/sprockets%2F0c27dcea623d22c007e33b8bf5301181 +0 -0
  66. data/test/dummy/tmp/cache/assets/D04/B50/sprockets%2F46c36c6aa77b26dddc3117542d006b94 +0 -0
  67. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  68. data/test/dummy/tmp/cache/assets/D46/C40/sprockets%2F9b88128dae7c1e6c7b28bcf197057c21 +0 -0
  69. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  70. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  71. data/test/dummy/tmp/cache/assets/D6D/E60/sprockets%2F1e022b8d5f5e26ebefd84c611bb56952 +0 -0
  72. data/test/dummy/tmp/cache/assets/D86/1B0/sprockets%2F5525f793871e81fb2bc8ff6dc05d7d8f +0 -0
  73. data/test/dummy/tmp/cache/assets/D8B/9D0/sprockets%2F017fa706d8e37400eafdda73e151d0bc +0 -0
  74. data/test/dummy/tmp/cache/assets/DD6/070/sprockets%2F2c9fb78e23cbc06765e705f8dfc6abe1 +0 -0
  75. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  76. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  77. data/test/dummy/tmp/cache/assets/E57/9D0/sprockets%2Fdc6481f3cacaff37934cae4aa8e0ecb4 +0 -0
  78. data/test/phonelib_test.rb +67 -0
  79. data/test/test_helper.rb +17 -0
  80. metadata +247 -0
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ </div>
24
+ </body>
25
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,16 @@
1
+ valid_and_possible:
2
+ number: '972541234567'
3
+ possible_number: '972541234567'
4
+
5
+ wrong:
6
+ number: 'wrong'
7
+
8
+ only_valid:
9
+ number: '972541234567'
10
+
11
+ only_possible:
12
+ possible_number: '972541234567'
13
+
14
+ valid_with_bad_possible:
15
+ number: '972541234567'
16
+ possible_number: 'wrong'
@@ -0,0 +1,50 @@
1
+ require 'test_helper'
2
+
3
+ class PhonesControllerTest < ActionController::TestCase
4
+
5
+ setup do
6
+ @phone = phones(:valid_and_possible)
7
+ end
8
+
9
+ test "should get index" do
10
+ get :index
11
+ assert_response :success
12
+ assert_not_nil assigns(:phones)
13
+ end
14
+
15
+ test "should get new" do
16
+ get :new
17
+ assert_response :success
18
+ end
19
+
20
+ test "should create phone" do
21
+ assert_difference('Phone.count') do
22
+ post :create, phone: { number: @phone.number }
23
+ end
24
+
25
+ assert_redirected_to phone_path(assigns(:phone))
26
+ end
27
+
28
+ test "should show phone" do
29
+ get :show, id: @phone
30
+ assert_response :success
31
+ end
32
+
33
+ test "should get edit" do
34
+ get :edit, id: @phone
35
+ assert_response :success
36
+ end
37
+
38
+ test "should update phone" do
39
+ put :update, id: @phone, phone: { number: @phone.number }
40
+ assert_redirected_to phone_path(assigns(:phone))
41
+ end
42
+
43
+ test "should destroy phone" do
44
+ assert_difference('Phone.count', -1) do
45
+ delete :destroy, id: @phone
46
+ end
47
+
48
+ assert_redirected_to phones_path
49
+ end
50
+ end
@@ -0,0 +1,4 @@
1
+ require 'test_helper'
2
+
3
+ class PhonesHelperTest < ActionView::TestCase
4
+ end
@@ -0,0 +1,47 @@
1
+ require 'test_helper'
2
+
3
+ class PhoneTest < ActiveSupport::TestCase
4
+ test "saves with valid phone" do
5
+ phone = Phone.new(number: '972541234567')
6
+
7
+ assert phone.save
8
+ assert phone.errors.empty?
9
+ end
10
+
11
+ test "can't save with invalid phone" do
12
+ phone = Phone.new(number: 'wrong')
13
+
14
+ assert !phone.save
15
+ assert phone.errors.any?
16
+ end
17
+
18
+ test "valid passes" do
19
+ phone = phones(:valid_and_possible)
20
+ assert phone.save
21
+ assert phone.errors.empty?
22
+ end
23
+
24
+ test "wrong fails" do
25
+ phone = phones(:wrong)
26
+ assert !phone.save
27
+ assert phone.errors.any?
28
+ end
29
+
30
+ test "allow blank passes" do
31
+ phone = phones(:only_valid)
32
+ assert phone.save
33
+ assert phone.errors.empty?
34
+ end
35
+
36
+ test "without allow blank fails" do
37
+ phone = phones(:only_possible)
38
+ assert !phone.save
39
+ assert phone.errors.any?
40
+ end
41
+
42
+ test "wrong possible and not blank fails" do
43
+ phone = phones(:valid_with_bad_possible)
44
+ assert !phone.save
45
+ assert phone.errors.any?
46
+ end
47
+ end
@@ -0,0 +1,67 @@
1
+ require 'test_helper'
2
+
3
+ class PhonelibTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, Phonelib
6
+ end
7
+
8
+ test "returns phone object" do
9
+ assert Phonelib.parse('972541234567').is_a? Phonelib::Phone
10
+ end
11
+
12
+ test "valid? with malformed phone number" do
13
+ assert !Phonelib.valid?('sdffsd')
14
+ end
15
+
16
+ test "invalid? with malformed phone number" do
17
+ assert Phonelib.invalid?('sdffsd')
18
+ end
19
+
20
+ test "valid? with valid phone number" do
21
+ assert Phonelib.valid? '972541234567'
22
+ end
23
+
24
+ test "invalid? with valid phone number" do
25
+ assert !Phonelib.invalid?('972541234567')
26
+ end
27
+
28
+ test "possible? with valid phone number" do
29
+ assert Phonelib.possible? '972541234567'
30
+ end
31
+
32
+ test "impossible? with valid phone number" do
33
+ assert !Phonelib.impossible?('972541234567')
34
+ end
35
+
36
+ test "valid? with invalid phone number" do
37
+ assert !Phonelib.valid?('97254123')
38
+ end
39
+
40
+ test "invalid? with invalid phone number" do
41
+ assert Phonelib.invalid?('97254123')
42
+ end
43
+
44
+ test "possible? with invalid phone number" do
45
+ assert !Phonelib.possible?('97254123')
46
+ end
47
+
48
+ test "impossible? with invalid phone number" do
49
+ assert Phonelib.impossible?('97254123')
50
+ end
51
+
52
+ test "valid_for_country? with correct data" do
53
+ assert Phonelib.valid_for_country?('972541234567', 'IL')
54
+ end
55
+
56
+ test "invalid_for_country? with correct data" do
57
+ assert !Phonelib.invalid_for_country?('972541234567', 'IL')
58
+ end
59
+
60
+ test "invalid_for_country? with incorrect data" do
61
+ assert Phonelib.invalid_for_country?('972541234567', 'US')
62
+ end
63
+
64
+ test "valid_for_country? with incorrect data" do
65
+ assert !Phonelib.valid_for_country?('972541234567', 'US')
66
+ end
67
+ end
@@ -0,0 +1,17 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
+
12
+ # Load fixtures from the engine
13
+ ActiveSupport::TestCase.fixture_path=(File.expand_path("../dummy/test/fixtures", __FILE__))
14
+
15
+ class ActiveSupport::TestCase
16
+ fixtures :all
17
+ end
metadata ADDED
@@ -0,0 +1,247 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: phonelib
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Vadim Senderovich
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-01-24 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 3.1.0
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.1.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: sqlite3
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: nokogiri
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: Google libphonenumber library was taken as a basis for this gem. Gem
63
+ uses its data file for validations.
64
+ email:
65
+ - daddyzgm@gmail.com
66
+ executables: []
67
+ extensions: []
68
+ extra_rdoc_files: []
69
+ files:
70
+ - data/phone_data.yml
71
+ - data/PhoneNumberMetaData.xml
72
+ - lib/phonelib/core.rb
73
+ - lib/phonelib/phone.rb
74
+ - lib/phonelib/validators.rb
75
+ - lib/phonelib/version.rb
76
+ - lib/phonelib.rb
77
+ - lib/tasks/phonelib_tasks.rake
78
+ - MIT-LICENSE
79
+ - Rakefile
80
+ - README.rdoc
81
+ - test/dummy/app/assets/javascripts/application.js
82
+ - test/dummy/app/assets/javascripts/phones.js
83
+ - test/dummy/app/assets/stylesheets/application.css
84
+ - test/dummy/app/assets/stylesheets/phones.css
85
+ - test/dummy/app/assets/stylesheets/scaffold.css
86
+ - test/dummy/app/controllers/application_controller.rb
87
+ - test/dummy/app/controllers/phones_controller.rb
88
+ - test/dummy/app/helpers/application_helper.rb
89
+ - test/dummy/app/helpers/phones_helper.rb
90
+ - test/dummy/app/models/phone.rb
91
+ - test/dummy/app/views/layouts/application.html.erb
92
+ - test/dummy/app/views/phones/_form.html.erb
93
+ - test/dummy/app/views/phones/edit.html.erb
94
+ - test/dummy/app/views/phones/index.html.erb
95
+ - test/dummy/app/views/phones/new.html.erb
96
+ - test/dummy/app/views/phones/show.html.erb
97
+ - test/dummy/config/application.rb
98
+ - test/dummy/config/boot.rb
99
+ - test/dummy/config/database.yml
100
+ - test/dummy/config/environment.rb
101
+ - test/dummy/config/environments/development.rb
102
+ - test/dummy/config/environments/production.rb
103
+ - test/dummy/config/environments/test.rb
104
+ - test/dummy/config/initializers/backtrace_silencers.rb
105
+ - test/dummy/config/initializers/inflections.rb
106
+ - test/dummy/config/initializers/mime_types.rb
107
+ - test/dummy/config/initializers/secret_token.rb
108
+ - test/dummy/config/initializers/session_store.rb
109
+ - test/dummy/config/initializers/wrap_parameters.rb
110
+ - test/dummy/config/locales/en.yml
111
+ - test/dummy/config/routes.rb
112
+ - test/dummy/config.ru
113
+ - test/dummy/db/development.sqlite3
114
+ - test/dummy/db/migrate/20130121173847_create_phones.rb
115
+ - test/dummy/db/migrate/20130122075331_add_possible_number_to_phone.rb
116
+ - test/dummy/db/schema.rb
117
+ - test/dummy/db/test.sqlite3
118
+ - test/dummy/log/development.log
119
+ - test/dummy/log/test.log
120
+ - test/dummy/public/404.html
121
+ - test/dummy/public/422.html
122
+ - test/dummy/public/500.html
123
+ - test/dummy/public/favicon.ico
124
+ - test/dummy/Rakefile
125
+ - test/dummy/README.rdoc
126
+ - test/dummy/script/rails
127
+ - test/dummy/test/fixtures/phones.yml
128
+ - test/dummy/test/functional/phones_controller_test.rb
129
+ - test/dummy/test/unit/helpers/phones_helper_test.rb
130
+ - test/dummy/test/unit/phone_test.rb
131
+ - test/dummy/tmp/cache/assets/C8C/B80/sprockets%2F371bf96e99717688ed7313a0c53f4212
132
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
133
+ - test/dummy/tmp/cache/assets/CF0/1D0/sprockets%2F6fc757c2c8329244ca95d6909865bbc2
134
+ - test/dummy/tmp/cache/assets/CF2/1D0/sprockets%2F0c27dcea623d22c007e33b8bf5301181
135
+ - test/dummy/tmp/cache/assets/D04/B50/sprockets%2F46c36c6aa77b26dddc3117542d006b94
136
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
137
+ - test/dummy/tmp/cache/assets/D46/C40/sprockets%2F9b88128dae7c1e6c7b28bcf197057c21
138
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
139
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
140
+ - test/dummy/tmp/cache/assets/D6D/E60/sprockets%2F1e022b8d5f5e26ebefd84c611bb56952
141
+ - test/dummy/tmp/cache/assets/D86/1B0/sprockets%2F5525f793871e81fb2bc8ff6dc05d7d8f
142
+ - test/dummy/tmp/cache/assets/D8B/9D0/sprockets%2F017fa706d8e37400eafdda73e151d0bc
143
+ - test/dummy/tmp/cache/assets/DD6/070/sprockets%2F2c9fb78e23cbc06765e705f8dfc6abe1
144
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
145
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
146
+ - test/dummy/tmp/cache/assets/E57/9D0/sprockets%2Fdc6481f3cacaff37934cae4aa8e0ecb4
147
+ - test/phonelib_test.rb
148
+ - test/test_helper.rb
149
+ homepage: https://github.com/daddyz/phonelib
150
+ licenses: []
151
+ post_install_message:
152
+ rdoc_options: []
153
+ require_paths:
154
+ - lib
155
+ required_ruby_version: !ruby/object:Gem::Requirement
156
+ none: false
157
+ requirements:
158
+ - - ! '>='
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ segments:
162
+ - 0
163
+ hash: -4099978874626020954
164
+ required_rubygems_version: !ruby/object:Gem::Requirement
165
+ none: false
166
+ requirements:
167
+ - - ! '>='
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ segments:
171
+ - 0
172
+ hash: -4099978874626020954
173
+ requirements: []
174
+ rubyforge_project:
175
+ rubygems_version: 1.8.24
176
+ signing_key:
177
+ specification_version: 3
178
+ summary: Gem validates phone numbers with Google libphonenumber database.
179
+ test_files:
180
+ - test/dummy/app/assets/javascripts/application.js
181
+ - test/dummy/app/assets/javascripts/phones.js
182
+ - test/dummy/app/assets/stylesheets/application.css
183
+ - test/dummy/app/assets/stylesheets/phones.css
184
+ - test/dummy/app/assets/stylesheets/scaffold.css
185
+ - test/dummy/app/controllers/application_controller.rb
186
+ - test/dummy/app/controllers/phones_controller.rb
187
+ - test/dummy/app/helpers/application_helper.rb
188
+ - test/dummy/app/helpers/phones_helper.rb
189
+ - test/dummy/app/models/phone.rb
190
+ - test/dummy/app/views/layouts/application.html.erb
191
+ - test/dummy/app/views/phones/_form.html.erb
192
+ - test/dummy/app/views/phones/edit.html.erb
193
+ - test/dummy/app/views/phones/index.html.erb
194
+ - test/dummy/app/views/phones/new.html.erb
195
+ - test/dummy/app/views/phones/show.html.erb
196
+ - test/dummy/config/application.rb
197
+ - test/dummy/config/boot.rb
198
+ - test/dummy/config/database.yml
199
+ - test/dummy/config/environment.rb
200
+ - test/dummy/config/environments/development.rb
201
+ - test/dummy/config/environments/production.rb
202
+ - test/dummy/config/environments/test.rb
203
+ - test/dummy/config/initializers/backtrace_silencers.rb
204
+ - test/dummy/config/initializers/inflections.rb
205
+ - test/dummy/config/initializers/mime_types.rb
206
+ - test/dummy/config/initializers/secret_token.rb
207
+ - test/dummy/config/initializers/session_store.rb
208
+ - test/dummy/config/initializers/wrap_parameters.rb
209
+ - test/dummy/config/locales/en.yml
210
+ - test/dummy/config/routes.rb
211
+ - test/dummy/config.ru
212
+ - test/dummy/db/development.sqlite3
213
+ - test/dummy/db/migrate/20130121173847_create_phones.rb
214
+ - test/dummy/db/migrate/20130122075331_add_possible_number_to_phone.rb
215
+ - test/dummy/db/schema.rb
216
+ - test/dummy/db/test.sqlite3
217
+ - test/dummy/log/development.log
218
+ - test/dummy/log/test.log
219
+ - test/dummy/public/404.html
220
+ - test/dummy/public/422.html
221
+ - test/dummy/public/500.html
222
+ - test/dummy/public/favicon.ico
223
+ - test/dummy/Rakefile
224
+ - test/dummy/README.rdoc
225
+ - test/dummy/script/rails
226
+ - test/dummy/test/fixtures/phones.yml
227
+ - test/dummy/test/functional/phones_controller_test.rb
228
+ - test/dummy/test/unit/helpers/phones_helper_test.rb
229
+ - test/dummy/test/unit/phone_test.rb
230
+ - test/dummy/tmp/cache/assets/C8C/B80/sprockets%2F371bf96e99717688ed7313a0c53f4212
231
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
232
+ - test/dummy/tmp/cache/assets/CF0/1D0/sprockets%2F6fc757c2c8329244ca95d6909865bbc2
233
+ - test/dummy/tmp/cache/assets/CF2/1D0/sprockets%2F0c27dcea623d22c007e33b8bf5301181
234
+ - test/dummy/tmp/cache/assets/D04/B50/sprockets%2F46c36c6aa77b26dddc3117542d006b94
235
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
236
+ - test/dummy/tmp/cache/assets/D46/C40/sprockets%2F9b88128dae7c1e6c7b28bcf197057c21
237
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
238
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
239
+ - test/dummy/tmp/cache/assets/D6D/E60/sprockets%2F1e022b8d5f5e26ebefd84c611bb56952
240
+ - test/dummy/tmp/cache/assets/D86/1B0/sprockets%2F5525f793871e81fb2bc8ff6dc05d7d8f
241
+ - test/dummy/tmp/cache/assets/D8B/9D0/sprockets%2F017fa706d8e37400eafdda73e151d0bc
242
+ - test/dummy/tmp/cache/assets/DD6/070/sprockets%2F2c9fb78e23cbc06765e705f8dfc6abe1
243
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
244
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
245
+ - test/dummy/tmp/cache/assets/E57/9D0/sprockets%2Fdc6481f3cacaff37934cae4aa8e0ecb4
246
+ - test/phonelib_test.rb
247
+ - test/test_helper.rb