klenod-build 0.0.15 → 0.0.16
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f6e40006fd1c7bfbe3441e5ae89f60b136a4fb6c6ca24da762346c785e61983c
|
|
4
|
+
data.tar.gz: 8927ec3112ab13d5ba3e936820f532528fae9f8556967c9bfaba352e9362898a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 31dedad665ee4b642d6b8517a9bb9fe2e9bf20a1a93c430a45c29c0ba9db497a40b06553be170965ba3e6a62adec01d0500fcfb3a7e370b6fc59ef6aa5c50ec7
|
|
7
|
+
data.tar.gz: 181a6b2156410d3fd6f5b33a5830a03c0b304e7a3eba1920fa4dc75b043cd14aa0ace57d7a275502c79c59267f89136a416b330a286591c66f0c26cb44dc385d
|
|
@@ -625,12 +625,15 @@ module Klenod
|
|
|
625
625
|
|
|
626
626
|
def dynamic_attributes(node, builder:, props:)
|
|
627
627
|
dynamic_attributes = node.value.fetch(:dynamic_attributes)
|
|
628
|
-
sources = [
|
|
628
|
+
sources = [
|
|
629
|
+
[dynamic_attributes.new, true],
|
|
630
|
+
[dynamic_attributes.old, false]
|
|
631
|
+
].reject { |source, _parenthesized| source.nil? }
|
|
629
632
|
return {} if sources.empty?
|
|
630
633
|
|
|
631
634
|
measure_compile(:haml_compile_dynamic_attributes) do
|
|
632
635
|
dynamic = {}
|
|
633
|
-
sources.each do |source|
|
|
636
|
+
sources.each do |source, parenthesized|
|
|
634
637
|
source = builder.line_rewritten_source(source, node.line)
|
|
635
638
|
simple = simple_dynamic_attributes(source, builder: builder) unless @event_handler
|
|
636
639
|
if simple
|
|
@@ -655,7 +658,7 @@ module Klenod
|
|
|
655
658
|
end
|
|
656
659
|
|
|
657
660
|
key = attribute_key(assoc.key, builder: builder)
|
|
658
|
-
value = event_handler_value(key, assoc.value, builder: builder) || attribute_value(assoc, builder: builder)
|
|
661
|
+
value = event_handler_value(key, assoc.value, parenthesized: parenthesized, builder: builder) || attribute_value(assoc, builder: builder)
|
|
659
662
|
dynamic[key] = value
|
|
660
663
|
props[key] = value
|
|
661
664
|
end
|
|
@@ -784,14 +787,19 @@ module Klenod
|
|
|
784
787
|
builder.ruby_parse_error(source, line_no: assoc.key.location&.start_line, context: "Could not parse Haml dynamic attributes")
|
|
785
788
|
end
|
|
786
789
|
|
|
787
|
-
def event_handler_value(key, value, builder:)
|
|
788
|
-
|
|
790
|
+
def event_handler_value(key, value, parenthesized:, builder:)
|
|
791
|
+
normalized_key = key.to_s.tr("-", "_")
|
|
792
|
+
return unless normalized_key.match?(/\Aon(?:[a-z]|_[a-z])/)
|
|
789
793
|
return unless value
|
|
790
794
|
|
|
791
795
|
method_name = builder.fragment(value).source
|
|
792
796
|
return unless method_name.match?(/\A[a-zA-Z_]\w*[!?=]?\z/)
|
|
793
797
|
|
|
794
|
-
|
|
798
|
+
if @event_handler
|
|
799
|
+
builder.expression("#{@event_handler}.callback(self, :#{method_name})")
|
|
800
|
+
elsif parenthesized
|
|
801
|
+
builder.symbol(method_name)
|
|
802
|
+
end
|
|
795
803
|
end
|
|
796
804
|
|
|
797
805
|
def omitted_attribute_value_name(node)
|
|
@@ -22,7 +22,7 @@ module Klenod
|
|
|
22
22
|
|
|
23
23
|
def compile(source, interpolate: false)
|
|
24
24
|
source = protect_escaped_interpolation(source) if interpolate
|
|
25
|
-
document = Kramdown::Document.new(source, input: "GFM")
|
|
25
|
+
document = Kramdown::Document.new(source, input: "GFM", hard_wrap: false)
|
|
26
26
|
compile_children(document.root.children, interpolate: interpolate)
|
|
27
27
|
end
|
|
28
28
|
|
data/lib/klenod/build/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: klenod-build
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.16
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrés Alin
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.0.
|
|
18
|
+
version: 0.0.16
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.0.
|
|
25
|
+
version: 0.0.16
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: async
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|