summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authork0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-02-28 12:12:20 +0000
committerk0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-02-28 12:12:20 +0000
commite4e65671f9d27137ff913054f2aeedd222e82e8b (patch)
tree9fbc71b510b1cc22e3ecd5a108d891b8520df39e
parent9d16226f1e91efa0f388fa564e567f7247c14904 (diff)
erb.rb: relax warn level of ERB.new
I changed my mind and thought branching ERB.new in all libraries is too hard. Code becomes too ugly. I increased the warn level to 2, and the old initializer will be removed when Ruby 2.5 becomes EOL. -S option of erb(1) stays in the same policy: will be removed at Ruby 2.7. NEWS: note about the direction git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--NEWS6
-rw-r--r--lib/erb.rb6
2 files changed, 7 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index 272b9ba475..9f62dabf17 100644
--- a/NEWS
+++ b/NEWS
@@ -97,8 +97,10 @@ with all sufficient information, see the ChangeLog file or Redmine
* ERB
- * 2nd, 3rd and 4th arguments of ERB.new are deprecated. 2nd argument (safe_level) will be dropped in the future
- and some of those arguments (trim_mode, eoutvar) are changed to keyword arguments. [Feature #14256]
+ * Add :trim_mode and :eoutvar keyword arguments to ERB.new. Now non-keyword arguments other than first one
+ are softly deprecated and will be removed when Ruby 2.5 becomes EOL.
+
+ * erb command's -S option is deprecated, which will be removed in the next version.
* Matrix
diff --git a/lib/erb.rb b/lib/erb.rb
index 2247838ded..c9b987dfb7 100644
--- a/lib/erb.rb
+++ b/lib/erb.rb
@@ -805,16 +805,16 @@ class ERB
def initialize(str, safe_level=NOT_GIVEN, legacy_trim_mode=NOT_GIVEN, legacy_eoutvar=NOT_GIVEN, trim_mode: nil, eoutvar: '_erbout')
# Complex initializer for $SAFE deprecation at Feature #14256, which should be removed at Ruby 2.7.
if safe_level != NOT_GIVEN
- warn 'Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.', uplevel: 1
+ warn 'Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.', uplevel: 1 if $VERBOSE
else
safe_level = nil
end
if legacy_trim_mode != NOT_GIVEN
- warn 'Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.', uplevel: 1
+ warn 'Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.', uplevel: 1 if $VERBOSE
trim_mode = legacy_trim_mode
end
if legacy_eoutvar != NOT_GIVEN
- warn 'Passing eoutvar with the 4th argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, eoutvar: ...) instead.', uplevel: 1
+ warn 'Passing eoutvar with the 4th argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, eoutvar: ...) instead.', uplevel: 1 if $VERBOSE
eoutvar = legacy_eoutvar
end