heartml 1.0.0.beta10 → 1.0.0.beta11

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: fc39b8b95e3a14342d16f006483ff3db734c3db584894ae45c7da44cedf5e906
4
- data.tar.gz: 19329707440f40285e43855688f1168272cdbc226ded81b41829f27dfeabdc02
3
+ metadata.gz: 22baf05df8518c46483c4c689f724feb5ac2b1a446555f4d12f3bec534c26fb8
4
+ data.tar.gz: fcbc7708f8deaf2760bb5b021c51f3a7baeea5102e4a30c592f6692acac0bee8
5
5
  SHA512:
6
- metadata.gz: 5c11daaeee5d6a15636597fed5923ee9c5dcec0a877613dfa1b4750522d34d82700fc331e19fb8a89be2cbb85627996ae67f1631259aa725403b003ff0a98a6d
7
- data.tar.gz: 8ba6afd0cf152cf35541f1873a598284b79b8d838043cb44488d4a17ef25a9544886d5e563845db2e072885e2e15a6bbeb25464832213fa49a79024986a134fa
6
+ metadata.gz: ff66eff6ecb6e79f64223b6d7e18c6e635164e2e41740412e4481ac15119a996b465fc4b01fe5254c3d4aa652bba9780cfbcf17a38f941ca1da46d61aaf8ce50
7
+ data.tar.gz: 014a0f91536a95e1eb15cc1080e5896210e5e5dc334a967aee97e7106e316f9017a3ac468781348d0f938c695e16919ecac975a9051aa36389768c365a68c1a9
data/CHANGELOG.md CHANGED
@@ -2,11 +2,15 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
- ## [1.0.0.beta10] - 2023-02-27
5
+ ## [1.0.0.beta11] - 2024-03-10
6
+
7
+ - Fix behavior of boolean values (`true/false` on aria attributes, `""`/missing otherwise)
8
+
9
+ ## [1.0.0.beta10] - 2024-02-27
6
10
 
7
11
  - Add the `$attribute` directive so iso effects will work
8
12
 
9
- ## [1.0.0.beta9] - 2023-02-24
13
+ ## [1.0.0.beta9] - 2024-02-24
10
14
 
11
15
  - Use `@attributes` by default
12
16
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- heartml (1.0.0.beta10)
4
+ heartml (1.0.0.beta11)
5
5
  concurrent-ruby (~> 1.2)
6
6
  nokolexbor (>= 0.4.2)
7
7
 
@@ -56,29 +56,34 @@ module Heartml
56
56
  }
57
57
 
58
58
  directive :attribute, ->(_, node, name, value) {
59
- node[name] = value
59
+ node[name] = value if name.match?(%r{^aria[A-Z-]}) || value
60
60
  }
61
61
  end
62
62
  end
63
63
 
64
64
  def _server_effect_binding(attribute:, node:)
65
65
  _iso_effect_binding(attribute:, node:)
66
- node.remove_attribute "host-effect"
66
+ node.remove_attribute "host-lazy-effect"
67
67
  end
68
68
 
69
69
  def _iso_effect_binding(attribute:, node:) # rubocop:disable Metrics
70
70
  syntax = attribute.value
71
71
  statements = syntax.split(";").map(&:strip)
72
72
 
73
- statements.each do |statement|
73
+ statements.each do |statement| # rubocop:disable Metrics
74
74
  if statement.start_with?("@")
75
75
  # property assignment
76
76
  expression = statement.split("=").map(&:strip)
77
77
  expression[0] = expression[0][1..]
78
78
 
79
79
  value = send(expression[1][1..])
80
+ attribute_value = if expression[0].match?(%r{^aria[A-Z-]}) && [true, false].include?(value)
81
+ value
82
+ else
83
+ value_to_attribute(value)
84
+ end
80
85
 
81
- node.send("#{expression[0]}=", value_to_attribute(value))
86
+ node.send("#{expression[0]}=", attribute_value) unless attribute_value.nil?
82
87
  elsif statement.start_with?("$")
83
88
  # directive
84
89
  directive_name, args_str = statement.strip.match(/(.*)\((.*)\)/).captures
@@ -101,7 +106,7 @@ module Heartml
101
106
  send(method_name.strip, *args)
102
107
  end
103
108
 
104
- attribute.name = "host-effect"
109
+ attribute.name = "host-lazy-effect"
105
110
  end
106
111
  end
107
112
 
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Heartml
4
4
  # @return [String]
5
- VERSION = "1.0.0.beta10"
5
+ VERSION = "1.0.0.beta11"
6
6
  end
data/lib/heartml.rb CHANGED
@@ -277,6 +277,8 @@ module Heartml
277
277
  val
278
278
  when TrueClass
279
279
  ""
280
+ when FalseClass
281
+ nil
280
282
  else
281
283
  val.to_json
282
284
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heartml
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta10
4
+ version: 1.0.0.beta11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jared White
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-28 00:00:00.000000000 Z
11
+ date: 2024-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby