diff options
author | Abinoam P. Marques Jr <abinoam@gmail.com> | 2018-05-12 21:01:38 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-12 21:01:38 -0300 |
commit | 4d236c63e8c5ebcd72b2ee10a73da9108cb553fb (patch) | |
tree | 80e657ad08f023ebf5be8ae383ae9aebb4f6aac2 | |
parent | fa9f97754a76136bf8fb188ef9138b80760601fd (diff) | |
parent | 1b0a7e826a6d3b355889598b6d2812433cc3f306 (diff) | |
download | highline-4d236c63e8c5ebcd72b2ee10a73da9108cb553fb.tar.gz |
Merge pull request #231 from koic/deprecate_safe_level_of_erb_new_in_ruby_2_6
Deprecate safe_level of ERB.new in Ruby 2.6
-rw-r--r-- | lib/highline/list_renderer.rb | 6 | ||||
-rwxr-xr-x | lib/highline/question.rb | 6 | ||||
-rw-r--r-- | lib/highline/statement.rb | 6 |
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 |