proof-rails 1.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 (67) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +34 -0
  5. data/lib/generators/proof/devise/devise_generator.rb +16 -0
  6. data/lib/generators/proof/devise/templates/authentication_controller.rb +3 -0
  7. data/lib/proof/proof_actions.rb +32 -0
  8. data/lib/proof/require_proof.rb +21 -0
  9. data/lib/proof/routing.rb +0 -0
  10. data/lib/proof/token.rb +49 -0
  11. data/lib/proof/version.rb +3 -0
  12. data/lib/proof.rb +8 -0
  13. data/lib/tasks/proof_tasks.rake +4 -0
  14. data/test/dummy/README.rdoc +28 -0
  15. data/test/dummy/Rakefile +6 -0
  16. data/test/dummy/app/assets/javascripts/application.js +13 -0
  17. data/test/dummy/app/assets/javascripts/authentication.js +2 -0
  18. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  19. data/test/dummy/app/assets/stylesheets/authentication.css +4 -0
  20. data/test/dummy/app/controllers/application_controller.rb +5 -0
  21. data/test/dummy/app/controllers/authentication_controller.rb +8 -0
  22. data/test/dummy/app/helpers/application_helper.rb +2 -0
  23. data/test/dummy/app/helpers/authentication_helper.rb +2 -0
  24. data/test/dummy/app/models/user.rb +3 -0
  25. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  26. data/test/dummy/bin/bundle +3 -0
  27. data/test/dummy/bin/rails +4 -0
  28. data/test/dummy/bin/rake +4 -0
  29. data/test/dummy/bin/setup +29 -0
  30. data/test/dummy/config/application.rb +26 -0
  31. data/test/dummy/config/boot.rb +5 -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 +41 -0
  35. data/test/dummy/config/environments/production.rb +79 -0
  36. data/test/dummy/config/environments/test.rb +42 -0
  37. data/test/dummy/config/initializers/assets.rb +11 -0
  38. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  39. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  40. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  41. data/test/dummy/config/initializers/inflections.rb +16 -0
  42. data/test/dummy/config/initializers/mime_types.rb +4 -0
  43. data/test/dummy/config/initializers/session_store.rb +3 -0
  44. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  45. data/test/dummy/config/locales/en.yml +23 -0
  46. data/test/dummy/config/routes.rb +56 -0
  47. data/test/dummy/config/secrets.yml +22 -0
  48. data/test/dummy/config.ru +4 -0
  49. data/test/dummy/db/development.sqlite3 +0 -0
  50. data/test/dummy/db/migrate/20150721184218_create_users.rb +10 -0
  51. data/test/dummy/db/schema.rb +23 -0
  52. data/test/dummy/db/test.sqlite3 +0 -0
  53. data/test/dummy/log/development.log +17 -0
  54. data/test/dummy/log/test.log +2033 -0
  55. data/test/dummy/public/404.html +67 -0
  56. data/test/dummy/public/422.html +67 -0
  57. data/test/dummy/public/500.html +66 -0
  58. data/test/dummy/public/favicon.ico +0 -0
  59. data/test/dummy/test/controllers/authentication_controller_test.rb +7 -0
  60. data/test/dummy/test/fixtures/users.yml +9 -0
  61. data/test/dummy/test/models/user_test.rb +7 -0
  62. data/test/proof_actions_test.rb +33 -0
  63. data/test/proof_test.rb +7 -0
  64. data/test/require_proof_test.rb +30 -0
  65. data/test/test_helper.rb +19 -0
  66. data/test/token_test.rb +37 -0
  67. metadata +218 -0
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/404.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
64
+ </div>
65
+ </body>
66
+ </html>
File without changes
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class AuthenticationControllerTest < ActionController::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,9 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ one:
4
+ email: MyString
5
+ password_digest: MyString
6
+
7
+ two:
8
+ email: MyString
9
+ password_digest: MyString
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class UserTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,33 @@
1
+ require 'json'
2
+ require 'test_helper'
3
+
4
+ class ProofActionsTest < ActionController::TestCase
5
+ def setup
6
+ User.create(email: 'real@email.com', password: 'realpassword')
7
+
8
+ @controller = AuthenticationController.new
9
+ @request = ActionController::TestRequest.new
10
+ @response = ActionController::TestResponse.new
11
+
12
+ Rails.application.routes.draw do
13
+ post 'login' => 'authentication#login'
14
+ end
15
+ end
16
+
17
+ def test_proof_actions_defines_login_method
18
+ assert @controller.respond_to? :login
19
+ end
20
+
21
+ def test_proof_actions_invalid_user_returns_unauthorized
22
+ post :login, { 'identifier' => 'fake@email.com', 'password' => 'password' }
23
+ assert_response :unauthorized
24
+ end
25
+
26
+ def test_proof_actions_valid_user_returns_token
27
+ post :login, { 'identifier' => 'real@email.com', 'password' => 'realpassword' }
28
+ response = JSON.parse(@response.body)
29
+
30
+ assert_response :success
31
+ assert_not_nil response['auth_token']
32
+ end
33
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class ProofTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, Proof
6
+ end
7
+ end
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ class RequireProofTest < ActionController::TestCase
4
+ @@authorized_token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxfQ.aM3hZFSjILMLjRBOZSXmClIGJeoNgjqCDC37FyJ8RBg'
5
+
6
+ def setup
7
+ User.create(email: 'real@email.com', password: 'realpassword')
8
+
9
+ @controller = AuthenticationController.new
10
+ @request = ActionController::TestRequest.new
11
+ @response = ActionController::TestResponse.new
12
+
13
+ Rails.application.routes.draw do
14
+ get 'test' => 'authentication#test'
15
+ end
16
+ end
17
+
18
+ def test_request_unauthorized_without_token
19
+ get :test
20
+ assert_response :unauthorized
21
+ end
22
+
23
+ def test_request_authorized_with_token
24
+ @request.headers["Authorization"] = "Bearer #{@@authorized_token}"
25
+ get :test
26
+ assert_response :success
27
+ assert_not_nil @controller.current_user
28
+ assert_not_nil assigns(:current_user)
29
+ end
30
+ end
@@ -0,0 +1,19 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
5
+ ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)]
6
+ require "rails/test_help"
7
+
8
+ # Filter out Minitest backtrace while allowing backtrace from other libraries
9
+ # to be shown.
10
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
11
+
12
+ # Load support files
13
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
14
+
15
+ # Load fixtures from the engine
16
+ if ActiveSupport::TestCase.respond_to?(:fixture_path=)
17
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
18
+ ActiveSupport::TestCase.fixtures :all
19
+ end
@@ -0,0 +1,37 @@
1
+ require 'test_helper'
2
+
3
+ class TokenTest < ActiveSupport::TestCase
4
+ # Utility variables
5
+ @@token_from_encoded_data = {
6
+ username: 'johnsmith',
7
+ password: 'password'
8
+ }
9
+
10
+ @@token_from_data = {
11
+ user_id: 1
12
+ }
13
+
14
+ # Utility methods
15
+ def exp_removed(data)
16
+ # Remove expiration date from hash
17
+ d = data.clone
18
+ d.delete(:exp)
19
+ d
20
+ end
21
+
22
+
23
+
24
+ def test_create_token_from_data
25
+ token = Proof::Token.from_data(@@token_from_data)
26
+ end
27
+
28
+ def test_create_token_from_encoded
29
+ # Pre-encoded token generated from Token class defaults and @@data
30
+ assert_raise JWT::ExpiredSignature do
31
+ token = Proof::Token.from_token('eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImpvaG5zbWl0aCIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJleHAiOjE0Mzc1Mjc3Mjh9.GXmzrexiyYaRGnKJ7Mv7HFvZTm4JwgJ8uCYQ3DN941M')
32
+ assert_equal @@token_from_encoded_data, exp_removed(token.data)
33
+ assert_equal true, token.expired?
34
+ assert_equal 'HS256', token.algorithm
35
+ end
36
+ end
37
+ end
metadata ADDED
@@ -0,0 +1,218 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: proof-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Thomas Hobohm
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-07-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 4.2.3
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 4.2.3
41
+ - !ruby/object:Gem::Dependency
42
+ name: jwt
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: sqlite3
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: Proof provides an easy-to-use JWT-based authentication system.
70
+ email:
71
+ - superman3275@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - MIT-LICENSE
77
+ - README.rdoc
78
+ - Rakefile
79
+ - lib/generators/proof/devise/devise_generator.rb
80
+ - lib/generators/proof/devise/templates/authentication_controller.rb
81
+ - lib/proof.rb
82
+ - lib/proof/proof_actions.rb
83
+ - lib/proof/require_proof.rb
84
+ - lib/proof/routing.rb
85
+ - lib/proof/token.rb
86
+ - lib/proof/version.rb
87
+ - lib/tasks/proof_tasks.rake
88
+ - test/dummy/README.rdoc
89
+ - test/dummy/Rakefile
90
+ - test/dummy/app/assets/javascripts/application.js
91
+ - test/dummy/app/assets/javascripts/authentication.js
92
+ - test/dummy/app/assets/stylesheets/application.css
93
+ - test/dummy/app/assets/stylesheets/authentication.css
94
+ - test/dummy/app/controllers/application_controller.rb
95
+ - test/dummy/app/controllers/authentication_controller.rb
96
+ - test/dummy/app/helpers/application_helper.rb
97
+ - test/dummy/app/helpers/authentication_helper.rb
98
+ - test/dummy/app/models/user.rb
99
+ - test/dummy/app/views/layouts/application.html.erb
100
+ - test/dummy/bin/bundle
101
+ - test/dummy/bin/rails
102
+ - test/dummy/bin/rake
103
+ - test/dummy/bin/setup
104
+ - test/dummy/config.ru
105
+ - test/dummy/config/application.rb
106
+ - test/dummy/config/boot.rb
107
+ - test/dummy/config/database.yml
108
+ - test/dummy/config/environment.rb
109
+ - test/dummy/config/environments/development.rb
110
+ - test/dummy/config/environments/production.rb
111
+ - test/dummy/config/environments/test.rb
112
+ - test/dummy/config/initializers/assets.rb
113
+ - test/dummy/config/initializers/backtrace_silencers.rb
114
+ - test/dummy/config/initializers/cookies_serializer.rb
115
+ - test/dummy/config/initializers/filter_parameter_logging.rb
116
+ - test/dummy/config/initializers/inflections.rb
117
+ - test/dummy/config/initializers/mime_types.rb
118
+ - test/dummy/config/initializers/session_store.rb
119
+ - test/dummy/config/initializers/wrap_parameters.rb
120
+ - test/dummy/config/locales/en.yml
121
+ - test/dummy/config/routes.rb
122
+ - test/dummy/config/secrets.yml
123
+ - test/dummy/db/development.sqlite3
124
+ - test/dummy/db/migrate/20150721184218_create_users.rb
125
+ - test/dummy/db/schema.rb
126
+ - test/dummy/db/test.sqlite3
127
+ - test/dummy/log/development.log
128
+ - test/dummy/log/test.log
129
+ - test/dummy/public/404.html
130
+ - test/dummy/public/422.html
131
+ - test/dummy/public/500.html
132
+ - test/dummy/public/favicon.ico
133
+ - test/dummy/test/controllers/authentication_controller_test.rb
134
+ - test/dummy/test/fixtures/users.yml
135
+ - test/dummy/test/models/user_test.rb
136
+ - test/proof_actions_test.rb
137
+ - test/proof_test.rb
138
+ - test/require_proof_test.rb
139
+ - test/test_helper.rb
140
+ - test/token_test.rb
141
+ homepage: https://github.com/superman3275/proof
142
+ licenses:
143
+ - MIT
144
+ metadata: {}
145
+ post_install_message:
146
+ rdoc_options: []
147
+ require_paths:
148
+ - lib
149
+ required_ruby_version: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ required_rubygems_version: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ requirements: []
160
+ rubyforge_project:
161
+ rubygems_version: 2.4.8
162
+ signing_key:
163
+ specification_version: 4
164
+ summary: Authentication for modern web apps.
165
+ test_files:
166
+ - test/require_proof_test.rb
167
+ - test/token_test.rb
168
+ - test/dummy/app/assets/javascripts/application.js
169
+ - test/dummy/app/assets/javascripts/authentication.js
170
+ - test/dummy/app/assets/stylesheets/authentication.css
171
+ - test/dummy/app/assets/stylesheets/application.css
172
+ - test/dummy/app/models/user.rb
173
+ - test/dummy/app/controllers/application_controller.rb
174
+ - test/dummy/app/controllers/authentication_controller.rb
175
+ - test/dummy/app/views/layouts/application.html.erb
176
+ - test/dummy/app/helpers/application_helper.rb
177
+ - test/dummy/app/helpers/authentication_helper.rb
178
+ - test/dummy/public/422.html
179
+ - test/dummy/public/404.html
180
+ - test/dummy/public/500.html
181
+ - test/dummy/public/favicon.ico
182
+ - test/dummy/Rakefile
183
+ - test/dummy/config.ru
184
+ - test/dummy/db/test.sqlite3
185
+ - test/dummy/db/schema.rb
186
+ - test/dummy/db/development.sqlite3
187
+ - test/dummy/db/migrate/20150721184218_create_users.rb
188
+ - test/dummy/bin/bundle
189
+ - test/dummy/bin/setup
190
+ - test/dummy/bin/rails
191
+ - test/dummy/bin/rake
192
+ - test/dummy/test/fixtures/users.yml
193
+ - test/dummy/test/models/user_test.rb
194
+ - test/dummy/test/controllers/authentication_controller_test.rb
195
+ - test/dummy/log/development.log
196
+ - test/dummy/log/test.log
197
+ - test/dummy/config/environments/production.rb
198
+ - test/dummy/config/environments/test.rb
199
+ - test/dummy/config/environments/development.rb
200
+ - test/dummy/config/locales/en.yml
201
+ - test/dummy/config/initializers/filter_parameter_logging.rb
202
+ - test/dummy/config/initializers/wrap_parameters.rb
203
+ - test/dummy/config/initializers/inflections.rb
204
+ - test/dummy/config/initializers/mime_types.rb
205
+ - test/dummy/config/initializers/assets.rb
206
+ - test/dummy/config/initializers/backtrace_silencers.rb
207
+ - test/dummy/config/initializers/session_store.rb
208
+ - test/dummy/config/initializers/cookies_serializer.rb
209
+ - test/dummy/config/routes.rb
210
+ - test/dummy/config/environment.rb
211
+ - test/dummy/config/application.rb
212
+ - test/dummy/config/database.yml
213
+ - test/dummy/config/boot.rb
214
+ - test/dummy/config/secrets.yml
215
+ - test/dummy/README.rdoc
216
+ - test/proof_actions_test.rb
217
+ - test/proof_test.rb
218
+ - test/test_helper.rb