Refactor ERB version checking for keyword arguments

Improving code like r62590. See r62529 for details.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
k0kubun 2018-02-27 11:12:23 +00:00
parent 86d9071e0b
commit 3406c5d613
6 changed files with 7 additions and 9 deletions

View File

@ -121,7 +121,7 @@ ENCS, ENC_DEPS = target_encodings
ATRANS, TRANS = target_transcoders ATRANS, TRANS = target_transcoders
if File.exist?(depend = File.join($srcdir, "depend")) if File.exist?(depend = File.join($srcdir, "depend"))
if ERB.version[/\d+\.\d+/] >= '2.2' if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
erb = ERB.new(File.read(depend), trim_mode: '%') erb = ERB.new(File.read(depend), trim_mode: '%')
else else
erb = ERB.new(File.read(depend), nil, '%') erb = ERB.new(File.read(depend), nil, '%')
@ -139,7 +139,7 @@ open(ARGV[0], 'wb') {|f|
} }
if MODULE_TYPE == :static if MODULE_TYPE == :static
filename = "encinit.c.erb" filename = "encinit.c.erb"
if ERB.version[/\d+\.\d+/] >= '2.2' if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
erb = ERB.new(File.read(File.join($srcdir, filename)), trim_mode: '%-') erb = ERB.new(File.read(File.join($srcdir, filename)), trim_mode: '%-')
else else
erb = ERB.new(File.read(File.join($srcdir, filename)), nil, '%-') erb = ERB.new(File.read(File.join($srcdir, filename)), nil, '%-')

View File

@ -67,7 +67,7 @@ def each_name(pat)
end end
erb_new = lambda do |src, safe, trim| erb_new = lambda do |src, safe, trim|
if RUBY_VERSION >= '2.6' if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
ERB.new(src, trim_mode: trim) ERB.new(src, trim_mode: trim)
else else
ERB.new(src, safe, trim) ERB.new(src, safe, trim)

View File

@ -74,7 +74,7 @@ def each_name(pat)
end end
erb_new = lambda do |src, safe, trim| erb_new = lambda do |src, safe, trim|
if RUBY_VERSION >= '2.6' if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
ERB.new(src, trim_mode: trim) ERB.new(src, trim_mode: trim)
else else
ERB.new(src, safe, trim) ERB.new(src, safe, trim)

View File

@ -34,8 +34,7 @@ unchanged = color.pass("unchanged")
updated = color.fail("updated") updated = color.fail("updated")
result = templates.map do |template| result = templates.map do |template|
match = ERB.version.match(/\Aerb\.rb \[(?<version>[^ ]+) /) if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
if match && match[:version] >= '2.2.0' # Ruby 2.6+
erb = ERB.new(File.read(template), trim_mode: '%-') erb = ERB.new(File.read(template), trim_mode: '%-')
else else
erb = ERB.new(File.read(template), nil, '%-') erb = ERB.new(File.read(template), nil, '%-')

View File

@ -32,8 +32,7 @@ class RubyVM::Dumper
rescue Errno::ENOENT rescue Errno::ENOENT
raise "don't know how to generate #{path}" raise "don't know how to generate #{path}"
else else
match = ERB.version.match(/\Aerb\.rb \[(?<version>[^ ]+) /) if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
if match && match[:version] >= '2.2.0' # Ruby 2.6+
erb = ERB.new(src, trim_mode: '%-') erb = ERB.new(src, trim_mode: '%-')
else else
erb = ERB.new(src, nil, '%-') erb = ERB.new(src, nil, '%-')

View File

@ -1078,7 +1078,7 @@ if __FILE__ == $0
end end
libs1 = $".dup libs1 = $".dup
if ERB.version[/\d+\.\d+/] >= '2.2' if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
erb = ERB.new(src, trim_mode: '%') erb = ERB.new(src, trim_mode: '%')
else else
erb = ERB.new(src, nil, '%') erb = ERB.new(src, nil, '%')