The Warning module contains a single method
named warn, and the module extends
itself, making Warning.warn
available. #warn is called for all warnings
issued by Ruby. By default, warnings are printed to $stderr.
By overriding #warn, you can change how warnings are handled by Ruby, either filtering some warnings, and/or outputting warnings somewhere other than $stderr. When #warn is overridden, super can be called to get the default behavior of printing the warning to $stderr.
Writes warning message msg
to $stderr, followed by a newline
if the message does not end in a newline. This method is called by Ruby
for all emitted warnings.
static VALUE rb_warning_s_warn(VALUE mod, VALUE str) { Check_Type(str, T_STRING); rb_must_asciicompat(str); rb_write_error_str(str); return Qnil; }