mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
[rubygems/rubygems] Stop allowing calling #gem
on random objects
4b8570ae15
This commit is contained in:
parent
845e878f88
commit
6a5808965b
6 changed files with 1 additions and 27 deletions
|
@ -33,7 +33,6 @@ module Bundler
|
|||
settings_flag(:global_gem_cache) { bundler_4_mode? }
|
||||
settings_flag(:lockfile_checksums) { bundler_4_mode? }
|
||||
settings_flag(:plugins) { @bundler_version >= Gem::Version.new("1.14") }
|
||||
settings_flag(:setup_makes_kernel_gem_public) { !bundler_4_mode? }
|
||||
settings_flag(:update_requires_all_flag) { bundler_5_mode? }
|
||||
|
||||
settings_option(:default_cli_command) { bundler_4_mode? ? :cli_help : :install }
|
||||
|
|
|
@ -161,9 +161,6 @@ The number of redirects allowed for network requests\. Defaults to \fB5\fR\.
|
|||
\fBretry\fR (\fBBUNDLE_RETRY\fR)
|
||||
The number of times to retry failed network requests\. Defaults to \fB3\fR\.
|
||||
.TP
|
||||
\fBsetup_makes_kernel_gem_public\fR (\fBBUNDLE_SETUP_MAKES_KERNEL_GEM_PUBLIC\fR)
|
||||
Have \fBBundler\.setup\fR make the \fBKernel#gem\fR method public, even though RubyGems declares it as private\.
|
||||
.TP
|
||||
\fBshebang\fR (\fBBUNDLE_SHEBANG\fR)
|
||||
The program name that should be invoked for generated binstubs\. Defaults to the ruby install name used to generate the binstub\.
|
||||
.TP
|
||||
|
|
|
@ -180,9 +180,6 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
|||
The number of redirects allowed for network requests. Defaults to `5`.
|
||||
* `retry` (`BUNDLE_RETRY`):
|
||||
The number of times to retry failed network requests. Defaults to `3`.
|
||||
* `setup_makes_kernel_gem_public` (`BUNDLE_SETUP_MAKES_KERNEL_GEM_PUBLIC`):
|
||||
Have `Bundler.setup` make the `Kernel#gem` method public, even though
|
||||
RubyGems declares it as private.
|
||||
* `shebang` (`BUNDLE_SHEBANG`):
|
||||
The program name that should be invoked for generated binstubs. Defaults to
|
||||
the ruby install name used to generate the binstub.
|
||||
|
|
|
@ -214,9 +214,6 @@ module Bundler
|
|||
e.requirement = dep.requirement
|
||||
raise e
|
||||
end
|
||||
|
||||
# backwards compatibility shim, see https://github.com/rubygems/bundler/issues/5102
|
||||
kernel_class.send(:public, :gem) if Bundler.feature_flag.setup_makes_kernel_gem_public?
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -37,7 +37,6 @@ module Bundler
|
|||
path.system
|
||||
plugins
|
||||
prefer_patch
|
||||
setup_makes_kernel_gem_public
|
||||
silence_deprecations
|
||||
silence_root_warning
|
||||
update_requires_all_flag
|
||||
|
|
|
@ -1524,22 +1524,7 @@ end
|
|||
end
|
||||
|
||||
describe "after setup" do
|
||||
it "allows calling #gem on random objects" do
|
||||
install_gemfile <<-G
|
||||
source "https://gem.repo1"
|
||||
gem "myrack"
|
||||
G
|
||||
|
||||
ruby <<-RUBY
|
||||
require "bundler/setup"
|
||||
Object.new.gem "myrack"
|
||||
puts Gem.loaded_specs["myrack"].full_name
|
||||
RUBY
|
||||
|
||||
expect(out).to eq("myrack-1.0.0")
|
||||
end
|
||||
|
||||
it "keeps Kernel#gem private", bundler: "4" do
|
||||
it "keeps Kernel#gem private" do
|
||||
install_gemfile <<-G
|
||||
source "https://gem.repo1"
|
||||
gem "myrack"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue