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.
@@ -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.should eq(200)
10
- last_response.content_type.should eq('text/plain')
11
- last_response.body.should eq('happy')
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.should eq(500)
25
- last_response.content_type.should eq("text/plain")
26
- last_response.body.should eq("Sorry, a fatal error occured.")
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.should eq(500)
32
- last_response.content_type.should eq("text/plain")
33
- last_response.body.should eq("Sorry, a fatal error occured.")
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.should eq(501)
51
- last_response.content_type.should eq("text/test")
52
- last_response.body.should eq("An error occured")
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'].should eq('Bar')
69
- last_response.content_type.should eq("text/test")
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.should eq(400)
87
- last_response.content_type.should eq('text/arg')
88
- last_response.body.should eq('an argument error')
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.should eq(500)
94
- last_response.content_type.should eq('text/other')
95
- last_response.body.should eq('a type error')
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.should eq("text/arg")
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.should eq("text/other")
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'].should eq('Bar')
134
- last_response.content_type.should eq("text/arg")
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'].should eq('Bar')
140
- last_response.content_type.should eq("text/other")
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'].should eq('Bar')
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.should eq(401)
161
- last_response.content_type.should eq('text/arg')
162
- last_response.body.should eq("an argument error")
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.should eq(402)
168
- last_response.content_type.should eq('default/one')
169
- last_response.body.should eq("a type error")
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.should eq(401)
183
- last_response.content_type.should eq('text/plain')
184
- last_response.body.should eq("Sorry, a fatal error occured.")
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.should eq(500)
198
- last_response.content_type.should eq('text/plain')
199
- last_response.body.should eq("an argument error")
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.should eq(401)
213
+ expect(last_response.status).to eq(401)
214
214
  end
215
215
 
216
216
  it 'raises on unknown error' do
217
- lambda{
217
+ expect{
218
218
  get '/type-error'
219
- }.should raise_error(TypeError)
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.should eq(401)
235
- last_response.body.should eq("Sorry, a fatal error occured.")
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
- lambda{
239
+ expect{
240
240
  get '/type-error'
241
- }.should raise_error(TypeError)
241
+ }.to raise_error(TypeError)
242
242
  end
243
243
  end
244
244
 
@@ -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.should eq(400)
17
- last_response.body.should eq("an argument error")
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
- # Installs rake tasks for gemming and packaging
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
- # Dynamically load the gem spec
30
- gemspec_file = File.expand_path('../../rack-robustness.gemspec', __FILE__)
31
- gemspec = Kernel.eval(File.read(gemspec_file))
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
- Gem::PackageTask.new(gemspec) do |t|
7
+ Gem::PackageTask.new(gemspec) do |t|
34
8
 
35
- # Name of the package
36
- t.name = gemspec.name
9
+ # Name of the package
10
+ t.name = gemspec.name
37
11
 
38
- # Version of the package
39
- t.version = gemspec.version
12
+ # Version of the package
13
+ t.version = gemspec.version
40
14
 
41
- # Directory used to store the package files
42
- t.package_dir = "pkg"
15
+ # Directory used to store the package files
16
+ t.package_dir = "pkg"
43
17
 
44
- # True if a gzipped tar file (tgz) should be produced
45
- t.need_tar = false
18
+ # True if a gzipped tar file (tgz) should be produced
19
+ t.need_tar = false
46
20
 
47
- # True if a gzipped tar file (tar.gz) should be produced
48
- t.need_tar_gz = false
21
+ # True if a gzipped tar file (tar.gz) should be produced
22
+ t.need_tar_gz = false
49
23
 
50
- # True if a bzip2'd tar file (tar.bz2) should be produced
51
- t.need_tar_bz2 = false
24
+ # True if a bzip2'd tar file (tar.bz2) should be produced
25
+ t.need_tar_bz2 = false
52
26
 
53
- # True if a zip file should be produced (default is false)
54
- t.need_zip = false
27
+ # True if a zip file should be produced (default is false)
28
+ t.need_zip = false
55
29
 
56
- # List of files to be included in the package.
57
- t.package_files = gemspec.files
30
+ # List of files to be included in the package.
31
+ t.package_files = gemspec.files
58
32
 
59
- # Tar command for gzipped or bzip2ed archives.
60
- t.tar_command = "tar"
33
+ # Tar command for gzipped or bzip2ed archives.
34
+ t.tar_command = "tar"
61
35
 
62
- # Zip command for zipped archives.
63
- t.zip_command = "zip"
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: 1.1.0
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: 2013-04-17 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
13
11
  dependencies:
14
12
  - !ruby/object:Gem::Dependency
15
- name: rake
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: '10.0'
22
- type: :development
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: '10.0'
28
+ version: '3.0'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '4.0'
30
32
  - !ruby/object:Gem::Dependency
31
- name: rspec
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: '2.12'
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.12'
48
+ version: '2.0'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '3.0'
46
52
  - !ruby/object:Gem::Dependency
47
- name: rack
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: '1.5'
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: '1.5'
68
+ version: '13.0'
69
+ - - "<"
70
+ - !ruby/object:Gem::Version
71
+ version: '14.0'
62
72
  - !ruby/object:Gem::Dependency
63
- name: rack-test
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.6'
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: '0.6'
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/spec_test.rake
120
+ - tasks/test.rake
108
121
  homepage: https://github.com/blambeau/rack-robustness
109
- licenses: []
110
- post_install_message:
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: '0'
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
- rubyforge_project:
131
- rubygems_version: 1.8.25
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)
data/Manifest.txt DELETED
@@ -1,15 +0,0 @@
1
- rack-robustness.gemspec
2
- rack-robustness.noespec
3
- .gemtest
4
- CHANGELOG.md
5
- Gemfile
6
- Gemfile.lock
7
- bin/**/*
8
- lib/**/*
9
- LICENCE.md
10
- Manifest.txt
11
- Rakefile
12
- README.md
13
- spec/**/*
14
- tasks/**/*
15
- test/**/*