From 5801335ccd21264ddf49a66cf2c553adf3dd5c8c Mon Sep 17 00:00:00 2001 From: Ali Ismayilov Date: Mon, 25 Apr 2022 18:47:00 +0200 Subject: [PATCH] Fix ERB deprecation warning (#360) * Fix ERB deprecation warning example warning: ``` lib/generators/scenic/model/model_generator.rb:39: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments. ``` followed Ruby standard library style to make distinction on ERB version check: https://github.com/ruby/ruby/commit/3406c5d --- .../scenic/model/model_generator.rb | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/generators/scenic/model/model_generator.rb b/lib/generators/scenic/model/model_generator.rb index b04e4186..41627fcc 100644 --- a/lib/generators/scenic/model/model_generator.rb +++ b/lib/generators/scenic/model/model_generator.rb @@ -36,12 +36,23 @@ def invoke_view_generator def evaluate_template(source) source = File.expand_path(find_in_source_paths(source.to_s)) context = instance_eval("binding", __FILE__, __LINE__) - ERB.new( - ::File.binread(source), - nil, - "-", - "@output_buffer", - ).result(context) + + if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+ + erb = ERB.new( + ::File.binread(source), + trim_mode: "-", + eoutvar: "@output_buffer", + ) + else + erb = ERB.new( + ::File.binread(source), + nil, + "-", + "@output_buffer", + ) + end + + erb.result(context) end def generating?