mirror of
https://github.com/ruby/ruby.git
synced 2026-01-27 04:24:23 +00:00
Make uplevel suitable as the option to Kernel#warn
Make Gem::BUNDLED_GEMS.uplevel returns `nil` if `require` frame is not found, for the simplicity.
This commit is contained in:
parent
baa0500140
commit
dc74f9cb36
@ -49,12 +49,7 @@ module Gem::BUNDLED_GEMS # :nodoc:
|
||||
kernel_class.send(:alias_method, :no_warning_require, :require)
|
||||
kernel_class.send(:define_method, :require) do |name|
|
||||
if message = ::Gem::BUNDLED_GEMS.warning?(name, specs: spec_names)
|
||||
uplevel = ::Gem::BUNDLED_GEMS.uplevel
|
||||
if uplevel > 0
|
||||
Kernel.warn message, uplevel: uplevel
|
||||
else
|
||||
Kernel.warn message
|
||||
end
|
||||
Kernel.warn message, uplevel: ::Gem::BUNDLED_GEMS.uplevel
|
||||
end
|
||||
kernel_class.send(:no_warning_require, name)
|
||||
end
|
||||
@ -86,11 +81,10 @@ module Gem::BUNDLED_GEMS # :nodoc:
|
||||
uplevel += 1
|
||||
# Don't show script name when bundle exec and call ruby script directly.
|
||||
if cl.path.end_with?("bundle")
|
||||
frame_count = 0
|
||||
break
|
||||
return
|
||||
end
|
||||
end
|
||||
require_found ? 1 : frame_count - 1
|
||||
require_found ? 1 : (frame_count - 1).nonzero?
|
||||
end
|
||||
|
||||
def self.warning?(name, specs: nil)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user