render_turbo_stream 3.0.2 → 3.0.4

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: 9cac5d85adc90498652f200358ead49b5e70b19f1f4aa9579a17e25ace0bf88b
4
- data.tar.gz: a326254219215b12c385db45dc8fab88e08d4fe225386f136d02c8366fa21260
3
+ metadata.gz: 536c9b9d2d37a6767f7134dea0a9a5d19e268dc2b15dd1fec52b6d29b9db99b1
4
+ data.tar.gz: 294c01ceb4e7370050350d49d85f68a9acc09ca435c70a945dcde9abf81108e0
5
5
  SHA512:
6
- metadata.gz: b9d78b3c8e4921c51156c0a2171d016a36e7cef143ca0c9040eb33930f1e6ba2536e6c693764efc84943396a10a327c6f63293b7783666b5d6a592976252b750
7
- data.tar.gz: ce6336c3c1e3b81af1930e4c50a6c2b4752f207dbcd6da39debbd19ce294b32447a24b5c7be02b1f7bfa3369759bd90ec1659413bc28154b680dfa74ca880ad2
6
+ metadata.gz: 63e368ad4d85f001693395a66057e1229297e7332a5d2ac8bdf785fa1ec7042511a4d2ee491394dd11ebf6ac2dace4091f70a4b62945f43ec23d002ac9b6d4d6
7
+ data.tar.gz: 4c5c9758b9a063071219765a74d033f32d77fe4e3fd713ed95ec993334c71670d5694a36293a5acb8074a6e0ae6e8e677ca098cd1db78fb8fcc8e3c5eb52d014
data/README.md CHANGED
@@ -2,13 +2,11 @@
2
2
 
3
3
  DHH made a milestone in web development with [Rails 7, "Fulfilling a Vision"](https://rubyonrails.org/2021/12/15/Rails-7-fulfilling-a-vision). This gem is my contribution to that bold new step. The goal is to have a complete rails like workflow.
4
4
 
5
- Defining templates like `(create|update).turbo_stream.haml` annoyed me. Because it is a heavy mix of logic and view. Working consistently with turbo_stream or Turbo Streams Channel means shooting a lot of partials from the backend to the frontend. There are many ways and tedious details to handle redirects since Turbo! There is a lot that can be streamlined.
5
+ Defining templates like `(create|update).turbo_stream.haml` annoyed me. Because it is a heavy mix of logic and view. Working consistently with turbo_stream or Turbo Streams Channel means shooting a lot of partials from the backend to the frontend. And there are many ways and tedious details to handle redirects since Turbo! This can all be streamlined.
6
6
 
7
7
  Execute [turbo_power](https://github.com/marcoroth/turbo_power) commands such as adding a css class to an html element, pushing a state to the browser history, or running custom javascript actions through Turbo Stream can be written in pure ruby code. No need for embeds like `.html.erb`.
8
8
 
9
- Logic to ruby, view to views and the area between for the gem! And with specific testings for the Ruby side.
10
-
11
- This gem is in a early state.
9
+ Logic to Ruby, views to views, and the space in between for the gem! And all this together with a testing strategy for the Ruby side.
12
10
 
13
11
  An overview of how we design a rails-7 application with turbo
14
12
  is [published on dev.to](https://dev.to/chmich/rails-7-vite-wrapping-up-1pia).
@@ -248,8 +246,11 @@ assert_stream_response('form'){|e|e.css('.field_with_errors').inner_html.include
248
246
  # make sure that there is one response to the target '#form' and it checks the rendered content
249
247
  # if cero or more responses are expected, add a attribute like 'count: 0'
250
248
  ```
249
+
251
250
  Possible matchers can be found at [Nokogiri](https://nokogiri.org/tutorials/searching_a_xml_html_document.html).
252
251
 
252
+ The `assert_stream_response`, like the other matchers, checks by default that the same target is not affected multiple times by the `:replace` action within the same response. This is defined in the underlying `RenderTurboStream::Test::Request::Libs.select_responses` method, which is also used for the `assert_channel_to_*` methods.
253
+
253
254
  ```ruby
254
255
  # check actions from turbo_power gem
255
256
  assert_stream_response('colored-element', action: 'remove_css_class') {|args| args.last == 'background-red' }
@@ -155,7 +155,7 @@ module RenderTurboStream
155
155
  ])
156
156
  elsif save_action && redirect_on_success_to.present?
157
157
  response.status = 302
158
- if Rails.configuration.x.render_turbo_stream.use_channel_for_turbo_stream_save && helpers.user_signed_in?
158
+ if (Rails.configuration.x.render_turbo_stream.use_channel_for_turbo_stream_save rescue false) && (helpers.current_user.id.present? rescue false)
159
159
  streams.each do |s|
160
160
  next unless s.is_a?(Hash)
161
161
  Rails.logger.debug(" • Send by Cable => «#{s}»")
@@ -1,3 +1,3 @@
1
1
  module RenderTurboStream
2
- VERSION = "3.0.2"
2
+ VERSION = "3.0.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: render_turbo_stream
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - christian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-09 00:00:00.000000000 Z
11
+ date: 2023-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 7.0.4.3
19
+ version: 7.0.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 7.0.4.3
26
+ version: 7.0.3
27
27
  description: Handles translated flash messages, sets status and renders partials via
28
28
  Turbo Stream or Turbo::StreamsChannel directly from the controller. No need to write
29
29
  *.turbo_stream.* templates. Together with the turbo_power gem or custom turbo_stream