diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2023-07-19 19:11:20 +0900 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2023-07-25 06:23:22 +0000 |
commit | 95cde6e4c22946c03ddaa66f055d7671cd51e0ad (patch) | |
tree | 3a55cf83aeb9381d497ad0ca17b81d61aaaf987a | |
parent | f5e03ef31cde82b8d801d2d67eac4e9191dda2ca (diff) | |
download | ruby-95cde6e4c22946c03ddaa66f055d7671cd51e0ad.tar.gz |
[rubygems/rubygems] Don't use redefine_method
https://github.com/rubygems/rubygems/commit/f733f90110
-rw-r--r-- | lib/bundler/rubygems_integration.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/bundler/rubygems_integration.rb b/lib/bundler/rubygems_integration.rb index 0d0d9f4837..9852c440c7 100644 --- a/lib/bundler/rubygems_integration.rb +++ b/lib/bundler/rubygems_integration.rb @@ -232,7 +232,8 @@ module Bundler ] kernel = (class << ::Kernel; self; end) [kernel, ::Kernel].each do |kernel_class| - redefine_method(kernel_class, :require) do |file| + kernel_class.send(:alias_method, :no_warning_require, :require) + kernel_class.send(:define_method, :require) do |file| if bundled_gems.include?(file) unless specs.to_a.map(&:name).include?(file) target_file = begin @@ -244,8 +245,9 @@ module Bundler " Add it to your #{target_file}." end end - kernel_class.send(:gem_original_require, file) + kernel_class.send(:no_warning_require, file) end + kernel_class.send(:public, :require) end end |