rack-noncache 0.0.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.pryrc +6 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +15 -0
  7. data/README.md +36 -52
  8. data/Rakefile +16 -1
  9. data/features/cache_control.feature +22 -0
  10. data/features/step_definitions/steps.rb +46 -0
  11. data/features/support/continous_integration.rb +47 -0
  12. data/features/support/coverage.rb +18 -0
  13. data/features/support/env.rb +9 -0
  14. data/features/support/helpers.rb +13 -0
  15. data/features/support/web_app/application.rb +70 -0
  16. data/features/support/web_app/config_blacklist.ru +13 -0
  17. data/features/support/web_app/config_whitelist.ru +13 -0
  18. data/features/support/web_app/public/app/collections/todos.js +17 -0
  19. data/features/support/web_app/public/app/config.js +18 -0
  20. data/features/support/web_app/public/app/main.js +21 -0
  21. data/features/support/web_app/public/app/models/todo.js +33 -0
  22. data/features/support/web_app/public/app/templates/todo-add.html +3 -0
  23. data/features/support/web_app/public/app/templates/todo-editor.html +1 -0
  24. data/features/support/web_app/public/app/templates/todo-item.html +2 -0
  25. data/features/support/web_app/public/app/templates/todo-list-empty.html +1 -0
  26. data/features/support/web_app/public/app/templates/todo-stats.html +4 -0
  27. data/features/support/web_app/public/app/views/stats.js +26 -0
  28. data/features/support/web_app/public/app/views/todo.js +55 -0
  29. data/features/support/web_app/public/app/views/todoadd.js +48 -0
  30. data/features/support/web_app/public/app/views/todoedit.js +70 -0
  31. data/features/support/web_app/public/app/views/todolist.js +69 -0
  32. data/features/support/web_app/public/assets/css/bootstrap.css +3990 -0
  33. data/features/support/web_app/public/assets/css/style.css +82 -0
  34. data/features/support/web_app/public/assets/js/libs/backbone.js +1428 -0
  35. data/features/support/web_app/public/assets/js/libs/jquery-1.7.2.js +9404 -0
  36. data/features/support/web_app/public/assets/js/libs/require.js +2053 -0
  37. data/features/support/web_app/public/assets/js/libs/underscore.js +1008 -0
  38. data/features/support/web_app/public/assets/js/plugins/text.js +288 -0
  39. data/features/support/web_app/public/test/SpecRunner.html +42 -0
  40. data/features/support/web_app/public/test/lib/jasmine-1.2.0.rc3/MIT.LICENSE +20 -0
  41. data/features/support/web_app/public/test/lib/jasmine-1.2.0.rc3/jasmine-html.js +616 -0
  42. data/features/support/web_app/public/test/lib/jasmine-1.2.0.rc3/jasmine.css +81 -0
  43. data/features/support/web_app/public/test/lib/jasmine-1.2.0.rc3/jasmine.js +2530 -0
  44. data/features/support/web_app/public/test/lib/jasmine-jquery.js +306 -0
  45. data/features/support/web_app/public/test/spec/models/todo.coffee +37 -0
  46. data/features/support/web_app/public/test/spec/models/todo.js +48 -0
  47. data/features/support/web_app/public/test/spec/spec_helper.coffee +20 -0
  48. data/features/support/web_app/public/test/spec/spec_helper.js +17 -0
  49. data/features/support/web_app/public/test/spec/views/stats.coffee +9 -0
  50. data/features/support/web_app/public/test/spec/views/stats.js +13 -0
  51. data/features/support/web_app/public/test/spec/views/todo.coffee +22 -0
  52. data/features/support/web_app/public/test/spec/views/todo.js +26 -0
  53. data/features/support/web_app/public/test/spec/views/todoadd.coffee +22 -0
  54. data/features/support/web_app/public/test/spec/views/todoadd.js +29 -0
  55. data/features/support/web_app/public/test/spec/views/todoedit.coffee +59 -0
  56. data/features/support/web_app/public/test/spec/views/todoedit.js +72 -0
  57. data/features/support/web_app/public/test/spec/views/todolist.coffee +28 -0
  58. data/features/support/web_app/public/test/spec/views/todolist.js +39 -0
  59. data/features/support/web_app/views/details.erb +14 -0
  60. data/features/support/web_app/views/index.erb +43 -0
  61. data/lib/rack/noncache.rb +5 -7
  62. data/lib/rack/noncache/engine.rb +10 -26
  63. data/lib/rack/noncache/filters.rb +75 -0
  64. data/lib/rack/noncache/version.rb +1 -1
  65. data/rack-noncache.gemspec +32 -10
  66. metadata +382 -7
@@ -0,0 +1,75 @@
1
+ module Rack
2
+ module NonCache
3
+ class Http10Filter
4
+ def self.apply(headers)
5
+ headers['Cache-Control'] =
6
+ 'max-stale=0, post-check=0, pre-check=0, ' \
7
+ 'no-cache=\"Set-Cookie, Set-Cookie2\"'
8
+ end
9
+ end
10
+
11
+ class Http11Filter
12
+ def self.apply(headers)
13
+ headers['Cache-Control'] += 'no-cache, max-age=0, must-revalidate, ' \
14
+ 'no-store, private'
15
+ headers['HTTP_PRAGMA'] = 'no-cache'
16
+ end
17
+ end
18
+
19
+ class ProxyFilter
20
+ def self.apply(headers)
21
+ headers['HTTP_EXPIRES'] = Time.now.httpdate
22
+ end
23
+ end
24
+
25
+ class SecurityFilter
26
+ def self.apply(headers)
27
+
28
+ # When you type in your bank's website, do you enter mybank.example.com
29
+ # or do you enter https://mybank.example.com? If you omit the https
30
+ # protocol, you are potentially vulnerable to Man in the Middle
31
+ # attacks. Even if the website performs a redirect to
32
+ # https://mybank.example.com a malicious user could intercept the
33
+ # initial HTTP request and manipulate the response (i.e. redirect to
34
+ # https://mibank.example.com and steal their credentials).
35
+ #
36
+ # Many users omit the https protocol and this is why HTTP Strict
37
+ # Transport Security (HSTS) was created. Once mybank.example.com is
38
+ # added as a HSTS host, a browser can know ahead of time that any
39
+ # request to mybank.example.com should be interpreted as
40
+ # https://mybank.example.com. This greatly reduces the possibility of a
41
+ # Man in the Middle attack occurring.
42
+
43
+ headers['Strict-Transport-Security'] = 'max-age=31536000; includeSubDomains'
44
+
45
+ # The problem with content sniffing is that this allowed malicious
46
+ # users to use polyglots (i.e. a file that is valid as multiple content
47
+ # types) to execute XSS attacks. For example, some sites may allow
48
+ # users to submit a valid postscript document to a website and view it.
49
+ # A malicious user might create a postscript document that is also a
50
+ # valid JavaScript file and execute a XSS attack with it.
51
+
52
+ headers['X-Content-Type-Options'] = 'nosniff'
53
+
54
+ # Some browsers have built in support for filtering out reflected XSS
55
+ # attacks. This is by no means full proof, but does assist in XSS
56
+ # protection.
57
+ # The filtering is typically enabled by default, so adding the header
58
+ # typically just ensures it is enabled and instructs the browser what
59
+ # to do when a XSS attack is detected. For example, the filter might
60
+ # try to change the content in the least invasive way to still render
61
+ # everything. At times, this type of replacement can become a XSS
62
+ # vulnerability in itself. Instead, it is best to block the content
63
+ # rather than attempt to fix it.
64
+
65
+ headers['S-Protection'] = '1; mode=block'
66
+ end
67
+ end
68
+
69
+ class DeprecatedFilter
70
+ def self.apply(headers)
71
+ headers['HTTP_KEEP_ALIVE'] = 'timeout=3, max=993'
72
+ end
73
+ end
74
+ end
75
+ end
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  module NonCache
3
- VERSION = "0.0.4"
3
+ VERSION = '1.0.0'
4
4
  end
5
5
  end
@@ -4,20 +4,42 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'rack/noncache/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "rack-noncache"
7
+ spec.name = 'rack-noncache'
8
8
  spec.version = Rack::NonCache::VERSION
9
- spec.authors = ["David Saenz Tagarro"]
10
- spec.email = ["david@redradix.com"]
11
- spec.summary = "HTTP Non browser caching for Rack"
12
- spec.description = "Rack::NonCache is a rack middleware that disables HTTP browser caching."
13
- spec.homepage = "https://github.com/dsaenztagarro/rack-noncache"
14
- spec.license = "MIT"
9
+ spec.authors = ['David Saenz Tagarro']
10
+ spec.email = ['david.saenz.tagarro@gmail.com']
11
+ spec.summary = 'HTTP Non browser caching for Rack'
12
+ spec.description = 'Rack::NonCache is a rack middleware that disables HTTP browser caching.'
13
+ spec.homepage = 'https://github.com/dsaenztagarro/rack-noncache'
14
+ spec.license = 'MIT'
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
19
+ spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.5"
22
- spec.add_development_dependency "rake"
21
+ spec.add_runtime_dependency 'activesupport'
22
+
23
+ spec.add_development_dependency 'bundler', '~> 1.6'
24
+ spec.add_development_dependency 'cane'
25
+ spec.add_development_dependency 'capybara'
26
+ spec.add_development_dependency 'capybara-selenium', '0.0.6'
27
+ spec.add_development_dependency 'codeclimate-test-reporter'
28
+ spec.add_development_dependency 'coveralls'
29
+ spec.add_development_dependency 'cucumber'
30
+ spec.add_development_dependency 'pry'
31
+ spec.add_development_dependency 'pry-byebug'
32
+ spec.add_development_dependency 'rake'
33
+ spec.add_development_dependency 'reek'
34
+ spec.add_development_dependency 'rspec'
35
+ spec.add_development_dependency 'rubocop'
36
+ spec.add_development_dependency 'rubocop-rspec'
37
+ spec.add_development_dependency 'selenium-webdriver'
38
+ spec.add_development_dependency 'simplecov'
39
+
40
+ # Dummy app dependencies
41
+ spec.add_development_dependency 'sinatra'
42
+ spec.add_development_dependency 'sinatra-contrib'
43
+ spec.add_development_dependency 'dm-sqlite-adapter'
44
+ spec.add_development_dependency 'datamapper'
23
45
  end
metadata CHANGED
@@ -1,29 +1,155 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-noncache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Saenz Tagarro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-12 00:00:00.000000000 Z
11
+ date: 2014-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
31
  - - "~>"
18
32
  - !ruby/object:Gem::Version
19
- version: '1.5'
33
+ version: '1.6'
20
34
  type: :development
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
38
  - - "~>"
25
39
  - !ruby/object:Gem::Version
26
- version: '1.5'
40
+ version: '1.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: cane
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
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: capybara
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
+ - !ruby/object:Gem::Dependency
70
+ name: capybara-selenium
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 0.0.6
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 0.0.6
83
+ - !ruby/object:Gem::Dependency
84
+ name: codeclimate-test-reporter
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: coveralls
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: cucumber
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: pry-byebug
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
27
153
  - !ruby/object:Gem::Dependency
28
154
  name: rake
29
155
  requirement: !ruby/object:Gem::Requirement
@@ -38,21 +164,218 @@ dependencies:
38
164
  - - ">="
39
165
  - !ruby/object:Gem::Version
40
166
  version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: reek
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: rspec
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: rubocop
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: rubocop-rspec
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: selenium-webdriver
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: simplecov
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: sinatra
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: sinatra-contrib
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: dm-sqlite-adapter
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: datamapper
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - ">="
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
41
307
  description: Rack::NonCache is a rack middleware that disables HTTP browser caching.
42
308
  email:
43
- - david@redradix.com
309
+ - david.saenz.tagarro@gmail.com
44
310
  executables: []
45
311
  extensions: []
46
312
  extra_rdoc_files: []
47
313
  files:
48
314
  - ".gitignore"
315
+ - ".pryrc"
316
+ - ".ruby-gemset"
317
+ - ".ruby-version"
318
+ - ".travis.yml"
49
319
  - Gemfile
50
320
  - LICENSE.txt
51
321
  - README.md
52
322
  - Rakefile
323
+ - features/cache_control.feature
324
+ - features/step_definitions/steps.rb
325
+ - features/support/continous_integration.rb
326
+ - features/support/coverage.rb
327
+ - features/support/env.rb
328
+ - features/support/helpers.rb
329
+ - features/support/web_app/application.rb
330
+ - features/support/web_app/config_blacklist.ru
331
+ - features/support/web_app/config_whitelist.ru
332
+ - features/support/web_app/public/app/collections/todos.js
333
+ - features/support/web_app/public/app/config.js
334
+ - features/support/web_app/public/app/main.js
335
+ - features/support/web_app/public/app/models/todo.js
336
+ - features/support/web_app/public/app/templates/todo-add.html
337
+ - features/support/web_app/public/app/templates/todo-editor.html
338
+ - features/support/web_app/public/app/templates/todo-item.html
339
+ - features/support/web_app/public/app/templates/todo-list-empty.html
340
+ - features/support/web_app/public/app/templates/todo-stats.html
341
+ - features/support/web_app/public/app/views/stats.js
342
+ - features/support/web_app/public/app/views/todo.js
343
+ - features/support/web_app/public/app/views/todoadd.js
344
+ - features/support/web_app/public/app/views/todoedit.js
345
+ - features/support/web_app/public/app/views/todolist.js
346
+ - features/support/web_app/public/assets/css/bootstrap.css
347
+ - features/support/web_app/public/assets/css/style.css
348
+ - features/support/web_app/public/assets/js/libs/backbone.js
349
+ - features/support/web_app/public/assets/js/libs/jquery-1.7.2.js
350
+ - features/support/web_app/public/assets/js/libs/require.js
351
+ - features/support/web_app/public/assets/js/libs/underscore.js
352
+ - features/support/web_app/public/assets/js/plugins/text.js
353
+ - features/support/web_app/public/test/SpecRunner.html
354
+ - features/support/web_app/public/test/lib/jasmine-1.2.0.rc3/MIT.LICENSE
355
+ - features/support/web_app/public/test/lib/jasmine-1.2.0.rc3/jasmine-html.js
356
+ - features/support/web_app/public/test/lib/jasmine-1.2.0.rc3/jasmine.css
357
+ - features/support/web_app/public/test/lib/jasmine-1.2.0.rc3/jasmine.js
358
+ - features/support/web_app/public/test/lib/jasmine-jquery.js
359
+ - features/support/web_app/public/test/spec/models/todo.coffee
360
+ - features/support/web_app/public/test/spec/models/todo.js
361
+ - features/support/web_app/public/test/spec/spec_helper.coffee
362
+ - features/support/web_app/public/test/spec/spec_helper.js
363
+ - features/support/web_app/public/test/spec/views/stats.coffee
364
+ - features/support/web_app/public/test/spec/views/stats.js
365
+ - features/support/web_app/public/test/spec/views/todo.coffee
366
+ - features/support/web_app/public/test/spec/views/todo.js
367
+ - features/support/web_app/public/test/spec/views/todoadd.coffee
368
+ - features/support/web_app/public/test/spec/views/todoadd.js
369
+ - features/support/web_app/public/test/spec/views/todoedit.coffee
370
+ - features/support/web_app/public/test/spec/views/todoedit.js
371
+ - features/support/web_app/public/test/spec/views/todolist.coffee
372
+ - features/support/web_app/public/test/spec/views/todolist.js
373
+ - features/support/web_app/views/details.erb
374
+ - features/support/web_app/views/index.erb
53
375
  - lib/rack-noncache.rb
54
376
  - lib/rack/noncache.rb
55
377
  - lib/rack/noncache/engine.rb
378
+ - lib/rack/noncache/filters.rb
56
379
  - lib/rack/noncache/version.rb
57
380
  - rack-noncache.gemspec
58
381
  homepage: https://github.com/dsaenztagarro/rack-noncache
@@ -75,8 +398,60 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
398
  version: '0'
76
399
  requirements: []
77
400
  rubyforge_project:
78
- rubygems_version: 2.2.2
401
+ rubygems_version: 2.4.5
79
402
  signing_key:
80
403
  specification_version: 4
81
404
  summary: HTTP Non browser caching for Rack
82
- test_files: []
405
+ test_files:
406
+ - features/cache_control.feature
407
+ - features/step_definitions/steps.rb
408
+ - features/support/continous_integration.rb
409
+ - features/support/coverage.rb
410
+ - features/support/env.rb
411
+ - features/support/helpers.rb
412
+ - features/support/web_app/application.rb
413
+ - features/support/web_app/config_blacklist.ru
414
+ - features/support/web_app/config_whitelist.ru
415
+ - features/support/web_app/public/app/collections/todos.js
416
+ - features/support/web_app/public/app/config.js
417
+ - features/support/web_app/public/app/main.js
418
+ - features/support/web_app/public/app/models/todo.js
419
+ - features/support/web_app/public/app/templates/todo-add.html
420
+ - features/support/web_app/public/app/templates/todo-editor.html
421
+ - features/support/web_app/public/app/templates/todo-item.html
422
+ - features/support/web_app/public/app/templates/todo-list-empty.html
423
+ - features/support/web_app/public/app/templates/todo-stats.html
424
+ - features/support/web_app/public/app/views/stats.js
425
+ - features/support/web_app/public/app/views/todo.js
426
+ - features/support/web_app/public/app/views/todoadd.js
427
+ - features/support/web_app/public/app/views/todoedit.js
428
+ - features/support/web_app/public/app/views/todolist.js
429
+ - features/support/web_app/public/assets/css/bootstrap.css
430
+ - features/support/web_app/public/assets/css/style.css
431
+ - features/support/web_app/public/assets/js/libs/backbone.js
432
+ - features/support/web_app/public/assets/js/libs/jquery-1.7.2.js
433
+ - features/support/web_app/public/assets/js/libs/require.js
434
+ - features/support/web_app/public/assets/js/libs/underscore.js
435
+ - features/support/web_app/public/assets/js/plugins/text.js
436
+ - features/support/web_app/public/test/SpecRunner.html
437
+ - features/support/web_app/public/test/lib/jasmine-1.2.0.rc3/MIT.LICENSE
438
+ - features/support/web_app/public/test/lib/jasmine-1.2.0.rc3/jasmine-html.js
439
+ - features/support/web_app/public/test/lib/jasmine-1.2.0.rc3/jasmine.css
440
+ - features/support/web_app/public/test/lib/jasmine-1.2.0.rc3/jasmine.js
441
+ - features/support/web_app/public/test/lib/jasmine-jquery.js
442
+ - features/support/web_app/public/test/spec/models/todo.coffee
443
+ - features/support/web_app/public/test/spec/models/todo.js
444
+ - features/support/web_app/public/test/spec/spec_helper.coffee
445
+ - features/support/web_app/public/test/spec/spec_helper.js
446
+ - features/support/web_app/public/test/spec/views/stats.coffee
447
+ - features/support/web_app/public/test/spec/views/stats.js
448
+ - features/support/web_app/public/test/spec/views/todo.coffee
449
+ - features/support/web_app/public/test/spec/views/todo.js
450
+ - features/support/web_app/public/test/spec/views/todoadd.coffee
451
+ - features/support/web_app/public/test/spec/views/todoadd.js
452
+ - features/support/web_app/public/test/spec/views/todoedit.coffee
453
+ - features/support/web_app/public/test/spec/views/todoedit.js
454
+ - features/support/web_app/public/test/spec/views/todolist.coffee
455
+ - features/support/web_app/public/test/spec/views/todolist.js
456
+ - features/support/web_app/views/details.erb
457
+ - features/support/web_app/views/index.erb