rambulance 1.0.3 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7e269fee25c5c5b5d087d8d3ef0ff34153dbeda65a6af3fbff3ae7dec07a19a3
4
- data.tar.gz: 905fe5bb0bdd960845f068ee9446a5ff3ae3444e14862586045deb8caf702a1b
3
+ metadata.gz: 17bc50582db6ee389d7b677e43fcea58bdc91c758fdc953b39fa2fae52d7ae6c
4
+ data.tar.gz: 1fdd148f730d07b03ce03f4722dd2c151d4291de58f515ed2084a347f66854d6
5
5
  SHA512:
6
- metadata.gz: ccff6fd760b1f6b3cb8fbd27e5312ac4765beedc9dbb5525915cf5d8f30aac392b4a6c81c853592583e6c6620cf16b7be85db872dd24470886104854fb6af43f
7
- data.tar.gz: ba59cd558bc18a510a678e5ac306d2f0970a19882aab85797cf376443e94cb57a7015af47832b0e665020ec32acde67fc5c5cfecf53b94268c5b146cc94c58bc
6
+ metadata.gz: 4238686586fb7e22c95230a00d6e7fabf28312f43b018d750a0008590205a40b64413777f6a43559d26c045501f4e82cb7ef814204cb07ea9432a5f06f9c9606
7
+ data.tar.gz: a36d6333ec57c8706b3b5fb304362d0d1f1288b684009ee28842299bfb4daa015be58f93206eb146344d163d9e896166ce4dd4dc611af6d2e683124b742d30ab
@@ -11,11 +11,12 @@ before_install:
11
11
 
12
12
  rvm:
13
13
  - 2.3.8
14
- - 2.4.6
15
- - 2.5.5
16
- - 2.6.3
14
+ - 2.4.10
15
+ - 2.5.8
16
+ - 2.6.6
17
+ - 2.7.1
17
18
  - ruby-head
18
- - jruby-9.2.7.0
19
+ - jruby-9.2.11.1
19
20
  - jruby-head
20
21
 
21
22
  gemfile:
@@ -32,20 +33,30 @@ matrix:
32
33
  gemfile: gemfiles/rails_60.gemfile
33
34
  - rvm: 2.3.8
34
35
  gemfile: gemfiles/rails_edge.gemfile
35
- - rvm: 2.4.6
36
+ - rvm: 2.4.10
36
37
  gemfile: gemfiles/rails_60.gemfile
37
- - rvm: 2.4.6
38
+ - rvm: 2.4.10
38
39
  gemfile: gemfiles/rails_edge.gemfile
39
- - rvm: 2.6.3
40
+ - rvm: 2.6.6
40
41
  gemfile: gemfiles/rails_42.gemfile
42
+ - rvm: 2.7.1
43
+ gemfile: gemfiles/rails_42.gemfile
44
+ - rvm: 2.7.1
45
+ gemfile: gemfiles/rails_50.gemfile
46
+ - rvm: 2.7.1
47
+ gemfile: gemfiles/rails_51.gemfile
48
+ - rvm: 2.7.1
49
+ gemfile: gemfiles/rails_52.gemfile
41
50
  - rvm: ruby-head
42
51
  gemfile: gemfiles/rails_42.gemfile
43
52
  - rvm: ruby-head
44
53
  gemfile: gemfiles/rails_50.gemfile
45
54
  - rvm: ruby-head
46
55
  gemfile: gemfiles/rails_51.gemfile
56
+ - rvm: ruby-head
57
+ gemfile: gemfiles/rails_52.gemfile
47
58
  allow_failures:
48
59
  - rvm: ruby-head
49
- - rvm: jruby-9.2.7.0
60
+ - rvm: jruby-9.2.11.1
50
61
  - rvm: jruby-head
51
62
  - gemfile: gemfiles/rails_edge.gemfile
@@ -1,3 +1,11 @@
1
+ ## [v1.0.3](https://github.com/yuki24/rambulance/tree/v1.0.3)
2
+
3
+ _<sup>released at 2019-10-03 03:39:17 UTC</sup>_
4
+
5
+ #### Fixes
6
+
7
+ - Fixes a bug where custom exceptions app can not be loaded properly on Rails 6 and Zeitwerk ([#52](https://github.com/yuki24/rambulance/issues/52), [@sho918](https://github.com/sho918))
8
+
1
9
  ## [v1.0.2](https://github.com/yuki24/rambulance/tree/v1.0.2)
2
10
 
3
11
  _<sup>released at 2019-06-06 23:39:38 UTC</sup>_
@@ -58,7 +66,7 @@ _<sup>released at 2018-01-02 21:36:02 UTC</sup>_
58
66
  #### Breaking changes & deprecations
59
67
 
60
68
  - Drop support for Ruby 1.9.3
61
- - Drop support for generating Haml and Slim templates on `rails g rambulance:install`
69
+ - Drop support for Haml and Slim templates
62
70
 
63
71
  #### Bug fixes
64
72
 
@@ -67,6 +67,12 @@ module Rambulance
67
67
  request.env["MALFORMED_BODY"], request.env["rack.input"] = request.env["rack.input"], StringIO.new
68
68
  end
69
69
 
70
+ begin
71
+ request.accepts
72
+ rescue Mime::Type::InvalidMimeType
73
+ request.env["MALFORMED_HTTP_ACCEPT"], request.env["HTTP_ACCEPT"] = request.env["HTTP_ACCEPT"], "*/*"
74
+ end
75
+
70
76
  # The #formats method needs to be called after the sanitization above.
71
77
  request.formats << Mime::Type.lookup('text/plain')
72
78
 
@@ -1,3 +1,3 @@
1
1
  module Rambulance
2
- VERSION = "1.0.3"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -8,6 +8,7 @@ class TestApp < Rails::Application
8
8
  config.eager_load = false
9
9
  config.root = File.dirname(__FILE__)
10
10
  config.autoload_paths += ["#{config.root}/lib"] if ENV["CUSTOM_EXCEPTIONS_APP"]
11
+ config.hosts = "www.example.com"
11
12
 
12
13
  if Rails::VERSION::STRING >= "5.2"
13
14
  config.action_controller.default_protect_from_forgery = true
@@ -50,6 +51,7 @@ class ApplicationController < ActionController::Base
50
51
  raise "This is a bad filter."
51
52
  end
52
53
  end
54
+
53
55
  class UsersController < ApplicationController
54
56
  if self.respond_to? :skip_before_action
55
57
  skip_before_action :bad_filter, except: :show
@@ -79,6 +81,7 @@ class UsersController < ApplicationController
79
81
  raise ForbiddenException
80
82
  end
81
83
  end
84
+
82
85
  class ProjectsController < ApplicationController
83
86
  if self.respond_to?(:skip_forgery_protection)
84
87
  skip_forgery_protection
@@ -36,6 +36,25 @@ class ErrorJsonTest < ActionDispatch::IntegrationTest
36
36
  assert_equal "Something went wrong", json_response['message']
37
37
  end
38
38
 
39
+ test 'returns an appropriate status based on the rails version when the HTTP Accept header is malformed' do
40
+ if Rails::VERSION::STRING >= '5.1.0'
41
+ post '/users', headers: { "HTTP_ACCEPT" => "image/apng*/*" }
42
+ else
43
+ post '/users', nil, "HTTP_ACCEPT" => "image/apng*/*"
44
+ end
45
+
46
+ if Rails::VERSION::STRING >= '6.0.0'
47
+ assert_equal 406, response.status
48
+ assert_equal "The requested content type is not acceptable.\n", response.body
49
+ elsif Rails::VERSION::STRING >= '5.2.0'
50
+ assert_equal 422, response.status
51
+ elsif Rails::VERSION::STRING >= '5.1.0'
52
+ assert_equal 500, response.status
53
+ elsif Rails::VERSION::STRING >= '4.2.0'
54
+ assert_equal 201, response.status
55
+ end
56
+ end
57
+
39
58
  private
40
59
 
41
60
  def without_layouts
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rambulance
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuki Nishijima
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-03 00:00:00.000000000 Z
11
+ date: 2020-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -222,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
222
  - !ruby/object:Gem::Version
223
223
  version: '0'
224
224
  requirements: []
225
- rubygems_version: 3.0.3
225
+ rubygems_version: 3.1.3
226
226
  signing_key:
227
227
  specification_version: 4
228
228
  summary: Simple and safe way to dynamically generate error pages