hanami-controller 2.3.0 → 2.3.1

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: 58ef38ac204ec7e5940d6fec35a08d82d0d56cf14dcc38d04ca4ccbaaa4fa5b1
4
- data.tar.gz: 63ced9248a7253f22b4b781f00a2c25cedf182297d9b9a2829304c7366674315
3
+ metadata.gz: 8fe7ba06a133967bb3119f5a4cacd11507d7e0b658dc446088bbb5fbe5f6e109
4
+ data.tar.gz: e86ac135385c01b1da0c9d5c87a461dbc743812ab2b1f0bc44ba347cc7685453
5
5
  SHA512:
6
- metadata.gz: 5b2e5966dbb034f812dde17d173a4faf7ad514e0343f4ad81a8adfc8054ec95285f09f1b494d6d278bfef286eebfa32413a75fd3cc489db13b68bc6cb6a8c26a
7
- data.tar.gz: ee83b4b9f13357dc222524af57ddd095daa29aed1d6768a1053b48ebbb35de3d00644b1e861e79e6f984c56eda707e9dd5f838053737114204b6c2d0765d4edd
6
+ metadata.gz: 74acf00dfb30458595a50e87cb3544be5c181941ac4e94be1e89fc70b02132ec0b41947fb827ee9706a1a1d88f2206f8ce6d0c9eccf50c39ce0a22017f04940b
7
+ data.tar.gz: 283d12b473fac98a5538ef116ac9b7ccc3174d1abeff2c5054a45033a8219f7d0d9c857891221ec93a15b2b54bd4e781b498bcdefc0c7872f3ca2b717cbbe958
data/CHANGELOG.md CHANGED
@@ -2,6 +2,39 @@
2
2
 
3
3
  Complete, fast and testable actions for Rack
4
4
 
5
+ ## [Unreleased]
6
+
7
+ ### Added
8
+
9
+ ### Changed
10
+
11
+ ### Deprecated
12
+
13
+ ### Removed
14
+
15
+ ### Fixed
16
+
17
+ ### Security
18
+
19
+ [Unreleased]: https://github.com/hanami/hanami-controller/compare/v2.3.1...main
20
+
21
+ ## [2.3.1] - 2025-12-06
22
+
23
+ ### Fixed
24
+
25
+ - Allow `handle_exception` to receive multiple class names as strings. (@sidane in #495)
26
+
27
+ ```ruby
28
+ class MyAction < Hanami::Action
29
+ config.handle_exception(
30
+ "MyException" => 500,
31
+ "MyOtherException" => 501
32
+ )
33
+ end
34
+ ```
35
+
36
+ [2.3.1]: https://github.com/hanami/hanami-controller/compare/v2.3.0...v2.3.1
37
+
5
38
  ## v2.3.0 - 2025-11-12
6
39
 
7
40
  ### Added
@@ -26,7 +26,6 @@ Gem::Specification.new do |spec|
26
26
  spec.add_dependency "dry-core", "~> 1.0"
27
27
  spec.add_dependency "zeitwerk", "~> 2.6"
28
28
 
29
- spec.add_development_dependency "bundler", ">= 1.6", "< 3"
30
29
  spec.add_development_dependency "rack-test", "~> 2.0"
31
30
  spec.add_development_dependency "rake", "~> 13"
32
31
  spec.add_development_dependency "rspec", "~> 3.9"
@@ -54,7 +54,11 @@ module Hanami
54
54
  def handle_exception(exceptions)
55
55
  self.handled_exceptions = handled_exceptions
56
56
  .merge(exceptions)
57
- .sort { |(ex1, _), (ex2, _)| ex1.ancestors.include?(ex2) ? -1 : 1 }
57
+ .sort do |(ex1, _), (ex2, _)|
58
+ next 0 if [ex1, ex2].any?(String)
59
+
60
+ ex1.ancestors.include?(ex2) ? -1 : 1
61
+ end
58
62
  .to_h
59
63
  end
60
64
 
data/lib/hanami/action.rb CHANGED
@@ -373,13 +373,15 @@ module Hanami
373
373
  # Otherwise, it sets the response body with the default message associated
374
374
  # to the code (eg 404 will set `"Not Found"`).
375
375
  #
376
- # @param status [Fixnum] a valid HTTP status code
376
+ # @param status [Integer, Symbol] A valid HTTP status code or a symbol representing the HTTP status code
377
377
  # @param body [String] the response body
378
378
  #
379
379
  # @raise [StandardError] if the code isn't valid
380
380
  #
381
381
  # @since 0.2.0
382
382
  #
383
+ # @see https://hanakai.org/learn/hanami/actions/status-codes List of status codes and symbols
384
+ #
383
385
  # @see Hanami::Action::Throwable#handle_exception
384
386
  # @see Hanami::Http::Status:ALL
385
387
  #
@@ -8,6 +8,6 @@ module Hanami
8
8
  #
9
9
  # @since 0.1.0
10
10
  # @api public
11
- VERSION = "2.3.0"
11
+ VERSION = "2.3.1"
12
12
  end
13
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanami-controller
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hanakai team
@@ -85,26 +85,6 @@ dependencies:
85
85
  - - "~>"
86
86
  - !ruby/object:Gem::Version
87
87
  version: '2.6'
88
- - !ruby/object:Gem::Dependency
89
- name: bundler
90
- requirement: !ruby/object:Gem::Requirement
91
- requirements:
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- version: '1.6'
95
- - - "<"
96
- - !ruby/object:Gem::Version
97
- version: '3'
98
- type: :development
99
- prerelease: false
100
- version_requirements: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: '1.6'
105
- - - "<"
106
- - !ruby/object:Gem::Version
107
- version: '3'
108
88
  - !ruby/object:Gem::Dependency
109
89
  name: rack-test
110
90
  requirement: !ruby/object:Gem::Requirement