Skip to content
This repository was archived by the owner on Nov 30, 2024. It is now read-only.

Commit 29c167d

Browse files
mvzJonRowe
authored andcommitted
Revert "Make usage of keyword arguments for String#encode explicit to avoid warning on 2.7.0"
This reverts commit b2f4a68.
1 parent 4e96d2f commit 29c167d

File tree

1 file changed

+2
-27
lines changed

1 file changed

+2
-27
lines changed

lib/rspec/support/encoded_string.rb

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -112,34 +112,9 @@ def matching_encoding(string)
112112
string = remove_invalid_bytes(string)
113113
string.encode(@encoding)
114114
rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
115-
encode_unconvertable_bytes(string)
115+
string.encode(@encoding, ENCODE_UNCONVERTABLE_BYTES)
116116
rescue Encoding::ConverterNotFoundError
117-
encode_no_converter(string.dup.force_encoding(@encoding))
118-
end
119-
120-
# On Ruby 2.7.0 keyword arguments mixed with conventional cause a warning to
121-
# be issued requiring us to be explicit by using a ** to pass the hash as
122-
# keyword arguments. Any keyword argument supporting Ruby supports this.
123-
if RubyFeatures.kw_args_supported?
124-
# Note on non keyword supporting Ruby ** causes a syntax error hence
125-
# we must use eval. To be removed in RSpec 4.
126-
binding.eval(<<-CODE, __FILE__, __LINE__)
127-
def encode_unconvertable_bytes(string)
128-
string.encode(@encoding, **ENCODE_UNCONVERTABLE_BYTES)
129-
end
130-
131-
def encode_no_converter(string)
132-
string.encode(**ENCODE_NO_CONVERTER)
133-
end
134-
CODE
135-
else
136-
def encode_unconvertable_bytes(string)
137-
string.encode(@encoding, ENCODE_UNCONVERTABLE_BYTES)
138-
end
139-
140-
def encode_no_converter(string)
141-
string.encode(ENCODE_NO_CONVERTER)
142-
end
117+
string.dup.force_encoding(@encoding).encode(ENCODE_NO_CONVERTER)
143118
end
144119

145120
# Prevents raising ArgumentError

0 commit comments

Comments
 (0)