render_turbo_stream 4.0.3 → 4.0.5
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:
|
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: []
|