live 0.8.1 → 0.9.0

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: 622194158e146721f1576806f560d381bb8a5008f8fef87167c68a7c80742fc5
4
- data.tar.gz: dc29461894b0b9b576a68e6961da924e5d8fa3ecff52e73793ff0a1a7fea3381
3
+ metadata.gz: ef147b87ee25d023c9d1c704e285b5a16c507e1f7f60e7efe38ffc47ac6a797a
4
+ data.tar.gz: f4db343f08db0794fe8820e53ff94b176aa2c580c4782f865d5988d32b85f8ab
5
5
  SHA512:
6
- metadata.gz: 90398bc63e3feccfba94bf1a5680fecb30124fee2bd2ddc95b79344864e6c31309387e781418905b3df2a4908e2a06b5a280867d1e825b8bc49d5d29a6587e92
7
- data.tar.gz: 20e656670a9666e224eafef837aaeaea3a6a74c49e07c4fcbf3823d3f734c766e7587acb4552a946ec79a2344a655478e2465fdc9e237bce3c4d8afddcd89a3f
6
+ metadata.gz: d43f45adc82166da9ae514f327f9769c5db96d0e176488a9fcfc607b95f46b848e7fc376dc5683fe1144ef12739a8056a94c619aec5f04da912e41ad506b9253
7
+ data.tar.gz: f8a2a0fdf18969dd3db1041e8d8d474c2f64e773d79a74451e1aaa34639a94b082ec34596142841dfa4bddb19b9d74a23dcab32a40ad7903e02a5c73ab67b260
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/live/version.rb CHANGED
@@ -4,5 +4,5 @@
4
4
  # Copyright, 2021-2024, by Samuel Williams.
5
5
 
6
6
  module Live
7
- VERSION = "0.8.1"
7
+ VERSION = "0.9.0"
8
8
  end
data/lib/live/view.rb CHANGED
@@ -9,6 +9,10 @@ require 'xrb/builder'
9
9
  module Live
10
10
  # Represents a single division of content on the page an provides helpers for rendering the content.
11
11
  class View < Element
12
+ def script(code, **options)
13
+ rpc(:script, @id, code, options)
14
+ end
15
+
12
16
  # Update the content of the client-side element by rendering this view.
13
17
  def update!(**options)
14
18
  rpc(:update, @id, self.to_html, options)
@@ -17,22 +21,28 @@ module Live
17
21
  # Replace the content of the client-side element by rendering this view.
18
22
  # @parameter selector [String] The CSS selector to replace.
19
23
  # @parameter node [String] The HTML to replace.
20
- def replace(selector, node, **options)
21
- rpc(:replace, selector, node.to_s, options)
24
+ def replace(selector, fragment = nil, **options, &block)
25
+ fragment ||= XRB::Builder.fragment(&block)
26
+
27
+ rpc(:replace, selector, fragment.to_s, options)
22
28
  end
23
29
 
24
30
  # Prepend to the content of the client-side element by appending the specified element.
25
31
  # @parameter selector [String] The CSS selector to prepend to.
26
32
  # @parameter node [String] The HTML to prepend.
27
- def prepend(selector, node, **options)
28
- rpc(:prepend, selector, node.to_s, options)
33
+ def prepend(selector, fragment = nil, **options, &block)
34
+ fragment ||= XRB::Builder.fragment(&block)
35
+
36
+ rpc(:prepend, selector, fragment.to_s, options)
29
37
  end
30
38
 
31
39
  # Append to the content of the client-side element by appending the specified element.
32
40
  # @parameter selector [String] The CSS selector to append to.
33
41
  # @parameter node [String] The HTML to prepend.
34
- def append(selector, node, **options)
35
- rpc(:append, selector, node.to_s, options)
42
+ def append(selector, fragment = nil, **options, &block)
43
+ fragment ||= XRB::Builder.fragment(&block)
44
+
45
+ rpc(:append, selector, fragment.to_s, options)
36
46
  end
37
47
 
38
48
  # Remove the specified element from the client-side element.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: live
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
metadata.gz.sig CHANGED
Binary file