turbo_ready 0.0.4 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module TurboReady
4
- # 🙈 Additive monkey patch for Turbo::Streams::TagBuilder
5
- # SEE: https://github.com/hotwired/turbo-rails/blob/main/app/models/turbo/streams/tag_builder.rb
6
- module TagBuilder
7
- def invoke(method, *args, selector: nil, camelize: true, id: nil)
8
- id ||= SecureRandom.uuid
9
-
10
- method_parts = method.to_s.split(".")
11
- method_parts = method_parts.map { |part| part.camelize(:lower) } if camelize
12
- method = method_parts.pop
13
- receiver = method_parts.join(".")
14
-
15
- if camelize
16
- args.each do |param|
17
- next unless param.is_a?(Hash)
18
- param.transform_keys! { |key| key.to_s.camelize(:lower) }
19
- end
20
- end
21
-
22
- payload = {
23
- id: id,
24
- method: method,
25
- args: args,
26
- receiver: receiver,
27
- selector: selector
28
- }
29
-
30
- TurboReady::String.new action(:invoke, "DOM", payload.to_json), turbo_ready_tag_builder: self
31
- end
32
- end
33
- end