XylotrechusZ

XylotrechusZ Shell

Uname: Linux premium294.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
Software: LiteSpeed
PHP version: 8.1.32 [ PHP INFO ] PHP os: Linux
Server Ip: 104.21.16.1
Your Ip: 216.73.216.223
User: mjbynoyq (1574) | Group: mjbynoyq (1570)
Safe Mode: OFF
Disable Function:
NONE

name : kernel_warn.rb
# frozen_string_literal: true

# `uplevel` keyword argument of Kernel#warn is available since ruby 2.5.
if RUBY_VERSION >= "2.5"

  module Kernel
    path = "#{__dir__}/" # Frames to be skipped start with this path.

    original_warn = method(:warn)

    remove_method :warn

    class << self

      remove_method :warn

    end

    module_function define_method(:warn) {|*messages, **kw|
      unless uplevel = kw[:uplevel]
        if Gem.java_platform?
          return original_warn.call(*messages)
        else
          return original_warn.call(*messages, **kw)
        end
      end

      # Ensure `uplevel` fits a `long`
      uplevel, = [uplevel].pack("l!").unpack("l!")

      if uplevel >= 0
        start = 0
        while uplevel >= 0
          loc, = caller_locations(start, 1)
          unless loc
            # No more backtrace
            start += uplevel
            break
          end

          start += 1

          unless loc.path.start_with?(path)
            # Non-rubygems frames
            uplevel -= 1
          end
        end
        uplevel = start
      end

      kw[:uplevel] = uplevel
      original_warn.call(*messages, **kw)
    }
  end
end
© 2025 XylotrechusZ