You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
1.0 KiB
24 lines
1.0 KiB
From 8be5bd4ac3642d9c9582d0a7258f3197fa54bb96 Mon Sep 17 00:00:00 2001
|
|
From: Paul Padier <paul.padier@outlook.com>
|
|
Date: Wed, 20 Jul 2022 22:32:25 +0900
|
|
Subject: [PATCH] Don't call #=~ on objects that don't respond to it
|
|
|
|
`Kernel` defined `#=~` up until Ruby 3.2, but it just returned `nil` when the method wasn't redefined by a child class.
|
|
---
|
|
mustermann/lib/mustermann/ast/expander.rb | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
diff --git a/mustermann/lib/mustermann/ast/expander.rb b/mustermann/lib/mustermann/ast/expander.rb
|
|
index 6cb9110..f5ca874 100644
|
|
--- a/mustermann/lib/mustermann/ast/expander.rb
|
|
+++ b/mustermann/lib/mustermann/ast/expander.rb
|
|
@@ -124,6 +124,8 @@ def error_for(values)
|
|
# @see Mustermann::AST::Translator#expand
|
|
# @!visibility private
|
|
ruby2_keywords def escape(string, *args)
|
|
+ return super unless string.respond_to?(:=~)
|
|
+
|
|
# URI::Parser is pretty slow, let's not send every string to it, even if it's unnecessary
|
|
string =~ /\A\w*\Z/ ? string : super
|
|
end
|