render_turbo_stream 2.0.1 → 2.0.2

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: 00fd3b24190028352872dce17416ff89c2c31a416ae8f7a349de68193f39d10c
4
- data.tar.gz: a1e51c47081672b873a5883fe580b31144aacdd3a33835dfd5e4d19db27e950e
3
+ metadata.gz: 9858266fb82670a9ef99550a3acb17c4d744299969634a16dc34f05a62b6e5e7
4
+ data.tar.gz: 445dd3768ef6674b7286fb55d7738f9c112c31f5d57841f8fb8b4390c64b31af
5
5
  SHA512:
6
- metadata.gz: 837d310de30b519f668e171f6eed9fac087e7fba358b6583e7e38ec5f0b9494ed613b94c1ca346dd25b5da1bc45acc635a11b5bc9b6c9df9275f0c434c448607
7
- data.tar.gz: 1aaa0b80f38260fc542d3e6ea584473661664a84853cdfc8ab2f09946e0ffff34bf643a7677475d72be1334720f641143e591c0e41c6b6c47d435dae1b2a35ed
6
+ metadata.gz: dae6e979f4abed3f7b287a9fe5d39d8a2b3c7d0e92f4048d1bc551ddedfd39fd365c26cc8bf7be1c67d6e21a63f22670107e292ba50728db824c09ed48cbaf91
7
+ data.tar.gz: 1c5feab440874cc4f8e75324b60c1f352eb4a0cc54a38ff55598250f898e02bd5fbe454ea68fb6542a12f3b6c1eeab8493a2f7c146861c3010295eaedb58a7c2
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # RenderTurboStream
2
2
 
3
- Defining templates like `(create|update).turbo_stream.haml` annoyed me.
4
-
5
- The biggest advantage of this gem is the testing strategy.
3
+ Defining templates like `(create|update).turbo_stream.haml` annoyed me and I was looking for a testing strategy.
6
4
 
7
5
  Working consistently with turbo_stream means shooting lots of partials from the backend to the frontend. This always requires the same attributes: the path to the partial, the html-id that turbo_stream points to, and maybe some locals. This gem serialises that: Partials can be controlled directly from the controller. It sets the status, generates a flash message, handles redirection, pushes it all to the front. Includes helpers for enabling request tests.
8
6
 
@@ -0,0 +1,4 @@
1
+ module RenderTurboStream
2
+ class RenderTurboStreamRenderController < ActionController::Base
3
+ end
4
+ end
@@ -11,7 +11,6 @@ module RenderTurboStream
11
11
  def cable_partial_to_channel(action, channel, partial, id, locals: nil)
12
12
 
13
13
  # add headers for test
14
-
15
14
  if Rails.env.test?
16
15
  args = {
17
16
  target: "##{id}",
@@ -20,12 +19,14 @@ module RenderTurboStream
20
19
  partial: partial,
21
20
  locals: locals
22
21
  }
22
+ html = RenderTurboStreamRenderController.render(partial: partial, locals: locals)
23
23
  h = response.headers.to_h
24
24
  i = 1
25
25
  loop do
26
26
  k = "test-turbo-cable-#{i}"
27
27
  unless h.keys.include?(k)
28
28
  response.headers[k] = args.to_json
29
+ response.headers["#{k}-html"] = html.to_s
29
30
  break
30
31
  end
31
32
  i += 1
@@ -1,3 +1,3 @@
1
1
  module RenderTurboStream
2
- VERSION = "2.0.1"
2
+ VERSION = "2.0.2"
3
3
  end
@@ -245,7 +245,8 @@ module RenderTurboStream
245
245
  cables = response.headers.to_h.select { |k| k.match(/^test-turbo-cable-[\d]+$/) }
246
246
  cables.each do |k, v|
247
247
  args = JSON.parse(v)
248
- html = ApplicationController.render(partial: args['partial'], locals: args['locals'].symbolize_keys)
248
+ #html = ApplicationController.render(partial: args['partial'], locals: args['locals'].symbolize_keys)
249
+ html = response.headers["#{k}-html"]
249
250
  res.push(
250
251
  args.merge(
251
252
  {
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: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - christian
@@ -24,11 +24,11 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 7.0.4.3
27
- description: This gem handles translated flash messages, sets status, and renders
28
- partials via turbo-stream directly from the controller. No need to write *.turbo_stream.*
29
- templates. Together with the turbo_power gem or custom turbo-stream actions, you
30
- can run javascript. Redirects can now be handled easily and in multiple ways. Includes
31
- helpers for enabling request tests.
27
+ description: Handles translated flash messages, sets status, and renders partials
28
+ via Turbo Stream or Turbo::StreamsChannel directly from the controller. No need
29
+ to write *.turbo_stream.* templates. Together with the turbo_power gem or custom
30
+ turbo-stream actions, you can run javascript. Redirects can now be handled easily
31
+ and in multiple ways. Includes helpers for enabling request tests.
32
32
  email:
33
33
  - christian@sedlmair.ch
34
34
  executables: []
@@ -38,6 +38,7 @@ files:
38
38
  - README.md
39
39
  - Rakefile
40
40
  - app/controllers/render_turbo_stream/application_controller.rb
41
+ - app/controllers/render_turbo_stream/render_turbo_stream_render_controller.rb
41
42
  - app/models/render_turbo_stream/cable_stream.rb
42
43
  - app/views/render_turbo_stream.html.erb
43
44
  - app/views/render_turbo_stream.turbo_stream.erb