From de91ce980ad6022a506ec12c7eb20392a37e98fe Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 31 Jul 2023 20:08:30 +0900 Subject: [PATCH] [rubygems/rubygems] Use Kernel.singleton_class https://github.com/rubygems/rubygems/commit/9be984f281 --- lib/bundler/installer/standalone.rb | 3 +-- lib/bundler/rubygems_integration.rb | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/bundler/installer/standalone.rb b/lib/bundler/installer/standalone.rb index 2a8c9a432d..a019fbd3b8 100644 --- a/lib/bundler/installer/standalone.rb +++ b/lib/bundler/installer/standalone.rb @@ -87,8 +87,7 @@ module Bundler if Gem.respond_to?(:discover_gems_on_require=) Gem.discover_gems_on_require = false else - kernel = (class << ::Kernel; self; end) - [kernel, ::Kernel].each do |k| + [::Kernel.singleton_class, ::Kernel].each do |k| if k.private_method_defined?(:gem_original_require) private_require = k.private_method_defined?(:require) k.send(:remove_method, :require) diff --git a/lib/bundler/rubygems_integration.rb b/lib/bundler/rubygems_integration.rb index bb7392bad4..e7d3d3ea21 100644 --- a/lib/bundler/rubygems_integration.rb +++ b/lib/bundler/rubygems_integration.rb @@ -230,8 +230,7 @@ module Bundler if Gem.respond_to?(:discover_gems_on_require=) Gem.discover_gems_on_require = false else - kernel = (class << ::Kernel; self; end) - [kernel, ::Kernel].each do |k| + [::Kernel.singleton_class, ::Kernel].each do |k| if k.private_method_defined?(:gem_original_require) redefine_method(k, :require, k.instance_method(:gem_original_require)) end @@ -271,8 +270,7 @@ module Bundler def replace_gem(specs, specs_by_name) executables = nil - kernel = (class << ::Kernel; self; end) - [kernel, ::Kernel].each do |kernel_class| + [::Kernel.singleton_class, ::Kernel].each do |kernel_class| redefine_method(kernel_class, :gem) do |dep, *reqs| if executables&.include?(File.basename(caller.first.split(":").first)) break