render_turbo_stream 4.0.3 → 4.0.5
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35bd786f43a61b85aa26d790277b3e912687f4831abc9abcc677e936e5b978f2
|
4
|
+
data.tar.gz: 511c55b6ad3e503d76bb5f2aefa1f9d85fbffed996bc7e304e94944b78a75fcd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5955c95a112371c9bd890d03ce16288ab484c3bccd5c36b74d532cfc1e73993426c6f1d61f9665e7ff474ae45b760478c2c15f90bce82d7ccfcf590e4f248a74
|
7
|
+
data.tar.gz: 829ffda44d7e230c314cec9b29d1617833983fdba23a1422bde8e5c28f0bfde7fb098733fa6ef85f06bfc41605e4afab8028eefe930a231f620fa504602e837f
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
2021 DHH annouced a great milestone in web development with [Rails 7, "Fulfilling a Vision"](https://rubyonrails.org/2021/12/15/Rails-7-fulfilling-a-vision).
|
4
4
|
|
5
|
-
|
5
|
+
This gem has a second [README Turbo::StreamsChannel](https://gitlab.com/sedl/renderturbostream/-/blob/main/README-channels.md). Starting point is here. And I recommend that you download my [Quick-and-dirty test project](https://gitlab.com/sedl/renderturbostream_railsapp), set it up, see all the tests succeed, and then read through this README.
|
6
6
|
|
7
7
|
Defining templates like `(create|update).turbo_stream.haml` is a heavy mix of logic and view. This gem separates logic and view so that `*.turbo_stream.*` templates are no longer necessary and the logic can stay on the ruby side.
|
8
8
|
|
@@ -137,8 +137,8 @@ module RenderTurboStream
|
|
137
137
|
|
138
138
|
if_success_redirect_to: nil, # does a regular redirect. Works if you are inside a turbo_frame and just want to redirect inside that frame BUT CANNOT STREAM OTHERS ACTIONS ON THE SAME RESPONSE https://github.com/rails/rails/issues/48056
|
139
139
|
|
140
|
-
|
141
|
-
|
140
|
+
if_success_add: nil, # hash for a partial to render or array with actions (as array) or hashes for partials within
|
141
|
+
if_error_add: nil, # additional partials that should be rendered if save_action failed
|
142
142
|
add: [], # additional streams
|
143
143
|
|
144
144
|
if_success_notices: nil, # array of strings, override default generated flash generation in the case of success
|
@@ -171,8 +171,8 @@ module RenderTurboStream
|
|
171
171
|
)[:turbo_actions]
|
172
172
|
|
173
173
|
turbo_actions += libs.additional_actions(
|
174
|
-
|
175
|
-
|
174
|
+
if_success_add,
|
175
|
+
if_error_add,
|
176
176
|
add
|
177
177
|
)
|
178
178
|
|
@@ -17,8 +17,8 @@ module RenderTurboStream
|
|
17
17
|
action: 'replace', # options: append, prepend
|
18
18
|
locals: {}, # locals used by the target_id
|
19
19
|
|
20
|
-
|
21
|
-
|
20
|
+
if_success_add: nil, # hash for a partial to render or array with actions (as array) or hashes for partials within
|
21
|
+
if_error_add: nil, # additional partials that should be rendered if save_action failed
|
22
22
|
add: [], # additional streams
|
23
23
|
|
24
24
|
if_success_notices: nil, # array of strings, override default generated flash generation in the case of success
|
@@ -59,8 +59,8 @@ module RenderTurboStream
|
|
59
59
|
streams += flashes[:turbo_actions]
|
60
60
|
|
61
61
|
streams += libs.additional_actions(
|
62
|
-
|
63
|
-
|
62
|
+
if_success_add,
|
63
|
+
if_error_add,
|
64
64
|
add
|
65
65
|
)
|
66
66
|
|
@@ -89,9 +89,9 @@ module RenderTurboStream
|
|
89
89
|
{ turbo_actions: turbo_actions, alerts: alerts, notices: notices }
|
90
90
|
end
|
91
91
|
|
92
|
-
def additional_actions(
|
92
|
+
def additional_actions( if_success_add, if_error_add, add )
|
93
93
|
|
94
|
-
(@save_action ? make_actions(
|
94
|
+
(@save_action ? make_actions(if_success_add) : make_actions(if_error_add)) + make_actions(add)
|
95
95
|
|
96
96
|
end
|
97
97
|
|
@@ -127,7 +127,7 @@ module RenderTurboStream
|
|
127
127
|
private
|
128
128
|
|
129
129
|
# streamline actions to array
|
130
|
-
# valid inputs for
|
130
|
+
# valid inputs for if_success_add or if_error_add or add
|
131
131
|
# [:add_css_class, ...]
|
132
132
|
# [[:add_css_class, ..], ..]
|
133
133
|
# {target_id: '..', ..}
|
@@ -151,6 +151,9 @@ module RenderTurboStream
|
|
151
151
|
if a.is_a?(Hash) && a.key?(:target_id)
|
152
152
|
a = a.merge(target: "##{a[:target_id]}")
|
153
153
|
a.delete(:target_id)
|
154
|
+
unless a.key?(:action)
|
155
|
+
a[:action] = :replace
|
156
|
+
end
|
154
157
|
a
|
155
158
|
else
|
156
159
|
a
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: render_turbo_stream
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- christian
|
@@ -24,12 +24,12 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 7.0.3
|
27
|
-
description:
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
with system and request tests is available.
|
27
|
+
description: This gem brings a set of helpers that allow a unified workflow for TurboStream
|
28
|
+
and TurboStreams::Channel and allow a complete and detailed testing strategy. To
|
29
|
+
avoid a heavy view and logic mix inside *.turbo_stream.* templates, this allows
|
30
|
+
to completely separate view and logic and control all templates and partials directly
|
31
|
+
from the controller. Javascript actions can also be executed directly from the controller.
|
32
|
+
A demo project with all this built in along with system and request tests is available.
|
33
33
|
email:
|
34
34
|
- christian@sedlmair.ch
|
35
35
|
executables: []
|