rack-robustness 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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +68 -6
- data/Gemfile +2 -7
- data/README.md +16 -8
- data/Rakefile +1 -3
- data/lib/rack/robustness/version.rb +8 -0
- data/lib/rack/robustness.rb +23 -7
- data/spec/test_context.rb +3 -3
- data/spec/test_ensure.rb +10 -10
- data/spec/test_header_names.rb +98 -0
- data/spec/test_last_resort.rb +17 -17
- data/spec/test_rescue.rb +6 -6
- data/spec/test_response.rb +4 -4
- data/spec/test_robustness.rb +46 -46
- data/spec/test_subclass.rb +3 -3
- data/tasks/gem.rake +25 -59
- data/tasks/test.rake +11 -0
- metadata +66 -63
- data/Gemfile.lock +0 -25
- data/Manifest.txt +0 -15
- data/rack-robustness.gemspec +0 -188
- data/tasks/spec_test.rake +0 -71
data/spec/test_robustness.rb
CHANGED
|
@@ -6,9 +6,9 @@ describe Rack::Robustness do
|
|
|
6
6
|
|
|
7
7
|
it 'let happy responses unchanged' do
|
|
8
8
|
get '/happy'
|
|
9
|
-
last_response.status.
|
|
10
|
-
last_response.content_type.
|
|
11
|
-
last_response.body.
|
|
9
|
+
expect(last_response.status).to eq(200)
|
|
10
|
+
expect(last_response.content_type).to eq('text/plain')
|
|
11
|
+
expect(last_response.body).to eq('happy')
|
|
12
12
|
end
|
|
13
13
|
end
|
|
14
14
|
|
|
@@ -21,16 +21,16 @@ describe Rack::Robustness do
|
|
|
21
21
|
|
|
22
22
|
it 'set a status 500 with a standard error message by default' do
|
|
23
23
|
get '/argument-error'
|
|
24
|
-
last_response.status.
|
|
25
|
-
last_response.content_type.
|
|
26
|
-
last_response.body.
|
|
24
|
+
expect(last_response.status).to eq(500)
|
|
25
|
+
expect(last_response.content_type).to eq("text/plain")
|
|
26
|
+
expect(last_response.body).to eq("Sorry, a fatal error occured.")
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
it 'catches all exceptions by default' do
|
|
30
30
|
get '/security-error'
|
|
31
|
-
last_response.status.
|
|
32
|
-
last_response.content_type.
|
|
33
|
-
last_response.body.
|
|
31
|
+
expect(last_response.status).to eq(500)
|
|
32
|
+
expect(last_response.content_type).to eq("text/plain")
|
|
33
|
+
expect(last_response.body).to eq("Sorry, a fatal error occured.")
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
|
|
@@ -47,9 +47,9 @@ describe Rack::Robustness do
|
|
|
47
47
|
|
|
48
48
|
it 'set the specified status and body on errors' do
|
|
49
49
|
get '/argument-error'
|
|
50
|
-
last_response.status.
|
|
51
|
-
last_response.content_type.
|
|
52
|
-
last_response.body.
|
|
50
|
+
expect(last_response.status).to eq(501)
|
|
51
|
+
expect(last_response.content_type).to eq("text/test")
|
|
52
|
+
expect(last_response.body).to eq("An error occured")
|
|
53
53
|
end
|
|
54
54
|
end
|
|
55
55
|
|
|
@@ -65,8 +65,8 @@ describe Rack::Robustness do
|
|
|
65
65
|
|
|
66
66
|
it 'set the specified headers on error' do
|
|
67
67
|
get '/argument-error'
|
|
68
|
-
last_response.headers['Foo'].
|
|
69
|
-
last_response.content_type.
|
|
68
|
+
expect(last_response.headers['Foo']).to eq('Bar')
|
|
69
|
+
expect(last_response.content_type).to eq("text/test")
|
|
70
70
|
end
|
|
71
71
|
end
|
|
72
72
|
|
|
@@ -83,16 +83,16 @@ describe Rack::Robustness do
|
|
|
83
83
|
|
|
84
84
|
it 'correctly sets the status, content_type and body on ArgumentError' do
|
|
85
85
|
get '/argument-error'
|
|
86
|
-
last_response.status.
|
|
87
|
-
last_response.content_type.
|
|
88
|
-
last_response.body.
|
|
86
|
+
expect(last_response.status).to eq(400)
|
|
87
|
+
expect(last_response.content_type).to eq('text/arg')
|
|
88
|
+
expect(last_response.body).to eq('an argument error')
|
|
89
89
|
end
|
|
90
90
|
|
|
91
91
|
it 'correctly sets the status, content_type and body on TypeError' do
|
|
92
92
|
get '/type-error'
|
|
93
|
-
last_response.status.
|
|
94
|
-
last_response.content_type.
|
|
95
|
-
last_response.body.
|
|
93
|
+
expect(last_response.status).to eq(500)
|
|
94
|
+
expect(last_response.content_type).to eq('text/other')
|
|
95
|
+
expect(last_response.body).to eq('a type error')
|
|
96
96
|
end
|
|
97
97
|
end
|
|
98
98
|
|
|
@@ -109,12 +109,12 @@ describe Rack::Robustness do
|
|
|
109
109
|
|
|
110
110
|
it 'correctly sets the specified headers on an ArgumentError' do
|
|
111
111
|
get '/argument-error'
|
|
112
|
-
last_response.content_type.
|
|
112
|
+
expect(last_response.content_type).to eq("text/arg")
|
|
113
113
|
end
|
|
114
114
|
|
|
115
115
|
it 'correctly sets the specified headers on a TypeError' do
|
|
116
116
|
get '/type-error'
|
|
117
|
-
last_response.content_type.
|
|
117
|
+
expect(last_response.content_type).to eq("text/other")
|
|
118
118
|
end
|
|
119
119
|
end
|
|
120
120
|
|
|
@@ -130,14 +130,14 @@ describe Rack::Robustness do
|
|
|
130
130
|
|
|
131
131
|
it 'correctly sets the specified headers on an ArgumentError' do
|
|
132
132
|
get '/argument-error'
|
|
133
|
-
last_response.headers['Foo'].
|
|
134
|
-
last_response.content_type.
|
|
133
|
+
expect(last_response.headers['Foo']).to eq('Bar')
|
|
134
|
+
expect(last_response.content_type).to eq("text/arg")
|
|
135
135
|
end
|
|
136
136
|
|
|
137
137
|
it 'correctly sets the specified headers on a TypeError' do
|
|
138
138
|
get '/type-error'
|
|
139
|
-
last_response.headers['Foo'].
|
|
140
|
-
last_response.content_type.
|
|
139
|
+
expect(last_response.headers['Foo']).to eq('Bar')
|
|
140
|
+
expect(last_response.content_type).to eq("text/other")
|
|
141
141
|
end
|
|
142
142
|
end
|
|
143
143
|
|
|
@@ -152,21 +152,21 @@ describe Rack::Robustness do
|
|
|
152
152
|
|
|
153
153
|
after do
|
|
154
154
|
# if merges the default headers in any way
|
|
155
|
-
last_response.headers['Foo'].
|
|
155
|
+
expect(last_response.headers['Foo']).to eq('Bar')
|
|
156
156
|
end
|
|
157
157
|
|
|
158
158
|
it 'uses the response on ArgumentError' do
|
|
159
159
|
get '/argument-error'
|
|
160
|
-
last_response.status.
|
|
161
|
-
last_response.content_type.
|
|
162
|
-
last_response.body.
|
|
160
|
+
expect(last_response.status).to eq(401)
|
|
161
|
+
expect(last_response.content_type).to eq('text/arg')
|
|
162
|
+
expect(last_response.body).to eq("an argument error")
|
|
163
163
|
end
|
|
164
164
|
|
|
165
165
|
it 'uses the response on TypeError' do
|
|
166
166
|
get '/type-error'
|
|
167
|
-
last_response.status.
|
|
168
|
-
last_response.content_type.
|
|
169
|
-
last_response.body.
|
|
167
|
+
expect(last_response.status).to eq(402)
|
|
168
|
+
expect(last_response.content_type).to eq('default/one')
|
|
169
|
+
expect(last_response.body).to eq("a type error")
|
|
170
170
|
end
|
|
171
171
|
end
|
|
172
172
|
|
|
@@ -179,9 +179,9 @@ describe Rack::Robustness do
|
|
|
179
179
|
|
|
180
180
|
it 'uses the status and fallback to defaults for the rest' do
|
|
181
181
|
get '/argument-error'
|
|
182
|
-
last_response.status.
|
|
183
|
-
last_response.content_type.
|
|
184
|
-
last_response.body.
|
|
182
|
+
expect(last_response.status).to eq(401)
|
|
183
|
+
expect(last_response.content_type).to eq('text/plain')
|
|
184
|
+
expect(last_response.body).to eq("Sorry, a fatal error occured.")
|
|
185
185
|
end
|
|
186
186
|
end
|
|
187
187
|
|
|
@@ -194,9 +194,9 @@ describe Rack::Robustness do
|
|
|
194
194
|
|
|
195
195
|
it 'uses it as body and fallback to defaults for the rest' do
|
|
196
196
|
get '/argument-error'
|
|
197
|
-
last_response.status.
|
|
198
|
-
last_response.content_type.
|
|
199
|
-
last_response.body.
|
|
197
|
+
expect(last_response.status).to eq(500)
|
|
198
|
+
expect(last_response.content_type).to eq('text/plain')
|
|
199
|
+
expect(last_response.body).to eq("an argument error")
|
|
200
200
|
end
|
|
201
201
|
end
|
|
202
202
|
|
|
@@ -210,13 +210,13 @@ describe Rack::Robustness do
|
|
|
210
210
|
|
|
211
211
|
it 'matches known errors' do
|
|
212
212
|
get '/argument-error'
|
|
213
|
-
last_response.status.
|
|
213
|
+
expect(last_response.status).to eq(401)
|
|
214
214
|
end
|
|
215
215
|
|
|
216
216
|
it 'raises on unknown error' do
|
|
217
|
-
|
|
217
|
+
expect{
|
|
218
218
|
get '/type-error'
|
|
219
|
-
}.
|
|
219
|
+
}.to raise_error(TypeError)
|
|
220
220
|
end
|
|
221
221
|
end
|
|
222
222
|
|
|
@@ -231,14 +231,14 @@ describe Rack::Robustness do
|
|
|
231
231
|
|
|
232
232
|
it 'matches known errors' do
|
|
233
233
|
get '/argument-error'
|
|
234
|
-
last_response.status.
|
|
235
|
-
last_response.body.
|
|
234
|
+
expect(last_response.status).to eq(401)
|
|
235
|
+
expect(last_response.body).to eq("Sorry, a fatal error occured.")
|
|
236
236
|
end
|
|
237
237
|
|
|
238
238
|
it 'raises on unknown error' do
|
|
239
|
-
|
|
239
|
+
expect{
|
|
240
240
|
get '/type-error'
|
|
241
|
-
}.
|
|
241
|
+
}.to raise_error(TypeError)
|
|
242
242
|
end
|
|
243
243
|
end
|
|
244
244
|
|
data/spec/test_subclass.rb
CHANGED
|
@@ -13,8 +13,8 @@ describe "Rack::Robustness subclasses" do
|
|
|
13
13
|
|
|
14
14
|
it 'works as expected' do
|
|
15
15
|
get '/argument-error'
|
|
16
|
-
last_response.status.
|
|
17
|
-
last_response.body.
|
|
16
|
+
expect(last_response.status).to eq(400)
|
|
17
|
+
expect(last_response.body).to eq("an argument error")
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
end
|
|
20
|
+
end
|
data/tasks/gem.rake
CHANGED
|
@@ -1,73 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
#
|
|
3
|
-
# This file installs the 'rake package', 'rake gem' tasks and associates
|
|
4
|
-
# (clobber_package, repackage, ...). It is automatically generated by Noe
|
|
5
|
-
# from your .noespec file, and should therefore be configured there, under
|
|
6
|
-
# the variables/rake_tasks/gem entry, as illustrated below:
|
|
7
|
-
#
|
|
8
|
-
# variables:
|
|
9
|
-
# rake_tasks:
|
|
10
|
-
# gem:
|
|
11
|
-
# package_dir: pkg
|
|
12
|
-
# need_tar: false
|
|
13
|
-
# need_tar_gz: false
|
|
14
|
-
# need_tar_bz2: false
|
|
15
|
-
# need_zip: false
|
|
16
|
-
# ...
|
|
17
|
-
#
|
|
18
|
-
# If you have specific needs requiring manual intervention on this file,
|
|
19
|
-
# don't forget to set safe-override to false in your noe specification:
|
|
20
|
-
#
|
|
21
|
-
# template-info:
|
|
22
|
-
# manifest:
|
|
23
|
-
# tasks/gem.rake:
|
|
24
|
-
# safe-override: false
|
|
25
|
-
#
|
|
26
|
-
begin
|
|
27
|
-
require 'rubygems/package_task'
|
|
1
|
+
require 'rubygems/package_task'
|
|
28
2
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
3
|
+
# Dynamically load the gem spec
|
|
4
|
+
gemspec_file = File.expand_path('../../rack-robustness.gemspec', __FILE__)
|
|
5
|
+
gemspec = Kernel.eval(File.read(gemspec_file), binding, gemspec_file)
|
|
32
6
|
|
|
33
|
-
|
|
7
|
+
Gem::PackageTask.new(gemspec) do |t|
|
|
34
8
|
|
|
35
|
-
|
|
36
|
-
|
|
9
|
+
# Name of the package
|
|
10
|
+
t.name = gemspec.name
|
|
37
11
|
|
|
38
|
-
|
|
39
|
-
|
|
12
|
+
# Version of the package
|
|
13
|
+
t.version = gemspec.version
|
|
40
14
|
|
|
41
|
-
|
|
42
|
-
|
|
15
|
+
# Directory used to store the package files
|
|
16
|
+
t.package_dir = "pkg"
|
|
43
17
|
|
|
44
|
-
|
|
45
|
-
|
|
18
|
+
# True if a gzipped tar file (tgz) should be produced
|
|
19
|
+
t.need_tar = false
|
|
46
20
|
|
|
47
|
-
|
|
48
|
-
|
|
21
|
+
# True if a gzipped tar file (tar.gz) should be produced
|
|
22
|
+
t.need_tar_gz = false
|
|
49
23
|
|
|
50
|
-
|
|
51
|
-
|
|
24
|
+
# True if a bzip2'd tar file (tar.bz2) should be produced
|
|
25
|
+
t.need_tar_bz2 = false
|
|
52
26
|
|
|
53
|
-
|
|
54
|
-
|
|
27
|
+
# True if a zip file should be produced (default is false)
|
|
28
|
+
t.need_zip = false
|
|
55
29
|
|
|
56
|
-
|
|
57
|
-
|
|
30
|
+
# List of files to be included in the package.
|
|
31
|
+
t.package_files = gemspec.files
|
|
58
32
|
|
|
59
|
-
|
|
60
|
-
|
|
33
|
+
# Tar command for gzipped or bzip2ed archives.
|
|
34
|
+
t.tar_command = "tar"
|
|
61
35
|
|
|
62
|
-
|
|
63
|
-
|
|
36
|
+
# Zip command for zipped archives.
|
|
37
|
+
t.zip_command = "zip"
|
|
64
38
|
|
|
65
|
-
end
|
|
66
|
-
rescue LoadError
|
|
67
|
-
task :gem do
|
|
68
|
-
abort 'rubygems/package_task is not available. You should verify your rubygems installation'
|
|
69
|
-
end
|
|
70
|
-
task :package do
|
|
71
|
-
abort 'rubygems/package_task is not available. You should verify your rubygems installation'
|
|
72
|
-
end
|
|
73
39
|
end
|
data/tasks/test.rake
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
namespace :test do
|
|
2
|
+
require 'rspec/core/rake_task'
|
|
3
|
+
|
|
4
|
+
desc %q{Run all RSpec tests}
|
|
5
|
+
RSpec::Core::RakeTask.new(:unit) do |t|
|
|
6
|
+
t.rspec_opts = %w[-I. -Ilib -Ispec --pattern=spec/**/test_*.rb --color .]
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
task :all => :"unit"
|
|
10
|
+
end
|
|
11
|
+
task :test => :"test:all"
|
metadata
CHANGED
|
@@ -1,80 +1,94 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rack-robustness
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 2.0.0
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Bernard Lambeau
|
|
9
|
-
autorequire:
|
|
10
8
|
bindir: bin
|
|
11
9
|
cert_chain: []
|
|
12
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
13
11
|
dependencies:
|
|
14
12
|
- !ruby/object:Gem::Dependency
|
|
15
|
-
name:
|
|
13
|
+
name: rack
|
|
16
14
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
15
|
requirements:
|
|
19
|
-
- -
|
|
16
|
+
- - ">="
|
|
20
17
|
- !ruby/object:Gem::Version
|
|
21
|
-
version: '
|
|
22
|
-
|
|
18
|
+
version: '3.0'
|
|
19
|
+
- - "<"
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: '4.0'
|
|
22
|
+
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
25
|
requirements:
|
|
27
|
-
- -
|
|
26
|
+
- - ">="
|
|
28
27
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '
|
|
28
|
+
version: '3.0'
|
|
29
|
+
- - "<"
|
|
30
|
+
- !ruby/object:Gem::Version
|
|
31
|
+
version: '4.0'
|
|
30
32
|
- !ruby/object:Gem::Dependency
|
|
31
|
-
name:
|
|
33
|
+
name: rack-test
|
|
32
34
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
35
|
requirements:
|
|
35
|
-
- -
|
|
36
|
+
- - ">="
|
|
37
|
+
- !ruby/object:Gem::Version
|
|
38
|
+
version: '2.0'
|
|
39
|
+
- - "<"
|
|
36
40
|
- !ruby/object:Gem::Version
|
|
37
|
-
version: '
|
|
41
|
+
version: '3.0'
|
|
38
42
|
type: :development
|
|
39
43
|
prerelease: false
|
|
40
44
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
45
|
requirements:
|
|
43
|
-
- -
|
|
46
|
+
- - ">="
|
|
44
47
|
- !ruby/object:Gem::Version
|
|
45
|
-
version: '2.
|
|
48
|
+
version: '2.0'
|
|
49
|
+
- - "<"
|
|
50
|
+
- !ruby/object:Gem::Version
|
|
51
|
+
version: '3.0'
|
|
46
52
|
- !ruby/object:Gem::Dependency
|
|
47
|
-
name:
|
|
53
|
+
name: rake
|
|
48
54
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
55
|
requirements:
|
|
51
|
-
- -
|
|
56
|
+
- - ">="
|
|
57
|
+
- !ruby/object:Gem::Version
|
|
58
|
+
version: '13.0'
|
|
59
|
+
- - "<"
|
|
52
60
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '
|
|
61
|
+
version: '14.0'
|
|
54
62
|
type: :development
|
|
55
63
|
prerelease: false
|
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
65
|
requirements:
|
|
59
|
-
- -
|
|
66
|
+
- - ">="
|
|
60
67
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
68
|
+
version: '13.0'
|
|
69
|
+
- - "<"
|
|
70
|
+
- !ruby/object:Gem::Version
|
|
71
|
+
version: '14.0'
|
|
62
72
|
- !ruby/object:Gem::Dependency
|
|
63
|
-
name:
|
|
73
|
+
name: rspec
|
|
64
74
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
75
|
requirements:
|
|
67
|
-
- -
|
|
76
|
+
- - ">="
|
|
77
|
+
- !ruby/object:Gem::Version
|
|
78
|
+
version: '3.12'
|
|
79
|
+
- - "<"
|
|
68
80
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: '0
|
|
81
|
+
version: '4.0'
|
|
70
82
|
type: :development
|
|
71
83
|
prerelease: false
|
|
72
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
85
|
requirements:
|
|
75
|
-
- -
|
|
86
|
+
- - ">="
|
|
76
87
|
- !ruby/object:Gem::Version
|
|
77
|
-
version: '
|
|
88
|
+
version: '3.12'
|
|
89
|
+
- - "<"
|
|
90
|
+
- !ruby/object:Gem::Version
|
|
91
|
+
version: '4.0'
|
|
78
92
|
description: Rack::Robustness provides you with an easy way to handle errors in your
|
|
79
93
|
stack, for making web applications more robust.
|
|
80
94
|
email:
|
|
@@ -82,62 +96,51 @@ email:
|
|
|
82
96
|
executables: []
|
|
83
97
|
extensions: []
|
|
84
98
|
extra_rdoc_files:
|
|
85
|
-
- README.md
|
|
86
99
|
- CHANGELOG.md
|
|
87
100
|
- LICENCE.md
|
|
101
|
+
- README.md
|
|
88
102
|
files:
|
|
89
|
-
- rack-robustness.gemspec
|
|
90
103
|
- CHANGELOG.md
|
|
91
104
|
- Gemfile
|
|
92
|
-
- Gemfile.lock
|
|
93
|
-
- lib/rack/robustness.rb
|
|
94
105
|
- LICENCE.md
|
|
95
|
-
- Manifest.txt
|
|
96
|
-
- Rakefile
|
|
97
106
|
- README.md
|
|
107
|
+
- Rakefile
|
|
108
|
+
- lib/rack/robustness.rb
|
|
109
|
+
- lib/rack/robustness/version.rb
|
|
98
110
|
- spec/spec_helper.rb
|
|
99
111
|
- spec/test_context.rb
|
|
100
112
|
- spec/test_ensure.rb
|
|
113
|
+
- spec/test_header_names.rb
|
|
101
114
|
- spec/test_last_resort.rb
|
|
102
115
|
- spec/test_rescue.rb
|
|
103
116
|
- spec/test_response.rb
|
|
104
117
|
- spec/test_robustness.rb
|
|
105
118
|
- spec/test_subclass.rb
|
|
106
119
|
- tasks/gem.rake
|
|
107
|
-
- tasks/
|
|
120
|
+
- tasks/test.rake
|
|
108
121
|
homepage: https://github.com/blambeau/rack-robustness
|
|
109
|
-
licenses:
|
|
110
|
-
|
|
122
|
+
licenses:
|
|
123
|
+
- MIT
|
|
124
|
+
metadata:
|
|
125
|
+
homepage_uri: https://github.com/blambeau/rack-robustness
|
|
126
|
+
source_code_uri: https://github.com/blambeau/rack-robustness
|
|
127
|
+
changelog_uri: https://github.com/blambeau/rack-robustness/blob/master/CHANGELOG.md
|
|
128
|
+
bug_tracker_uri: https://github.com/blambeau/rack-robustness/issues
|
|
111
129
|
rdoc_options: []
|
|
112
130
|
require_paths:
|
|
113
131
|
- lib
|
|
114
132
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
115
|
-
none: false
|
|
116
133
|
requirements:
|
|
117
|
-
- -
|
|
134
|
+
- - ">="
|
|
118
135
|
- !ruby/object:Gem::Version
|
|
119
|
-
version: '
|
|
120
|
-
segments:
|
|
121
|
-
- 0
|
|
122
|
-
hash: -3037208557824391971
|
|
136
|
+
version: '3.2'
|
|
123
137
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
124
|
-
none: false
|
|
125
138
|
requirements:
|
|
126
|
-
- -
|
|
139
|
+
- - ">="
|
|
127
140
|
- !ruby/object:Gem::Version
|
|
128
141
|
version: '0'
|
|
129
142
|
requirements: []
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
signing_key:
|
|
133
|
-
specification_version: 3
|
|
143
|
+
rubygems_version: 3.6.9
|
|
144
|
+
specification_version: 4
|
|
134
145
|
summary: Rack::Robustness, the rescue clause of your Rack stack.
|
|
135
|
-
test_files:
|
|
136
|
-
- spec/spec_helper.rb
|
|
137
|
-
- spec/test_context.rb
|
|
138
|
-
- spec/test_ensure.rb
|
|
139
|
-
- spec/test_last_resort.rb
|
|
140
|
-
- spec/test_rescue.rb
|
|
141
|
-
- spec/test_response.rb
|
|
142
|
-
- spec/test_robustness.rb
|
|
143
|
-
- spec/test_subclass.rb
|
|
146
|
+
test_files: []
|
data/Gemfile.lock
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
GEM
|
|
2
|
-
remote: http://rubygems.org/
|
|
3
|
-
specs:
|
|
4
|
-
diff-lcs (1.1.3)
|
|
5
|
-
rack (1.5.2)
|
|
6
|
-
rack-test (0.6.2)
|
|
7
|
-
rack (>= 1.0)
|
|
8
|
-
rake (10.0.3)
|
|
9
|
-
rspec (2.12.0)
|
|
10
|
-
rspec-core (~> 2.12.0)
|
|
11
|
-
rspec-expectations (~> 2.12.0)
|
|
12
|
-
rspec-mocks (~> 2.12.0)
|
|
13
|
-
rspec-core (2.12.2)
|
|
14
|
-
rspec-expectations (2.12.1)
|
|
15
|
-
diff-lcs (~> 1.1.3)
|
|
16
|
-
rspec-mocks (2.12.2)
|
|
17
|
-
|
|
18
|
-
PLATFORMS
|
|
19
|
-
ruby
|
|
20
|
-
|
|
21
|
-
DEPENDENCIES
|
|
22
|
-
rack (~> 1.5)
|
|
23
|
-
rack-test (~> 0.6)
|
|
24
|
-
rake (~> 10.0)
|
|
25
|
-
rspec (~> 2.12)
|