schneiderlein 3.0.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: add1b5cbf6449af5055bf9b22fd80407454d52dab068257695e6656635cc0da6
4
- data.tar.gz: a15ec0d6a354958fee79a225789017019da70a9bd8f0893523a24eafa105f6e8
3
+ metadata.gz: 7b5e95d7cafb3643022c7cc317c4320d45365c7d231bee21c6cf6b5b93784afa
4
+ data.tar.gz: 4797c2da7ad4d53fe236783efd559c757bf2d0c0e52c4e28634743a12779d4ae
5
5
  SHA512:
6
- metadata.gz: addd2b5f6e306a3ef6ec4bc7e285b74fac5ee8df95d89f7a020860e3e9d399f59ea5b5f8d589b71cb4e1e1644119f5888420decdc50b4f8f8a54557d252ccc59
7
- data.tar.gz: db6b1dc8f40003835efb3eda32c01d52df623e92e91512c68ede77650640ba133e1f11ed679b3aa1009c2b42abf64940b7614994e1bc3bf3c693f75a0c9a526e
6
+ metadata.gz: b493d3462991010d6f90259012d355c0c9496c8502bbae1ba61571d0ebede9cb949fbf6fd1db3319155ffe4e6215268cf2e2a1612d02409acab6319c2064bfc1
7
+ data.tar.gz: 9d7b0d23e58d03d4975c3661d1924ec2d1f7da700930764226e410ad8d587ebbeb54078dcb72cc699fd152898d1b2a753343a1ee918793d6607db0f9b36fa95d
data/README.md CHANGED
@@ -1,6 +1,5 @@
1
1
  # Schneiderlein
2
- [![Code Climate](https://codeclimate.com/github/Absolventa/schneiderlein/badges/gpa.svg)](https://codeclimate.com/github/Absolventa/schneiderlein)
3
- [![Build Status](https://travis-ci.org/Absolventa/schneiderlein.svg?branch=master)](https://travis-ci.org/Absolventa/schneiderlein)
2
+ ![Build Status](https://github.com/absolventa/schneiderlein/actions/workflows/ci.yml/badge.svg)
4
3
  [![Gem Version](https://badge.fury.io/rb/schneiderlein.svg)](http://badge.fury.io/rb/schneiderlein)
5
4
 
6
5
  **Schneiderlein** is a Rack middleware to catch parse errors coming from [ActionDispatch::ParamsParser](https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/middleware/params_parser.rb). Malformed XML presents a 500 Internal Server Error to your API consumer. It's hardly meaningful, should instead be in the 4xx range and most importantly: it's not helping.
@@ -33,6 +32,12 @@ The name **Schneiderlein** is derived from the fairytale »Das Tapfere Schneider
33
32
 
34
33
  ## Changelog
35
34
 
35
+ ### 4.0.0
36
+ * Drop support for Rails below 6.1
37
+ * Drop support for Ruby below 3.0
38
+ * Add support for Rails 7.+
39
+ * Switch from Travis CI to GitHub Actions
40
+
36
41
  ### 3.0.0
37
42
  * Drop support for Rails below 5.2
38
43
  * Add support for Rails 6.+
@@ -1,4 +1,3 @@
1
- # frozen_string_literal: true
2
1
  module Schneiderlein
3
2
  class Catch
4
3
  delegate :any?, :empty?, to: :errors
@@ -16,7 +15,7 @@ module Schneiderlein
16
15
  alias errors to_a
17
16
 
18
17
  def to_s
19
- to_a.map do |exc|
18
+ to_a.dup.map do |exc|
20
19
  ExtractREXMLErrorMessage.new(exc).to_s
21
20
  end.join(' ')
22
21
  end
@@ -1,19 +1,15 @@
1
- # frozen_string_literal: true
2
1
  module Schneiderlein
3
2
  class Engine < ::Rails::Engine
4
3
  isolate_namespace Schneiderlein
5
4
 
6
5
  initializer 'schneiderlein.middleware' do |app|
7
6
  if Rails::VERSION::MAJOR < 5
8
- app.config.middleware.insert_before \
9
- 'ActionDispatch::ParamsParser', 'Schneiderlein::FlyCatcher'
7
+ app.config.middleware.insert_before 'ActionDispatch::ParamsParser', 'Schneiderlein::FlyCatcher'
10
8
  else
11
9
  # ActionDispatch::ParamsParser is not included in the middleware
12
10
  # stack anymore in Rails 5.
13
- app.config.middleware.insert_after \
14
- ActionDispatch::Callbacks, Schneiderlein::FlyCatcher
11
+ app.config.middleware.insert_after ActionDispatch::Callbacks, Schneiderlein::FlyCatcher
15
12
  end
16
13
  end
17
14
  end
18
-
19
15
  end
@@ -1,4 +1,3 @@
1
- # frozen_string_literal: true
2
1
  module Schneiderlein
3
2
  class ExtractREXMLErrorMessage < Struct.new(:exception)
4
3
 
@@ -9,7 +8,10 @@ module Schneiderlein
9
8
  private
10
9
 
11
10
  def sanitizer(str)
12
- str.to_s.gsub!('#<REXML::ParseException: ', '').to_s[0..str.to_s.index('Last').to_i-2]
11
+ string = str.to_s.dup
12
+ string = string.gsub('#<REXML::ParseException: ', '')
13
+ string = string.to_s[0..string.to_s.index('Last').to_i-2]
14
+ string
13
15
  end
14
16
 
15
17
  end
@@ -1,4 +1,3 @@
1
- # frozen_string_literal: true
2
1
  module Schneiderlein
3
2
  class FlyCatcher < Struct.new(:app)
4
3
 
@@ -1,3 +1,3 @@
1
1
  module Schneiderlein
2
- VERSION = '3.0.0'
2
+ VERSION = '4.0.0'
3
3
  end
data/lib/schneiderlein.rb CHANGED
@@ -1,4 +1,3 @@
1
- # frozen_string_literal: true
2
1
  require "schneiderlein/engine"
3
2
  require "schneiderlein/fly_catcher"
4
3
  require "schneiderlein/catch"
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schneiderlein
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Zimmermann
8
8
  - Robin Neumann
9
- autorequire:
9
+ - Daniel Schoppmann
10
+ autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2019-11-01 00:00:00.000000000 Z
13
+ date: 2022-09-23 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: rails
@@ -17,20 +18,20 @@ dependencies:
17
18
  requirements:
18
19
  - - ">="
19
20
  - !ruby/object:Gem::Version
20
- version: 5.2.0
21
+ version: 6.0.0
21
22
  - - "<"
22
23
  - !ruby/object:Gem::Version
23
- version: '7.0'
24
+ version: '8.0'
24
25
  type: :runtime
25
26
  prerelease: false
26
27
  version_requirements: !ruby/object:Gem::Requirement
27
28
  requirements:
28
29
  - - ">="
29
30
  - !ruby/object:Gem::Version
30
- version: 5.2.0
31
+ version: 6.0.0
31
32
  - - "<"
32
33
  - !ruby/object:Gem::Version
33
- version: '7.0'
34
+ version: '8.0'
34
35
  - !ruby/object:Gem::Dependency
35
36
  name: appraisal
36
37
  requirement: !ruby/object:Gem::Requirement
@@ -65,19 +66,20 @@ dependencies:
65
66
  requirements:
66
67
  - - "~>"
67
68
  - !ruby/object:Gem::Version
68
- version: 3.5.0
69
+ version: 5.1.2
69
70
  type: :development
70
71
  prerelease: false
71
72
  version_requirements: !ruby/object:Gem::Requirement
72
73
  requirements:
73
74
  - - "~>"
74
75
  - !ruby/object:Gem::Version
75
- version: 3.5.0
76
+ version: 5.1.2
76
77
  description: Rescues from ActionDispatch::ParamsParser and continues in middleware
77
78
  stack
78
79
  email:
79
80
  - cz@aegisnet.de
80
81
  - robin.neumann@absolventa.de
82
+ - daniel.schoppmann@gmail.com
81
83
  executables: []
82
84
  extensions: []
83
85
  extra_rdoc_files: []
@@ -101,7 +103,7 @@ homepage: https://github.com/Absolventa/schneiderlein
101
103
  licenses:
102
104
  - MIT
103
105
  metadata: {}
104
- post_install_message:
106
+ post_install_message:
105
107
  rdoc_options: []
106
108
  require_paths:
107
109
  - lib
@@ -109,15 +111,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
111
  requirements:
110
112
  - - ">="
111
113
  - !ruby/object:Gem::Version
112
- version: 2.2.2
114
+ version: 3.0.0
113
115
  required_rubygems_version: !ruby/object:Gem::Requirement
114
116
  requirements:
115
117
  - - ">="
116
118
  - !ruby/object:Gem::Version
117
119
  version: '0'
118
120
  requirements: []
119
- rubygems_version: 3.0.3
120
- signing_key:
121
+ rubygems_version: 3.3.7
122
+ signing_key:
121
123
  specification_version: 4
122
124
  summary: Rack middleware that rescues from ActionDispatch::ParamsParser
123
125
  test_files: []