heartml 1.0.0.beta10 → 1.0.0.beta11

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