ext/etc/mkconstants.rb in etc-1.0.0 vs ext/etc/mkconstants.rb in etc-1.0.1

- old
+ new

@@ -64,11 +64,19 @@ next if pat !~ name yield name } end -ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_const_decls") +erb_new = lambda do |src, safe, trim| + if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+ + ERB.new(src, trim_mode: trim) + else + ERB.new(src, safe, trim) + end +end + +erb_new.call(<<'EOS', nil, '%').def_method(Object, "gen_const_decls") % each_const {|name, default_value| #if !defined(<%=name%>) # if defined(HAVE_CONST_<%=name.upcase%>) # define <%=name%> <%=name%> %if default_value @@ -78,27 +86,27 @@ # endif #endif % } EOS -ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_const_defs") +erb_new.call(<<'EOS', nil, '%').def_method(Object, "gen_const_defs") % each_const {|name, default_value| #if defined(<%=name%>) % if comment = COMMENTS[name] /* <%=comment%> */ % end rb_define_const(mod, <%=c_str name.sub(/\A_*/, '')%>, INTEGER2NUM(<%=name%>)); #endif % } EOS -header_result = ERB.new(<<'EOS', nil, '%').result(binding) +header_result = erb_new.call(<<'EOS', nil, '%').result(binding) /* autogenerated file */ <%= gen_const_decls %> EOS -result = ERB.new(<<'EOS', nil, '%').result(binding) +result = erb_new.call(<<'EOS', nil, '%').result(binding) /* autogenerated file */ #ifdef HAVE_LONG_LONG #define INTEGER2NUM(n) \ (FIXNUM_MAX < (n) ? ULL2NUM(n) : \