Skip to content

Commit 006832e

Browse files
authored
Merge pull request #594 from koic/deprecate_safe_level_of_erb_new_in_ruby_2_6
Deprecate safe_level of ERB.new in Ruby 2.6
2 parents b7b1275 + 70021d0 commit 006832e

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

lib/thor/actions/file_manipulation.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,13 @@ def template(source, *args, &block)
117117
context = config.delete(:context) || instance_eval("binding")
118118

119119
create_file destination, nil, config do
120-
content = CapturableERB.new(::File.binread(source), nil, "-", "@output_buffer").tap do |erb|
120+
match = ERB.version.match(/(\d\.\d\.\d)/)
121+
capturable_erb = if match && match[1] >= "2.2.0" # Ruby 2.6+
122+
CapturableERB.new(::File.binread(source), :trim_mode => "-", :eoutvar => "@output_buffer")
123+
else
124+
CapturableERB.new(::File.binread(source), nil, "-", "@output_buffer")
125+
end
126+
content = capturable_erb.tap do |erb|
121127
erb.filename = source
122128
end.result(context)
123129
content = yield(content) if block

0 commit comments

Comments
 (0)