hanami-controller 2.1.0.beta2 → 2.1.0.rc2
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 +4 -4
- data/CHANGELOG.md +8 -0
- data/hanami-controller.gemspec +1 -1
- data/lib/hanami/action/response.rb +23 -12
- data/lib/hanami/controller/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9d4981a4c7901ff4be64ae0a339886817da04a071e7490f440f745d971e4212
|
4
|
+
data.tar.gz: ffc574ca14b030a7e23b2b035f3df04f83c4b20aaca203c76dea61971cbb86e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a579c0418d491bf872afddd9143043702d0f6f96b7b3bc47f5f56c6600f74da9da0cb8370b6cd103ad0c616285e2035b4cddd7cb94c0fcc0e78e4b7ae61311d
|
7
|
+
data.tar.gz: e4acfb84cd8610a9b81139e12730880484a5e6a7ec96fe518942256579bcaa6cd6fffe62221032633e26574e46d9bfaa38c1bd1fd46bec7e672e44d9490b4cdd
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,14 @@
|
|
2
2
|
|
3
3
|
Complete, fast and testable actions for Rack
|
4
4
|
|
5
|
+
## v2.1.0.rc2 - 2023-11-08
|
6
|
+
|
7
|
+
## v2.1.0.rc1 - 2023-11-01
|
8
|
+
|
9
|
+
### Fixed
|
10
|
+
|
11
|
+
- [Luca Guidi] Ensure Rack compatibility of `Hanami::Action::Response#send_file` (#431)
|
12
|
+
|
5
13
|
## v2.1.0.beta2 - 2023-10-04
|
6
14
|
|
7
15
|
### Fixed
|
data/hanami-controller.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.required_ruby_version = ">= 3.0"
|
22
22
|
|
23
23
|
spec.add_dependency "rack", "~> 2.0"
|
24
|
-
spec.add_dependency "hanami-utils", "~> 2.
|
24
|
+
spec.add_dependency "hanami-utils", "~> 2.1.rc"
|
25
25
|
spec.add_dependency "dry-configurable", "~> 1.0", "< 2"
|
26
26
|
spec.add_dependency "dry-core", "~> 1.0"
|
27
27
|
spec.add_dependency "zeitwerk", "~> 2.6"
|
@@ -73,15 +73,14 @@ module Hanami
|
|
73
73
|
@length = 0
|
74
74
|
@body = EMPTY_BODY.dup
|
75
75
|
|
76
|
-
|
77
|
-
if str.is_a?(::Rack::File::Iterator)
|
76
|
+
if str.is_a?(::Rack::Files::BaseIterator)
|
78
77
|
@body = str
|
79
78
|
else
|
80
79
|
write(str) unless str.nil? || str == EMPTY_BODY
|
81
80
|
end
|
82
81
|
end
|
83
82
|
|
84
|
-
#
|
83
|
+
# Sets the response status.
|
85
84
|
#
|
86
85
|
# @param code [Integer, Symbol] the status code
|
87
86
|
#
|
@@ -102,11 +101,21 @@ module Hanami
|
|
102
101
|
super(Http::Status.lookup(code))
|
103
102
|
end
|
104
103
|
|
105
|
-
#
|
104
|
+
# Sets the response body from the rendered view.
|
106
105
|
#
|
107
|
-
# @
|
108
|
-
|
109
|
-
|
106
|
+
# @param view [Hanami::View] the view to render
|
107
|
+
# @param input [Hash] keyword arguments to pass to the view's `#call` method
|
108
|
+
#
|
109
|
+
# @api public
|
110
|
+
# @since 2.1.0
|
111
|
+
def render(view, **input)
|
112
|
+
view_input = {
|
113
|
+
**view_options.call(request, self),
|
114
|
+
**exposures,
|
115
|
+
**input
|
116
|
+
}
|
117
|
+
|
118
|
+
self.body = view.call(**view_input).to_str
|
110
119
|
end
|
111
120
|
|
112
121
|
# Returns the format for the response.
|
@@ -275,24 +284,26 @@ module Hanami
|
|
275
284
|
#
|
276
285
|
# @return [void]
|
277
286
|
#
|
278
|
-
# @see Config#public_directory
|
287
|
+
# @see Hanami::Action::Config#public_directory
|
288
|
+
# @see Hanami::Action::Rack::File
|
279
289
|
#
|
280
290
|
# @since 2.0.0
|
281
291
|
# @api public
|
282
292
|
def send_file(path)
|
283
293
|
_send_file(
|
284
|
-
Rack::File.new(path, @config.public_directory).call(env)
|
294
|
+
Action::Rack::File.new(path, @config.public_directory).call(env)
|
285
295
|
)
|
286
296
|
end
|
287
297
|
|
288
298
|
# Send the file at the given path as the response, for a file anywhere in the file system.
|
289
299
|
#
|
290
|
-
# @see #send_file
|
291
|
-
#
|
292
300
|
# @param path [String, Pathname] path to the file to be sent
|
293
301
|
#
|
294
302
|
# @return [void]
|
295
303
|
#
|
304
|
+
# @see #send_file
|
305
|
+
# @see Hanami::Action::Rack::File
|
306
|
+
#
|
296
307
|
# @since 2.0.0
|
297
308
|
# @api public
|
298
309
|
def unsafe_send_file(path)
|
@@ -303,7 +314,7 @@ module Hanami
|
|
303
314
|
end
|
304
315
|
|
305
316
|
_send_file(
|
306
|
-
Rack::File.new(path, directory).call(env)
|
317
|
+
Action::Rack::File.new(path, directory).call(env)
|
307
318
|
)
|
308
319
|
end
|
309
320
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanami-controller
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.0.
|
4
|
+
version: 2.1.0.rc2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luca Guidi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.1.rc
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 2.1.rc
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: dry-configurable
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -222,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
222
222
|
- !ruby/object:Gem::Version
|
223
223
|
version: 1.3.1
|
224
224
|
requirements: []
|
225
|
-
rubygems_version: 3.4.
|
225
|
+
rubygems_version: 3.4.21
|
226
226
|
signing_key:
|
227
227
|
specification_version: 4
|
228
228
|
summary: Complete, fast and testable actions for Rack and Hanami
|