render_turbo_stream 0.1.43 → 0.1.44

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: b7105e78e4f7d96782d8bb94cdddefdb3698c68855cd16155dd575660095fa83
4
- data.tar.gz: ff253ad1317fe42d6c3c617c7c2bb23933c5101330bcf9d3710cd06d6ae09a97
3
+ metadata.gz: ea0b39e1e5da88d8de2c8d84f287f6ce8ca6012b6ca203266fdf0f647f05a50f
4
+ data.tar.gz: a488032ebb3f9975e8ca9ec90b5e86238780f85a385efca0e4a01ece52f3440c
5
5
  SHA512:
6
- metadata.gz: df9dd9941005c649c125778ca0c2d35ba4672f5bb742457040fe16513db1078ab34bc140b859400336aa79cce70e4695ba5a8f91bbd185209535867a2cd9da23
7
- data.tar.gz: 6ef0ec59e35da7fcac18c697bc06c70ca3247107891a9ce02c1ba2f3987d34c439ef97cc18fa5591b7dae441a435a7a0c275e8e4e9ab7d62b548d9da41570762
6
+ metadata.gz: f137735dcfc2b7d77147e6cee12e432377f165b57fc7d42fd33274cd7865f99a8c8d58b66340ee3de695ceb3393c6a88584a70347143de211fab80200962a14d
7
+ data.tar.gz: 44813c9288b2c1d4d206e848969ddcc3a486ef1e3034a13bb66b581a582044dc42dfff8e2c12df573efbf45b9a55ab52d2b5a6e5651837a1b73957b22e89e94f
data/README.md CHANGED
@@ -32,11 +32,11 @@ spec/rails_helper.rb
32
32
 
33
33
  ```ruby
34
34
  RSpec.configure do |config|
35
- config.include RenderTurboStream::RequestTestHelpers, type: :request
35
+ config.include RenderTurboStream::Test::RequestHelpers, type: :request
36
36
  end
37
37
  ```
38
38
 
39
- Redirection
39
+ **Redirection**
40
40
 
41
41
  For redirection to work, you must follow the installation steps
42
42
  from [turbo_power](https://github.com/marcoroth/turbo_power).
@@ -132,8 +132,8 @@ RSpec.describe "Articles", type: :request do
132
132
 
133
133
  expect(partial_response('flash'){|r|r.inner_html.include?('Article could not be created')}).to eq(true)
134
134
  expect(partial_response('flash'){|r|r.css('div').inner_html.include?('Article could not be created')}).to eq(true)
135
- #=> you can use the validators of nokogiri, check: https://nokogiri.org/tutorials/parsing_an_html_xml_document.html
136
135
  #=> if a partial was rendered more than once: at least one response must match
136
+ #=> you can use the validators of nokogiri, check: https://nokogiri.org/tutorials/parsing_an_html_xml_document.html
137
137
  end
138
138
 
139
139
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  <% streams.each do |s| %>
4
4
 
5
- <% html = (render s[:partial], locals: s[:locals], formats: [:html]) %>
5
+ <% html = (render s[:partial], locals: s[:locals].symbolize_keys, formats: [:html]) %>
6
6
 
7
7
  <% rendered_partials.push({ html_response: html }.merge(s)) %>
8
8
 
@@ -17,21 +17,21 @@
17
17
  <% ctl[:action] = :replace %>
18
18
  <% Rails.logger.debug(" • render-turbo-stream REPLACE => #{info}") %>
19
19
  <%= turbo_stream.replace s[:id] do %>
20
- <%= render s[:partial], locals: s[:locals] %>
20
+ <%= render s[:partial], locals: s[:locals].symbolize_keys %>
21
21
  <% end %>
22
22
 
23
23
  <% elsif s[:action].to_sym == :prepend %>
24
24
  <% ctl[:action] = :prepend %>
25
25
  <% Rails.logger.debug(" • render-turbo-stream PREPEND => #{info}") %>
26
26
  <%= turbo_stream.prepend s[:id] do %>
27
- <%= render s[:partial], locals: s[:locals] %>
27
+ <%= render s[:partial], locals: s[:locals].symbolize_keys %>
28
28
  <% end %>
29
29
 
30
30
  <% elsif s[:action].to_sym == :append %>
31
31
  <% ctl[:action] = :append %>
32
32
  <% Rails.logger.debug(" • render-turbo-stream APPEND => #{info}") %>
33
33
  <%= turbo_stream.prepend s[:id] do %>
34
- <%= render s[:partial], locals: s[:locals] %>
34
+ <%= render s[:partial], locals: s[:locals].symbolize_keys %>
35
35
  <% end %>
36
36
 
37
37
  <% else %>
@@ -43,8 +43,8 @@ module RenderTurboStream
43
43
  end
44
44
 
45
45
 
46
- def partial_response(partial, id: nil, count: 1, &block)
47
- RenderTurboStream::Libs.partial_response(response, partial, id, count, &block )
46
+ def partial_response_count(partial, id: nil, total: 1, &block)
47
+ RenderTurboStream::Libs.partial_response_count(response, partial, id, total, &block )
48
48
  end
49
49
 
50
50
  end
@@ -1,3 +1,3 @@
1
1
  module RenderTurboStream
2
- VERSION = "0.1.43"
2
+ VERSION = "0.1.44"
3
3
  end
@@ -216,7 +216,7 @@ module RenderTurboStream
216
216
  else
217
217
  a['id'] == id
218
218
  end
219
- partial_matched || id_matched
219
+ partial_matched && (id.present? ? id_matched : true)
220
220
  end
221
221
 
222
222
  end
@@ -233,26 +233,22 @@ module RenderTurboStream
233
233
  part.length
234
234
  end
235
235
 
236
- def self.partial_response(response, partial, id, count, &block)
236
+ def self.partial_response_count(response, partial, id, total, &block)
237
237
  responses = select_responses(response, partial, id)
238
- if block_given?
239
238
 
240
- success = false
241
-
242
- responses.each do |r|
239
+ if total && responses.count != total
240
+ false
241
+ elsif block_given?
242
+ res = responses.select do |r|
243
243
  parsed = Nokogiri::HTML(r['html_response'])
244
244
  r = yield parsed
245
- success = true if r.present?
246
- end
247
- success
248
-
245
+ r.present?
246
+ end.length
247
+ (res == 0 ? nil : res)
249
248
  else
250
- if count
251
- responses.length == count
252
- else
253
- nil
254
- end
249
+ responses.length
255
250
  end
251
+
256
252
  end
257
253
 
258
254
  end
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: 0.1.43
4
+ version: 0.1.44
5
5
  platform: ruby
6
6
  authors:
7
7
  - christian