aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2023-07-19 19:11:20 +0900
committergit <svn-admin@ruby-lang.org>2023-07-25 06:23:22 +0000
commit95cde6e4c22946c03ddaa66f055d7671cd51e0ad (patch)
tree3a55cf83aeb9381d497ad0ca17b81d61aaaf987a
parentf5e03ef31cde82b8d801d2d67eac4e9191dda2ca (diff)
downloadruby-95cde6e4c22946c03ddaa66f055d7671cd51e0ad.tar.gz
[rubygems/rubygems] Don't use redefine_method
https://github.com/rubygems/rubygems/commit/f733f90110
-rw-r--r--lib/bundler/rubygems_integration.rb6
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