hanami-controller 1.3.2 → 2.0.0.alpha3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +83 -0
- data/LICENSE.md +1 -1
- data/README.md +299 -537
- data/hanami-controller.gemspec +5 -4
- data/lib/hanami/action/application_action.rb +112 -0
- data/lib/hanami/action/application_configuration/cookies.rb +29 -0
- data/lib/hanami/action/application_configuration/sessions.rb +46 -0
- data/lib/hanami/action/application_configuration.rb +92 -0
- data/lib/hanami/action/base_params.rb +2 -2
- data/lib/hanami/action/cache/cache_control.rb +4 -4
- data/lib/hanami/action/cache/conditional_get.rb +3 -1
- data/lib/hanami/action/cache/directives.rb +1 -1
- data/lib/hanami/action/cache/expires.rb +3 -3
- data/lib/hanami/action/cache.rb +1 -139
- data/lib/hanami/action/configuration.rb +428 -0
- data/lib/hanami/action/cookie_jar.rb +3 -3
- data/lib/hanami/action/cookies.rb +3 -62
- data/lib/hanami/action/csrf_protection.rb +214 -0
- data/lib/hanami/action/flash.rb +102 -207
- data/lib/hanami/action/glue.rb +5 -31
- data/lib/hanami/action/halt.rb +12 -0
- data/lib/hanami/action/mime.rb +78 -485
- data/lib/hanami/action/params.rb +2 -2
- data/lib/hanami/action/rack/file.rb +1 -1
- data/lib/hanami/action/request.rb +30 -20
- data/lib/hanami/action/response.rb +193 -0
- data/lib/hanami/action/session.rb +11 -128
- data/lib/hanami/action/standalone_action.rb +579 -0
- data/lib/hanami/action/validatable.rb +1 -1
- data/lib/hanami/action/view_name_inferrer.rb +46 -0
- data/lib/hanami/action.rb +129 -73
- data/lib/hanami/controller/version.rb +1 -1
- data/lib/hanami/controller.rb +0 -227
- data/lib/hanami/http/status.rb +2 -2
- metadata +45 -27
- data/lib/hanami/action/callable.rb +0 -92
- data/lib/hanami/action/callbacks.rb +0 -214
- data/lib/hanami/action/configurable.rb +0 -50
- data/lib/hanami/action/exposable/guard.rb +0 -104
- data/lib/hanami/action/exposable.rb +0 -126
- data/lib/hanami/action/head.rb +0 -121
- data/lib/hanami/action/rack/callable.rb +0 -47
- data/lib/hanami/action/rack.rb +0 -399
- data/lib/hanami/action/redirect.rb +0 -59
- data/lib/hanami/action/throwable.rb +0 -196
- data/lib/hanami/controller/configuration.rb +0 -763
- data/lib/hanami-controller.rb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 015e9bf69c01ea01cbdd9a27e7bf4d4cb4f8f9a98f01a14d707fd68457096006
|
4
|
+
data.tar.gz: 0f2c2e2569453264b41e131451caae329cfbd7d6773d50f610355f5f6fd0b62b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7eb2b778608f9dd27cbf777dd00b98e079bc1ec790da5e388113d645babbc9972d10272c083e187dfafa875fe0e2387592f34fc4d48b0ff96be920d1d82c12b8
|
7
|
+
data.tar.gz: e1290141bb9128031b0593b1edcf2975fe5f01eadb4661fe0bf18c164f339671bf195b43f8933731cab13180b68a7141a4ce6caa01e1df9aabe3e5afb9e0c9a7
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,89 @@
|
|
1
1
|
# Hanami::Controller
|
2
2
|
Complete, fast and testable actions for Rack
|
3
3
|
|
4
|
+
## v2.0.0.alpha3 - 2021-11-09
|
5
|
+
### Added
|
6
|
+
- [Luca Guidi] Automatically include session behavior in `Hanami::Action` when sessions are enabled via Hanami application config
|
7
|
+
- [Sean Collins] Pass exposures from action to view
|
8
|
+
|
9
|
+
### Changed
|
10
|
+
- [Tim Riley] (Internal) Updated settings to use updated `setting` API in dry-configurable 0.13.0
|
11
|
+
- [Sean Collins] Move automatic view rendering from `handle` to `finish`
|
12
|
+
|
13
|
+
## v2.0.0.alpha2 - 2021-05-04
|
14
|
+
### Added
|
15
|
+
- [Luca Guidi] Official support for Ruby: MRI 3.0
|
16
|
+
- [Tim Riley] Introduced `Hanami::Action::ApplicationAction`
|
17
|
+
- [Tim Riley] Introduced `Hanami::Action::Configuration`
|
18
|
+
- [Tim Riley] Introduced `Hanami::Action::ApplicationConfiguration`
|
19
|
+
- [Tim Riley] Auto-inject a paired view into any `Hanami::Action::ApplicationAction` instance
|
20
|
+
- [Tim Riley] Auto-render `Hanami::Action::ApplicationAction` subclasses that don't implement `#handle`
|
21
|
+
- [Tim Riley] Enable CSRF protection automatically when HTTP sessions are enabled
|
22
|
+
|
23
|
+
### Fixed
|
24
|
+
- [Luca Guidi] Ensure `Hanami::Action::Response#renderable?` to return `false` when body is set
|
25
|
+
- [Andrew Croome] Ensure `Hanami::Action.accept` to use Rack `CONTENT_TYPE` for the _before callback_ check
|
26
|
+
|
27
|
+
### Changed
|
28
|
+
- [Luca Guidi] Drop support for Ruby: MRI 2.5.
|
29
|
+
- [Tim Riley] Removed `Hanami::Action.handle_exception` in favor of `Hanami::Action.config.handle_exception`
|
30
|
+
- [Tim Riley] Rewritten `Hanami::Action::Flash`, based on Roda's `FlashHash`
|
31
|
+
|
32
|
+
## v2.0.0.alpha1 - 2019-01-30
|
33
|
+
### Added
|
34
|
+
- [Luca Guidi] `Hanami::Action::Request#session` to access the HTTP session as it was originally sent
|
35
|
+
- [Luca Guidi] `Hanami::Action::Request#cookies` to access the HTTP cookies as they were originally sent
|
36
|
+
- [Luca Guidi & Tim Riley] Allow to build a deep inheritance chain for actions
|
37
|
+
|
38
|
+
### Changed
|
39
|
+
- [Luca Guidi] Drop support for Ruby: MRI 2.3, and 2.4.
|
40
|
+
- [Luca Guidi] `Hanami::Action` is a superclass
|
41
|
+
- [Luca Guidi] `Hanami::Action#initialize` requires a `configuration:` keyword argument
|
42
|
+
- [Luca Guidi] `Hanami::Action#initialize` returns a frozen action instance
|
43
|
+
- [Tim Riley] `Hanami::Action` subclasses must implement `#handle` instead of `#call`
|
44
|
+
- [Luca Guidi] `Hanami::Action#handle` accepts `Hanami::Action::Request` and `Hanami::Action::Response`
|
45
|
+
- [Luca Guidi] `Hanami::Action#handle` returns `Hanami::Action::Response`
|
46
|
+
- [Luca Guidi] Removed `Hanami::Controller.configure`, `.configuration`, `.duplicate`, and `.load!`
|
47
|
+
- [Luca Guidi] Removed `Hanami::Action.use` to mount Rack middleware at the action level
|
48
|
+
- [Luca Guidi] `Hanami::Controller::Configuration` changed syntax from DSL style to setters (eg. `Hanami::Controller::Configuration.new { |c| c.default_request_format = :html }`)
|
49
|
+
- [Luca Guidi] `Hanami::Controller::Configuration#initialize` returns a frozen configuration instance
|
50
|
+
- [Luca Guidi] Removed `Hanami::Controller::Configuration#prepare`
|
51
|
+
- [Luca Guidi] Removed `Hanami::Action.configuration`
|
52
|
+
- [Luca Guidi] Removed `Hanami::Action.configuration.handle_exceptions`
|
53
|
+
- [Luca Guidi] Removed `Hanami::Action.configuration.default_request_format` in favor of `#default_request_format`
|
54
|
+
- [Luca Guidi] Removed `Hanami::Action.configuration.default_charset` in favor of `#default_charset`
|
55
|
+
- [Luca Guidi] Removed `Hanami::Action.configuration.format` to register a MIME Type for a single action. Please use the configuration.
|
56
|
+
- [Luca Guidi] Removed `Hanami::Action.expose` in favor of `Hanami::Action::Response#[]=` and `#[]`
|
57
|
+
- [Luca Guidi] Removed `Hanami::Action#status=` in favor of `Hanami::Action::Response#status=`
|
58
|
+
- [Luca Guidi] Removed `Hanami::Action#body=` in favor of `Hanami::Action::Response#body=`
|
59
|
+
- [Luca Guidi] Removed `Hanami::Action#headers` in favor of `Hanami::Action::Response#headers`
|
60
|
+
- [Luca Guidi] Removed `Hanami::Action#accept?` in favor of `Hanami::Action::Request#accept?`
|
61
|
+
- [Luca Guidi] Removed `Hanami::Action#format` in favor of `Hanami::Action::Response#format`
|
62
|
+
- [Luca Guidi] Introduced `Hanami::Action#format` as factory to assign response format: `res.format = format(:json)` or `res.format = format("application/json")`
|
63
|
+
- [Luca Guidi] Removed `Hanami::Action#format=` in favor of `Hanami::Action::Response#format=`
|
64
|
+
- [Gustavo Caso] `Hanami::Action.accept` now looks at request `Content-Type` header to accept/deny a request
|
65
|
+
- [Luca Guidi] Removed `Hanami::Action#request_id` in favor of `Hanami::Action::Request#id`
|
66
|
+
- [Gustavo Caso] Removed `Hanami::Action#parsed_request_body` in favor of `Hanami::Action::Request#parsed_body`
|
67
|
+
- [Luca Guidi] Removed `Hanami::Action#head?` in favor of `Hanami::Action::Request#head?`
|
68
|
+
- [Luca Guidi] Removed `Hanami::Action#status` in favor of `Hanami::Action::Response#status=` and `#body=`
|
69
|
+
- [Luca Guidi] Removed `Hanami::Action#session` in favor of `Hanami::Action::Response#session`
|
70
|
+
- [Luca Guidi] Removed `Hanami::Action#cookies` in favor of `Hanami::Action::Response#cookies`
|
71
|
+
- [Luca Guidi] Removed `Hanami::Action#flash` in favor of `Hanami::Action::Response#flash`
|
72
|
+
- [Luca Guidi] Removed `Hanami::Action#redirect_to` in favor of `Hanami::Action::Response#redirect_to`
|
73
|
+
- [Luca Guidi] Removed `Hanami::Action#cache_control`, `#expires`, and `#fresh` in favor of `Hanami::Action::Response#cache_control`, `#expires`, and `#fresh`, respectively
|
74
|
+
- [Luca Guidi] Removed `Hanami::Action#send_file` and `#unsafe_send_file` in favor of `Hanami::Action::Response#send_file` and `#unsafe_send_file`, respectively
|
75
|
+
- [Luca Guidi] Removed `Hanami::Action#errors`
|
76
|
+
- [Gustavo Caso] Removed body cleanup for `HEAD` requests
|
77
|
+
- [Luca Guidi] `Hanami::Action` callback hooks now accept `Hanami::Action::Request` and `Hanami::Action::Response` arguments
|
78
|
+
- [Luca Guidi] When an exception is raised, it won't be caught, unless it's handled
|
79
|
+
- [Luca Guidi] `Hanami::Action` exception handlers now accept `Hanami::Action::Request`, `Hanami::Action::Response`, and exception arguments
|
80
|
+
|
81
|
+
## v1.3.3 - 2020-01-14
|
82
|
+
### Added
|
83
|
+
- [Luca Guidi] Official support for Ruby: MRI 2.7
|
84
|
+
- [Luca Guidi] Support `rack` 2.1
|
85
|
+
- [Luca Guidi] Support for both `hanami-validations` 1 and 2
|
86
|
+
|
4
87
|
## v1.3.2 - 2019-06-28
|
5
88
|
### Fixed
|
6
89
|
- [Ian Ker-Seymer] Ensure `Etag` to work when `If-Modified-Since` is sent from browser and upstream proxy sets `Last-Modified` automatically.
|
data/LICENSE.md
CHANGED