diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2022-07-13 12:56:36 +0900 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2022-07-13 14:11:55 +0900 |
commit | 437a5ae9d6d60bd1972641167a98204007bd1c0b (patch) | |
tree | 79b9ea49442fe896dbd8ef59a8622ea010fb3fb7 /lib/rubygems/specification.rb | |
parent | e3a988a29c2cfa4a7e2e045d82989a7342955be8 (diff) |
Merge RubyGems and Bundler master
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/6124
Diffstat (limited to 'lib/rubygems/specification.rb')
-rw-r--r-- | lib/rubygems/specification.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index 56db0945eb..f6704cbc17 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -883,6 +883,21 @@ class Gem::Specification < Gem::BasicSpecification end ## + # Adds +spec+ to the known specifications, keeping the collection + # properly sorted. + + def self.add_spec(spec) + return if _all.include? spec + + _all << spec + stubs << spec + (@@stubs_by_name[spec.name] ||= []) << spec + + _resort!(@@stubs_by_name[spec.name]) + _resort!(stubs) + end + + ## # Returns all specifications. This method is discouraged from use. # You probably want to use one of the Enumerable methods instead. |