mirror of
https://github.com/ruby/ruby.git
synced 2025-08-24 21:44:30 +02:00

We used `Bundler::RubyVersion.system.gem_version` for a long time, but I changed this to `Gem.ruby_version` at94f9643943
. It's unclear why I did that though since I believe it was unrelated to the fix in there. Bootboot patches `Bundler::RubyVersion` to customize how Bundler works with Ruby versions, and that change broke that. Since it's unclear to me how to achieve what Bootboot is doing with the current code, and there was no strong reason for the change, let's restore it for now.8ec36c6017
62 lines
1.6 KiB
Ruby
62 lines
1.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Bundler
|
|
class Source
|
|
class Metadata < Source
|
|
def specs
|
|
@specs ||= Index.build do |idx|
|
|
idx << Gem::Specification.new("Ruby\0", Bundler::RubyVersion.system.gem_version)
|
|
idx << Gem::Specification.new("RubyGems\0", Gem::VERSION) do |s|
|
|
s.required_rubygems_version = Gem::Requirement.default
|
|
end
|
|
|
|
if local_spec = Gem.loaded_specs["bundler"]
|
|
idx << local_spec
|
|
else
|
|
idx << Gem::Specification.new do |s|
|
|
s.name = "bundler"
|
|
s.version = VERSION
|
|
s.license = "MIT"
|
|
s.platform = Gem::Platform::RUBY
|
|
s.authors = ["bundler team"]
|
|
s.bindir = "exe"
|
|
s.homepage = "https://bundler.io"
|
|
s.summary = "The best way to manage your application's dependencies"
|
|
s.executables = %w[bundle]
|
|
# can't point to the actual gemspec or else the require paths will be wrong
|
|
s.loaded_from = __dir__
|
|
end
|
|
end
|
|
|
|
idx.each {|s| s.source = self }
|
|
end
|
|
end
|
|
|
|
def options
|
|
{}
|
|
end
|
|
|
|
def install(spec, _opts = {})
|
|
print_using_message "Using #{version_message(spec)}"
|
|
nil
|
|
end
|
|
|
|
def to_s
|
|
"the local ruby installation"
|
|
end
|
|
|
|
def ==(other)
|
|
self.class == other.class
|
|
end
|
|
alias_method :eql?, :==
|
|
|
|
def hash
|
|
self.class.hash
|
|
end
|
|
|
|
def version_message(spec)
|
|
"#{spec.name} #{spec.version}"
|
|
end
|
|
end
|
|
end
|
|
end
|