From 9630125a95ab16323cedc5ce484205d37449b1b8 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Sat, 7 Feb 2026 15:01:16 -0800 Subject: [PATCH] Use Data.define --- ruby/Gemfile.lock | 2 +- ruby/shell/string_parser.rb | 2 +- ruby/shell/word_expander.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ruby/Gemfile.lock b/ruby/Gemfile.lock index f3b2d24..bc63470 100644 --- a/ruby/Gemfile.lock +++ b/ruby/Gemfile.lock @@ -21,7 +21,7 @@ GEM guard rake io-console (0.8.2) - json (2.18.0) + json (2.18.1) language_server-protocol (3.17.0.5) lint_roller (1.1.0) listen (3.10.0) diff --git a/ruby/shell/string_parser.rb b/ruby/shell/string_parser.rb index d64ce72..be68a1f 100644 --- a/ruby/shell/string_parser.rb +++ b/ruby/shell/string_parser.rb @@ -1,6 +1,6 @@ module Shell class StringParser - Token = Struct.new(:type, :value, keyword_init: true) + Token = Data.define(:type, :value) class Scanner def initialize(line, index: 0) diff --git a/ruby/shell/word_expander.rb b/ruby/shell/word_expander.rb index b02308f..d3ed403 100644 --- a/ruby/shell/word_expander.rb +++ b/ruby/shell/word_expander.rb @@ -22,7 +22,7 @@ module Shell ARITHMETIC_IDENTIFIER_PATTERN = /[A-Za-z0-9_]/ ARITHMETIC_OPERATOR_PATTERN = %r{[+\-*/()%]} BRACE_EXPANSION_PATTERN = /(.*?)\{([^{}]*)\}(.*)/ - SplitWord = Struct.new(:text, :globbed, keyword_init: true) + SplitWord = Data.define(:text, :globbed) CommandSubstitutionError = Class.new(StandardError) # Splits the given line into multiple words, performing the following transformations: