ruby_jwt 1.1.0 → 2.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 +4 -4
  2. data/lib/ruby_jwt.rb +22 -20
  3. data/lib/ruby_jwt/version.rb +1 -1
  4. data/test/dummy/app/assets/javascripts/main.js +2 -0
  5. data/test/dummy/app/assets/javascripts/users.js +2 -0
  6. data/test/dummy/app/assets/stylesheets/main.css +4 -0
  7. data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
  8. data/test/dummy/app/assets/stylesheets/users.css +4 -0
  9. data/test/dummy/app/controllers/application_controller.rb +14 -0
  10. data/test/dummy/app/controllers/main_controller.rb +7 -0
  11. data/test/dummy/app/controllers/users_controller.rb +64 -0
  12. data/test/dummy/app/helpers/main_helper.rb +2 -0
  13. data/test/dummy/app/helpers/users_helper.rb +2 -0
  14. data/test/dummy/app/models/user.rb +2 -0
  15. data/test/dummy/app/views/main/index.html.erb +2 -0
  16. data/test/dummy/app/views/main/login.html.erb +2 -0
  17. data/test/dummy/app/views/users/_form.html.erb +25 -0
  18. data/test/dummy/app/views/users/edit.html.erb +6 -0
  19. data/test/dummy/app/views/users/index.html.erb +27 -0
  20. data/test/dummy/app/views/users/login.html.erb +1 -0
  21. data/test/dummy/app/views/users/new.html.erb +5 -0
  22. data/test/dummy/app/views/users/show.html.erb +14 -0
  23. data/test/dummy/config/routes.rb +9 -0
  24. data/test/dummy/db/development.sqlite3 +0 -0
  25. data/test/dummy/db/migrate/20140919004039_create_users.rb +10 -0
  26. data/test/dummy/db/schema.rb +23 -0
  27. data/test/dummy/log/development.log +1112 -0
  28. data/test/dummy/log/test.log +830 -0
  29. data/test/dummy/tmp/cache/assets/development/sprockets/0800f54ee19cf3cee10b956fa9786799 +0 -0
  30. data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  31. data/test/dummy/tmp/cache/assets/development/sprockets/25fca4643219052b0d5c66cf2c71f72f +0 -0
  32. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  33. data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  34. data/test/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
  35. data/test/dummy/tmp/cache/assets/development/sprockets/386e9196dd0f9efdce6f92ce93a6d107 +0 -0
  36. data/test/dummy/tmp/cache/assets/development/sprockets/3f9170db678c4e1fdfa51752e5ec8e39 +0 -0
  37. data/test/dummy/tmp/cache/assets/development/sprockets/4050a4e5062ab95c9f32e9b6940821ea +0 -0
  38. data/test/dummy/tmp/cache/assets/development/sprockets/489af12e680adec109e506328fdc1368 +0 -0
  39. data/test/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5 +0 -0
  40. data/test/dummy/tmp/cache/assets/development/sprockets/5f1a0d05e77ca8b9a1fc2a47e17a8174 +0 -0
  41. data/test/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
  42. data/test/dummy/tmp/cache/assets/development/sprockets/87b209c0c9da28094a8d5581a21262c6 +0 -0
  43. data/test/dummy/tmp/cache/assets/development/sprockets/cebc6db0bbb8120f430da3970b173d2f +0 -0
  44. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  45. data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  46. data/test/dummy/tmp/cache/assets/development/sprockets/e36b8fcf5914a3a6bf058abfe7367b19 +0 -0
  47. data/test/dummy/tmp/cache/assets/development/sprockets/f56253b5f374fff1a33fbbc9881c9124 +0 -0
  48. data/test/dummy/tmp/cache/assets/development/sprockets/f6eeb33602682bd6ff6d1f177f6b142d +0 -0
  49. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  50. data/test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  51. data/test/dummy/tmp/cache/assets/test/sprockets/25fca4643219052b0d5c66cf2c71f72f +0 -0
  52. data/test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  53. data/test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  54. data/test/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
  55. data/test/dummy/tmp/cache/assets/test/sprockets/386e9196dd0f9efdce6f92ce93a6d107 +0 -0
  56. data/test/dummy/tmp/cache/assets/test/sprockets/4050a4e5062ab95c9f32e9b6940821ea +0 -0
  57. data/test/dummy/tmp/cache/assets/test/sprockets/5f1a0d05e77ca8b9a1fc2a47e17a8174 +0 -0
  58. data/test/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
  59. data/test/dummy/tmp/cache/assets/test/sprockets/87b209c0c9da28094a8d5581a21262c6 +0 -0
  60. data/test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  61. data/test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  62. data/test/dummy/tmp/cache/assets/test/sprockets/e36b8fcf5914a3a6bf058abfe7367b19 +0 -0
  63. data/test/dummy/tmp/cache/assets/test/sprockets/f56253b5f374fff1a33fbbc9881c9124 +0 -0
  64. data/test/dummy/tmp/cache/assets/test/sprockets/f6eeb33602682bd6ff6d1f177f6b142d +0 -0
  65. data/test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  66. data/test/ruby_jwt_test.rb +12 -16
  67. metadata +118 -2
@@ -14,7 +14,7 @@ class RubyJwtTest < ActiveSupport::TestCase
14
14
  jwt = JWT.sign(@payload,@secret,@payload_options,nil)
15
15
  decoded = JWT.decode(jwt)
16
16
  verified_jwt = JWT.verify(jwt,@secret,@payload_options)
17
- assert_equal(@header,decoded.header, "header is invalid") and assert_equal(@payload,decoded.payload,"payload is invalid") and assert_equal(true,verified_jwt.success) and assert_equal(@header,verified_jwt.decoded_token.header, "header is invalid") and assert_equal(@payload,verified_jwt.decoded_token.payload,"payload is invalid")
17
+ assert_equal(@header, verified_jwt.header) and assert_equal(@payload,decoded.payload)
18
18
  end
19
19
 
20
20
  test "should encode and decode none" do
@@ -22,7 +22,7 @@ class RubyJwtTest < ActiveSupport::TestCase
22
22
  jwt = JWT.sign(@payload,nil,@payload_options,@header)
23
23
  decoded = JWT.decode(jwt)
24
24
  verified_jwt = JWT.verify(jwt,nil,@payload_options)
25
- assert_equal(@header,decoded.header, "header is invalid") and assert_equal(@payload,decoded.payload,"payload is invalid") and assert_equal(true,verified_jwt.success) and assert_equal(@header,verified_jwt.decoded_token.header, "header is invalid") and assert_equal(@payload,verified_jwt.decoded_token.payload,"payload is invalid")
25
+ assert_equal(@header, verified_jwt.header) and assert_equal(@payload,decoded.payload)
26
26
  end
27
27
 
28
28
  test "should encode and decode RSA" do
@@ -30,7 +30,7 @@ class RubyJwtTest < ActiveSupport::TestCase
30
30
  jwt = JWT.sign(@payload,@key,@payload_options,@header)
31
31
  decoded = JWT.decode(jwt)
32
32
  verified_jwt = JWT.verify(jwt,@key,@payload_options)
33
- assert_equal(@header,decoded.header, "header is invalid") and assert_equal(@payload,decoded.payload,"payload is invalid") and assert_equal(true,verified_jwt.success) and assert_equal(@header,verified_jwt.decoded_token.header, "header is invalid") and assert_equal(@payload,verified_jwt.decoded_token.payload,"payload is invalid")
33
+ assert_equal(@header, verified_jwt.header) and assert_equal(@payload,decoded.payload)
34
34
  end
35
35
 
36
36
  test "should encode and decode ECDSA" do
@@ -40,7 +40,7 @@ class RubyJwtTest < ActiveSupport::TestCase
40
40
  jwt = JWT.sign(@payload,pk,@payload_options,@header)
41
41
  decoded = JWT.decode(jwt)
42
42
  verified_jwt = JWT.verify(jwt,pk,@payload_options)
43
- assert_equal(@header,decoded.header, "header is invalid") and assert_equal(@payload,decoded.payload,"payload is invalid") and assert_equal(true,verified_jwt.success) and assert_equal(@header,verified_jwt.decoded_token.header, "header is invalid") and assert_equal(@payload,verified_jwt.decoded_token.payload,"payload is invalid")
43
+ assert_equal(@header, verified_jwt.header) and assert_equal(@payload,decoded.payload)
44
44
  end
45
45
 
46
46
  test "decodes and verifies existing token" do
@@ -48,39 +48,35 @@ class RubyJwtTest < ActiveSupport::TestCase
48
48
  token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJDaHJpcyBXZXN0b24iLCJpYXQiOjE0MTA2MTc1NzQsImV4cCI6MTY5MDUwNzYzOTcsImF1ZCI6Ind3dy5leGFtcGxlLmNvbSIsInN1YiI6Impyb2NrZXRAZXhhbXBsZS5jb20iLCJHaXZlbk5hbWUiOiJKb2hubnkiLCJTdXJuYW1lIjoiUm9ja2V0IiwiRW1haWwiOiJqcm9ja2V0QGV4YW1wbGUuY29tIiwiUm9sZSI6WyJNYW5hZ2VyIiwiUHJvamVjdCBBZG1pbmlzdHJhdG9yIl19.llRwkrzrkAu_n4XFGvZpHR3J_p_Ow3er7LxJBZS-4M4"
49
49
  decoded = JWT.decode(token)
50
50
  verified = JWT.verify(token,secret,{:iss => "Chris Weston", :aud => ["www.example.com", "mysite.com"]})
51
- assert_equal(true,verified.success) and assert_equal("Chris Weston",decoded.payload[:iss]) and assert_equal(true, (decoded.payload[:Role].include? "Manager"))
51
+ assert_equal("Chris Weston",verified.payload[:iss]) and assert_equal(true, (verified.payload[:Role].include? "Manager"))
52
52
  end
53
53
 
54
54
  test "returns false if expired" do
55
55
  @payload_options[:exp] = - 50
56
56
  jwt = JWT.sign(@payload,@secret,@payload_options,@header)
57
- verified_jwt = JWT.verify(jwt,@secret,@payload_options)
58
- assert_equal(false, verified_jwt.success) and assert_equal("JWT is expired.",verified_jwt.message)
57
+ assert_raises(JWT::VerificationError){ verified_jwt = JWT.verify(jwt,@secret,@payload_options)}
59
58
  end
60
59
 
61
60
  test "returns false if before nbf" do
62
61
  @payload_options[:nbf] = 50
63
62
  jwt = JWT.sign(@payload,@secret,@payload_options,@header)
64
- verified_jwt = JWT.verify(jwt,@secret,@payload_options)
65
- assert_equal(false, verified_jwt.success) and assert_equal("JWT nbf has not passed yet.",verified_jwt.message)
63
+ assert_raises(JWT::VerificationError){ verified_jwt = JWT.verify(jwt,@secret,@payload_options)}
66
64
  end
67
65
 
68
66
  test "returns false if wrong audience" do
69
67
  jwt = JWT.sign(@payload,@secret,@payload_options,@header)
70
- verified_jwt = JWT.verify(jwt,@secret,{:aud => "not_your_app"})
71
- assert_equal(false, verified_jwt.success) and assert_equal("JWT audience is invalid.",verified_jwt.message)
68
+
69
+ assert_raises(JWT::VerificationError){ verified_jwt = JWT.verify(jwt,@secret,{:aud => "not_your_app"})}
72
70
  end
73
71
 
74
72
  test "returns false if wrong issuer" do
75
73
  jwt = JWT.sign(@payload,@secret,@payload_options,@header)
76
- verified_jwt = JWT.verify(jwt,@secret,{:iss => "not_my_app"})
77
- assert_equal(false, verified_jwt.success) and assert_equal("JWT issuer is invalid.",verified_jwt.message)
74
+ assert_raises(JWT::VerificationError){verified_jwt = JWT.verify(jwt,@secret,{:iss => "not_my_app"})}
78
75
  end
79
76
 
80
77
  test "returns false if invalid signature" do
81
78
  jwt = JWT.sign(@payload,@secret,@payload_options,@header)
82
- verified_jwt = JWT.verify(jwt,"bad_secret")
83
- assert_equal(false, verified_jwt.success) and assert_equal("JWT signature is invalid.",verified_jwt.message)
79
+ assert_raises(JWT::VerificationError){verified_jwt = JWT.verify(jwt,"bad_secret")}
84
80
  end
85
81
 
86
82
  test "returns sign error for no key" do
@@ -93,7 +89,7 @@ class RubyJwtTest < ActiveSupport::TestCase
93
89
 
94
90
  test "returns decode error for invalid base64" do
95
91
  token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ.eyJpc3MiOiJDaHJpcyBXZXN0b24iLCJpYXQiOjE0MTA2MTc1NzQsImV4cCI6MTY5MDUwNzYzOTcsImF1ZCI6Ind3dy5leGFtcGxlLmNvbSIsInN1YiI6Impyb2NrZXRAZXhhbXBsZS5jb20iLCJHaXZlbk5hbWUiOiJKb2hubnkiLCJTdXJuYW1lIjoiUm9ja2V0IiwiRW1haWwiOiJqcm9ja2V0QGV4YW1wbGUuY29tIiwiUm9sZSI6WyJNYW5hZ2VyIiwiUHJvamVjdCBBZG1pbmlzdHJhdG9yIl19.llRwkrzrkAu_n4XFGvZpHR3J_p_Ow3er7LxJBZS-4M4"
96
- assert_raises(JWT::DecodeError){JWT.decode(token)}
92
+ assert_raises(JWT::VerificationError){JWT.decode(token)}
97
93
  end
98
94
 
99
95
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_jwt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Weston
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-16 00:00:00.000000000 Z
11
+ date: 2014-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -53,10 +53,28 @@ files:
53
53
  - test/dummy/README.rdoc
54
54
  - test/dummy/Rakefile
55
55
  - test/dummy/app/assets/javascripts/application.js
56
+ - test/dummy/app/assets/javascripts/main.js
57
+ - test/dummy/app/assets/javascripts/users.js
56
58
  - test/dummy/app/assets/stylesheets/application.css
59
+ - test/dummy/app/assets/stylesheets/main.css
60
+ - test/dummy/app/assets/stylesheets/scaffold.css
61
+ - test/dummy/app/assets/stylesheets/users.css
57
62
  - test/dummy/app/controllers/application_controller.rb
63
+ - test/dummy/app/controllers/main_controller.rb
64
+ - test/dummy/app/controllers/users_controller.rb
58
65
  - test/dummy/app/helpers/application_helper.rb
66
+ - test/dummy/app/helpers/main_helper.rb
67
+ - test/dummy/app/helpers/users_helper.rb
68
+ - test/dummy/app/models/user.rb
59
69
  - test/dummy/app/views/layouts/application.html.erb
70
+ - test/dummy/app/views/main/index.html.erb
71
+ - test/dummy/app/views/main/login.html.erb
72
+ - test/dummy/app/views/users/_form.html.erb
73
+ - test/dummy/app/views/users/edit.html.erb
74
+ - test/dummy/app/views/users/index.html.erb
75
+ - test/dummy/app/views/users/login.html.erb
76
+ - test/dummy/app/views/users/new.html.erb
77
+ - test/dummy/app/views/users/show.html.erb
60
78
  - test/dummy/bin/bundle
61
79
  - test/dummy/bin/rails
62
80
  - test/dummy/bin/rake
@@ -79,6 +97,9 @@ files:
79
97
  - test/dummy/config/locales/en.yml
80
98
  - test/dummy/config/routes.rb
81
99
  - test/dummy/config/secrets.yml
100
+ - test/dummy/db/development.sqlite3
101
+ - test/dummy/db/migrate/20140919004039_create_users.rb
102
+ - test/dummy/db/schema.rb
82
103
  - test/dummy/db/test.sqlite3
83
104
  - test/dummy/log/development.log
84
105
  - test/dummy/log/test.log
@@ -86,6 +107,43 @@ files:
86
107
  - test/dummy/public/422.html
87
108
  - test/dummy/public/500.html
88
109
  - test/dummy/public/favicon.ico
110
+ - test/dummy/tmp/cache/assets/development/sprockets/0800f54ee19cf3cee10b956fa9786799
111
+ - test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
112
+ - test/dummy/tmp/cache/assets/development/sprockets/25fca4643219052b0d5c66cf2c71f72f
113
+ - test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
114
+ - test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
115
+ - test/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212
116
+ - test/dummy/tmp/cache/assets/development/sprockets/386e9196dd0f9efdce6f92ce93a6d107
117
+ - test/dummy/tmp/cache/assets/development/sprockets/3f9170db678c4e1fdfa51752e5ec8e39
118
+ - test/dummy/tmp/cache/assets/development/sprockets/4050a4e5062ab95c9f32e9b6940821ea
119
+ - test/dummy/tmp/cache/assets/development/sprockets/489af12e680adec109e506328fdc1368
120
+ - test/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5
121
+ - test/dummy/tmp/cache/assets/development/sprockets/5f1a0d05e77ca8b9a1fc2a47e17a8174
122
+ - test/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2
123
+ - test/dummy/tmp/cache/assets/development/sprockets/87b209c0c9da28094a8d5581a21262c6
124
+ - test/dummy/tmp/cache/assets/development/sprockets/cebc6db0bbb8120f430da3970b173d2f
125
+ - test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
126
+ - test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
127
+ - test/dummy/tmp/cache/assets/development/sprockets/e36b8fcf5914a3a6bf058abfe7367b19
128
+ - test/dummy/tmp/cache/assets/development/sprockets/f56253b5f374fff1a33fbbc9881c9124
129
+ - test/dummy/tmp/cache/assets/development/sprockets/f6eeb33602682bd6ff6d1f177f6b142d
130
+ - test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
131
+ - test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
132
+ - test/dummy/tmp/cache/assets/test/sprockets/25fca4643219052b0d5c66cf2c71f72f
133
+ - test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
134
+ - test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
135
+ - test/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212
136
+ - test/dummy/tmp/cache/assets/test/sprockets/386e9196dd0f9efdce6f92ce93a6d107
137
+ - test/dummy/tmp/cache/assets/test/sprockets/4050a4e5062ab95c9f32e9b6940821ea
138
+ - test/dummy/tmp/cache/assets/test/sprockets/5f1a0d05e77ca8b9a1fc2a47e17a8174
139
+ - test/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2
140
+ - test/dummy/tmp/cache/assets/test/sprockets/87b209c0c9da28094a8d5581a21262c6
141
+ - test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
142
+ - test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
143
+ - test/dummy/tmp/cache/assets/test/sprockets/e36b8fcf5914a3a6bf058abfe7367b19
144
+ - test/dummy/tmp/cache/assets/test/sprockets/f56253b5f374fff1a33fbbc9881c9124
145
+ - test/dummy/tmp/cache/assets/test/sprockets/f6eeb33602682bd6ff6d1f177f6b142d
146
+ - test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
89
147
  - test/ruby_jwt_test.rb
90
148
  - test/test_helper.rb
91
149
  homepage: https://github.com/Notsew/ruby_jwt
@@ -116,13 +174,71 @@ test_files:
116
174
  - test/test_helper.rb
117
175
  - test/ruby_jwt_test.rb
118
176
  - test/dummy/Rakefile
177
+ - test/dummy/db/development.sqlite3
119
178
  - test/dummy/db/test.sqlite3
179
+ - test/dummy/db/migrate/20140919004039_create_users.rb
180
+ - test/dummy/db/schema.rb
181
+ - test/dummy/tmp/cache/assets/test/sprockets/386e9196dd0f9efdce6f92ce93a6d107
182
+ - test/dummy/tmp/cache/assets/test/sprockets/e36b8fcf5914a3a6bf058abfe7367b19
183
+ - test/dummy/tmp/cache/assets/test/sprockets/25fca4643219052b0d5c66cf2c71f72f
184
+ - test/dummy/tmp/cache/assets/test/sprockets/5f1a0d05e77ca8b9a1fc2a47e17a8174
185
+ - test/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212
186
+ - test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
187
+ - test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
188
+ - test/dummy/tmp/cache/assets/test/sprockets/f56253b5f374fff1a33fbbc9881c9124
189
+ - test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
190
+ - test/dummy/tmp/cache/assets/test/sprockets/87b209c0c9da28094a8d5581a21262c6
191
+ - test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
192
+ - test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
193
+ - test/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2
194
+ - test/dummy/tmp/cache/assets/test/sprockets/4050a4e5062ab95c9f32e9b6940821ea
195
+ - test/dummy/tmp/cache/assets/test/sprockets/f6eeb33602682bd6ff6d1f177f6b142d
196
+ - test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
197
+ - test/dummy/tmp/cache/assets/development/sprockets/386e9196dd0f9efdce6f92ce93a6d107
198
+ - test/dummy/tmp/cache/assets/development/sprockets/e36b8fcf5914a3a6bf058abfe7367b19
199
+ - test/dummy/tmp/cache/assets/development/sprockets/25fca4643219052b0d5c66cf2c71f72f
200
+ - test/dummy/tmp/cache/assets/development/sprockets/5f1a0d05e77ca8b9a1fc2a47e17a8174
201
+ - test/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212
202
+ - test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
203
+ - test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
204
+ - test/dummy/tmp/cache/assets/development/sprockets/f56253b5f374fff1a33fbbc9881c9124
205
+ - test/dummy/tmp/cache/assets/development/sprockets/0800f54ee19cf3cee10b956fa9786799
206
+ - test/dummy/tmp/cache/assets/development/sprockets/489af12e680adec109e506328fdc1368
207
+ - test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
208
+ - test/dummy/tmp/cache/assets/development/sprockets/87b209c0c9da28094a8d5581a21262c6
209
+ - test/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5
210
+ - test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
211
+ - test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
212
+ - test/dummy/tmp/cache/assets/development/sprockets/cebc6db0bbb8120f430da3970b173d2f
213
+ - test/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2
214
+ - test/dummy/tmp/cache/assets/development/sprockets/3f9170db678c4e1fdfa51752e5ec8e39
215
+ - test/dummy/tmp/cache/assets/development/sprockets/4050a4e5062ab95c9f32e9b6940821ea
216
+ - test/dummy/tmp/cache/assets/development/sprockets/f6eeb33602682bd6ff6d1f177f6b142d
217
+ - test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
120
218
  - test/dummy/README.rdoc
219
+ - test/dummy/app/models/user.rb
220
+ - test/dummy/app/helpers/main_helper.rb
221
+ - test/dummy/app/helpers/users_helper.rb
121
222
  - test/dummy/app/helpers/application_helper.rb
223
+ - test/dummy/app/assets/stylesheets/scaffold.css
122
224
  - test/dummy/app/assets/stylesheets/application.css
225
+ - test/dummy/app/assets/stylesheets/main.css
226
+ - test/dummy/app/assets/stylesheets/users.css
227
+ - test/dummy/app/assets/javascripts/users.js
123
228
  - test/dummy/app/assets/javascripts/application.js
229
+ - test/dummy/app/assets/javascripts/main.js
124
230
  - test/dummy/app/views/layouts/application.html.erb
231
+ - test/dummy/app/views/main/login.html.erb
232
+ - test/dummy/app/views/main/index.html.erb
233
+ - test/dummy/app/views/users/new.html.erb
234
+ - test/dummy/app/views/users/login.html.erb
235
+ - test/dummy/app/views/users/show.html.erb
236
+ - test/dummy/app/views/users/edit.html.erb
237
+ - test/dummy/app/views/users/_form.html.erb
238
+ - test/dummy/app/views/users/index.html.erb
125
239
  - test/dummy/app/controllers/application_controller.rb
240
+ - test/dummy/app/controllers/main_controller.rb
241
+ - test/dummy/app/controllers/users_controller.rb
126
242
  - test/dummy/public/422.html
127
243
  - test/dummy/public/500.html
128
244
  - test/dummy/public/404.html