Ruby's Warning module learned some new tricks in Ruby 2.7:
Support for muting different categories of compile warnings has been introduced. This is a mechanism on top of the warning level reflected by the $VERBOSE variable.
You can now silence deprecation warnings: These are aspects of the language which will be removed or changed in a future version of Ruby. One example is the infamous: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call. Since Ruby 3.0, deprecation warnings are not shown by default, so you will need to explicitly turn them on.
It is also possible to mute experimental features warnings: These are new features of Ruby, which might not have a stable API yet, like the new pattern matching
Per Ruby
Warning[:experimental] = false
Warning[:deprecated] = true
Per CLI
$ ruby -W:no-experimental
$ ruby -W:deprecated
Per ENV Variable
$ RUBYOPT="-W:no-experimental" ruby
$ RUBYOPT="-W:deprecated" ruby
Also See
More Idiosyncratic Ruby
- Please Comment on GitHub
- Next Article: Assignments In-Style
- Previous Article: Ruby has Character
