Skip to content

Commit edc4459

Browse files
authored
Merge pull request #77 from plicjo/ruby_3_4
Avoid string mutation for Ruby 3.4
2 parents 6bd966f + 025988a commit edc4459

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

lib/strip_attributes.rb

+8-8
Original file line numberDiff line numberDiff line change
@@ -63,21 +63,21 @@ def self.strip_string(value, options = {})
6363
replace_newlines = options[:replace_newlines]
6464
regex = options[:regex]
6565

66-
value.gsub!(regex, "") if regex
66+
value = value.gsub(regex, "") if regex
6767

68-
if MULTIBYTE_SUPPORTED && Encoding.compatible?(value, MULTIBYTE_SPACE)
69-
value.gsub!(MULTIBYTE_SPACE_AT_ENDS, "")
68+
value = if MULTIBYTE_SUPPORTED && Encoding.compatible?(value, MULTIBYTE_SPACE)
69+
value.gsub(MULTIBYTE_SPACE_AT_ENDS, "")
7070
else
71-
value.strip!
71+
value.strip
7272
end
7373

74-
value.gsub!(NEWLINES, " ") if replace_newlines
74+
value = value.gsub(NEWLINES, " ") if replace_newlines
7575

7676
if collapse_spaces
77-
if MULTIBYTE_SUPPORTED && Encoding.compatible?(value, MULTIBYTE_BLANK)
78-
value.gsub!(MULTIBYTE_BLANK_REPEATED, " ")
77+
value = if MULTIBYTE_SUPPORTED && Encoding.compatible?(value, MULTIBYTE_BLANK)
78+
value.gsub(MULTIBYTE_BLANK_REPEATED, " ")
7979
else
80-
value.squeeze!(" ")
80+
value.squeeze(" ")
8181
end
8282
end
8383

test/strip_attributes_test.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ def test_should_strip_unicode
428428
skip "multi-byte characters not supported by this version of Ruby" unless StripAttributes::MULTIBYTE_SUPPORTED
429429

430430
assert_equal "foo", StripAttributes.strip("\u200A\u200B foo\u200A\u200B ")
431-
assert_equal "foo\u20AC".force_encoding("ASCII-8BIT"), StripAttributes.strip("foo\u20AC ".force_encoding("ASCII-8BIT"))
431+
assert_equal "foo\u20AC".b, StripAttributes.strip("foo\u20AC ".b)
432432
end
433433
end
434434
end

0 commit comments

Comments
 (0)