summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/highline/list_renderer.rb6
-rwxr-xr-xlib/highline/question.rb6
-rw-r--r--lib/highline/statement.rb6
3 files changed, 15 insertions, 3 deletions
diff --git a/lib/highline/list_renderer.rb b/lib/highline/list_renderer.rb
index cc53bf0..5446ea5 100644
--- a/lib/highline/list_renderer.rb
+++ b/lib/highline/list_renderer.rb
@@ -92,7 +92,11 @@ class HighLine
def render_list_items(items)
items.to_ary.map do |item|
item = String(item)
- template = ERB.new(item, nil, "%")
+ template = if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
+ ERB.new(item, trim_mode: "%")
+ else
+ ERB.new(item, nil, "%")
+ end
template_renderer =
HighLine::TemplateRenderer.new(template, self, highline)
template_renderer.render
diff --git a/lib/highline/question.rb b/lib/highline/question.rb
index 6dd1293..50478ed 100755
--- a/lib/highline/question.rb
+++ b/lib/highline/question.rb
@@ -548,7 +548,11 @@ class HighLine
else
# evaluate ERb under initial scope, so it will have
# access to question and answer
- template = ERB.new(confirm, nil, "%")
+ template = if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
+ ERB.new(confirm, trim_mode: "%")
+ else
+ ERB.new(confirm, nil, "%")
+ end
template_renderer = TemplateRenderer.new(template, self, highline)
template_renderer.render
end
diff --git a/lib/highline/statement.rb b/lib/highline/statement.rb
index 35d7961..6f14868 100644
--- a/lib/highline/statement.rb
+++ b/lib/highline/statement.rb
@@ -78,7 +78,11 @@ class HighLine
end
def template
- @template ||= ERB.new(template_string, nil, "%")
+ @template ||= if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
+ ERB.new(template_string, trim_mode: "%")
+ else
+ ERB.new(template_string, nil, "%")
+ end
end
end
end