sirop 1.0.2 → 1.1.0

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: ba49a9c96ca1bb0a53b24893dca217d0de8732eabb2c1b6a6c8686f7d71cdd74
4
- data.tar.gz: 31c3741fcac8e340d3e3ec30b954c5a82e363c1d63b9abe85dd2528d5f609531
3
+ metadata.gz: f6ef16c3858dcb5a6f7e21b42b397b9b3b92a5dbe8e350a9959128a48f3f5b84
4
+ data.tar.gz: a5d2f2dc3538525d21bf683e4bd013892768b6a2f7bf23d55acbfc41f1df205f
5
5
  SHA512:
6
- metadata.gz: 4f0ccad60b729cdf1fafdba13f2e680fcc4b73fccc615112d5103d4185f7cf4008f2967550bac1668704060c79c7afc90a29045ad4b94f1a5720cab626cafbdb
7
- data.tar.gz: a1281077810505023562a55514b4b6a26eebffa5fa4644e8b14c63947ff67d24ce4c0021315b85b03d3d18b9c2ea50de950bd7035b88110f17289b0df2a68e94
6
+ metadata.gz: 7ea627c379254a55334f0ad4c7d7f7166b108e815879a3913f05eb854670be7563e9cc75a40ce40a4d6a2c40e001559d60d772a538aae4eb1683498504598f70
7
+ data.tar.gz: 6e0f62ecae68bb051049bdc624f653e8bfb4256659097416c8ecd7de7fc85b1f44633de279b5a6b1d59956d13f9027606a0b15f427ca1c3907fc817e39966940
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ # 1.1.0 2026-06-21
2
+
3
+ - Fix sourcifier for various ivar operator write node types, e.g. @g ||= 1
4
+ - Fix IndexyOrWriteNode, IndexAndWriteNode handling ( x[y] ||= z )
5
+
6
+ # 1.0.3 2026-02-09
7
+
8
+ - Remove unparser ref from 1.0.2
9
+
1
10
  # 1.0.2 2026-02-09
2
11
 
3
12
  - Do not pin versions for dependencies: prism, minitest, irb
@@ -536,12 +536,38 @@ module Sirop
536
536
  emit_code(node.block)
537
537
  end
538
538
  emit_code(node.closing_loc)
539
+ emit_code(node.binary_operator_loc)
540
+ emit_code(node.value)
541
+ end
542
+
543
+ def visit_index_or_write_node(node)
544
+ emit_code(node.receiver)
545
+ emit_code(node.opening_loc)
546
+ emit_code(node.arguments)
547
+ if node.block
548
+ if !node.arguments.arguments.empty?
549
+ emit_comma
550
+ end
551
+ emit_code(node.block)
552
+ end
553
+ emit_code(node.closing_loc)
554
+ emit_code(node.operator_loc)
555
+ emit_code(node.value)
556
+ end
557
+ alias_method :visit_index_and_write_node, :visit_index_or_write_node
558
+
559
+ def visit_instance_variable_or_write_node(node)
560
+ emit_code(node.name_loc)
539
561
  emit_code(node.operator_loc)
540
562
  emit_code(node.value)
541
563
  end
542
- alias_method :visit_index_and_write_node, :visit_index_operator_write_node
543
- alias_method :visit_index_or_write_node, :visit_index_operator_write_node
544
564
 
565
+ def visit_instance_variable_operator_write_node(node)
566
+ emit_code(node.name_loc)
567
+ emit_code(node.binary_operator_loc)
568
+ emit_code(node.value)
569
+ end
570
+
545
571
  def visit_ensure_node(node)
546
572
  emit_code(node.ensure_keyword_loc, semicolon: true)
547
573
  emit_code(node.statements, semicolon: true)
data/lib/sirop/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Sirop
2
2
  # Sirop version
3
- VERSION = '1.0.2'
3
+ VERSION = '1.1.0'
4
4
  end
data/lib/sirop.rb CHANGED
@@ -5,7 +5,6 @@ require 'sirop/injection'
5
5
  require 'sirop/prism_ext'
6
6
  require 'sirop/finder'
7
7
  require 'sirop/sourcifier'
8
- require 'sirop/unparser'
9
8
 
10
9
  module Sirop
11
10
  class Error < StandardError
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sirop
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
@@ -90,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
90
90
  - !ruby/object:Gem::Version
91
91
  version: '0'
92
92
  requirements: []
93
- rubygems_version: 4.0.3
93
+ rubygems_version: 4.0.6
94
94
  specification_version: 4
95
95
  summary: 'Sirop: Ruby code rewriter'
96
96
  test_files: []