render_turbo_stream 0.1.43 → 0.1.44

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: 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