# encoding: utf-8 # frozen-string-literal: true module Kernel module_function # call-seq: # warn(*msgs, uplevel: nil) -> nil # # If warnings have been disabled (for example with the # -W0 flag), does nothing. Otherwise, # converts each of the messages to strings, appends a newline # character to the string if the string does not end in a newline, # and calls Warning.warn with the string. # # warn("warning 1", "warning 2") # # produces: # # warning 1 # warning 2 # # If the uplevel keyword argument is given, the string will # be prepended with information for the given caller frame in # the same format used by the rb_warn C function. # # # In baz.rb # def foo # warn("invalid call to foo", uplevel: 1) # end # # def bar # foo # end # # bar # # produces: # # baz.rb:6: warning: invalid call to foo # def warn(*msgs, uplevel: nil) __builtin_rb_warn_m(msgs, uplevel) end end