live 0.8.1 → 0.9.0

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