papercraft 3.0.1 → 3.0.2

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: 16f2be33c18fddd9873081dce306913a4d047f16d3c9ad52e11c013bcf61d68b
4
- data.tar.gz: 2cd0c3724af7c10bb1310de2ff1b3943535919a7293451d2d81b69960b8354fa
3
+ metadata.gz: 259a7b700c32cd9085abcf57ac6b84bbae21d370b999b7ef10113d342df3eaa7
4
+ data.tar.gz: 3c2a6b4361ddea2dfeea9801f6784f17439b68e516babcd403742ef46744a3a1
5
5
  SHA512:
6
- metadata.gz: 97b5f5fad9b4856b1c1d2bf7452ca23c08baf64ff3ff25a99ee625df444e0bf41d1233e0bd9de82f65c4fe14cdc556d8c41523be67a02638b3afd6d358566af2
7
- data.tar.gz: a04d7ed27195679adf453ceb510c6ea94cfb35fb16510e19b6aafb62d636fed6bf868f91bb4b7a1a62574cf7f02cf5c24cf9d0e234decb1e0ea8e8c42d44cb0b
6
+ metadata.gz: f9e1f204ffbf89a6afff6df5b4e5b6cba4873670845be4bb6749585fd89b82f9b4033ab2660d3f8de3805c833657d7ad3c9b08c7f2f7713299b9e9404256cceb
7
+ data.tar.gz: 28614cf8079c3e1c1d916c101b245cea9dd2ab24dd0a7294c28b6dcbd3307f83dfbdde85900780b57dde1d6407e5da4fc89d2d5dc8fb87a79645d2985f5820b3
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 3.0.2 2025-10-23
2
+
3
+ - Fix compilation of ternary ops with HTML tags
4
+
1
5
  # 3.0.1 2025-10-21
2
6
 
3
7
  - Update Sirop, Prism dependencies
@@ -699,6 +699,16 @@ module Papercraft
699
699
  @pending_html_parts << [loc, str]
700
700
  end
701
701
 
702
+ def visit_if_node_ternary(node)
703
+ emit_code(node.predicate)
704
+ emit_code(node.then_keyword_loc)
705
+ @in_ternary_op = true
706
+ emit_code(node.statements)
707
+ emit_code(node.subsequent)
708
+ flush_html_parts!
709
+ @in_ternary_op = nil
710
+ end
711
+
702
712
  # Flushes pending HTML parts to the source code buffer.
703
713
  #
704
714
  # @return [void]
@@ -706,7 +716,11 @@ module Papercraft
706
716
  return if @pending_html_parts.empty?
707
717
 
708
718
  adjust_whitespace(@html_loc_start, advance_to_end: false)
709
- emit('; __buffer__')
719
+ if @in_ternary_op
720
+ emit('(; __buffer__')
721
+ else
722
+ emit('; __buffer__')
723
+ end
710
724
  concatenated = +''
711
725
 
712
726
  last_loc = @html_loc_start
@@ -722,7 +736,9 @@ module Papercraft
722
736
  last_loc = loc
723
737
  end
724
738
  emit_html_buffer_push(concatenated, quotes: true) if !concatenated.empty?
725
-
739
+ if @in_ternary_op
740
+ emit(')')
741
+ end
726
742
  @pending_html_parts.clear
727
743
 
728
744
  @last_loc = last_loc
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Papercraft
4
- VERSION = '3.0.1'
4
+ VERSION = '3.0.2'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: papercraft
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner