mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Also remove Hash#slice!
This commit is contained in:
parent
4a062b117c
commit
0ce84387fd
1
.gitignore
vendored
1
.gitignore
vendored
@ -69,7 +69,6 @@
|
||||
!**/vendor/bundle/ruby/*/gems/activesupport-*/lib/active_support/core_ext/hash/deep_merge.rb
|
||||
!**/vendor/bundle/ruby/*/gems/activesupport-*/lib/active_support/core_ext/hash/deep_transform_values.rb
|
||||
!**/vendor/bundle/ruby/*/gems/activesupport-*/lib/active_support/core_ext/hash/keys.rb
|
||||
!**/vendor/bundle/ruby/*/gems/activesupport-*/lib/active_support/core_ext/hash/slice.rb
|
||||
!**/vendor/bundle/ruby/*/gems/activesupport-*/lib/active_support/core_ext/object/deep_dup.rb
|
||||
!**/vendor/bundle/ruby/*/gems/activesupport-*/lib/active_support/core_ext/object/duplicable.rb
|
||||
!**/vendor/bundle/ruby/*/gems/activesupport-*/lib/active_support/core_ext/string/exclude.rb
|
||||
|
@ -5,8 +5,6 @@ require "cli/parser"
|
||||
require "utils/github"
|
||||
require "manpages"
|
||||
|
||||
require "active_support/core_ext/hash/slice"
|
||||
|
||||
module Homebrew
|
||||
module_function
|
||||
|
||||
@ -39,7 +37,7 @@ module Homebrew
|
||||
|
||||
sentences = {}
|
||||
members.each do |group, hash|
|
||||
hash.slice!(*public_members)
|
||||
hash.replace(hash.slice(*public_members))
|
||||
hash.each { |login, name| hash[login] = "[#{name}](https://github.com/#{login})" }
|
||||
sentences[group] = hash.values.sort.to_sentence
|
||||
end
|
||||
|
@ -1,27 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Hash
|
||||
# Replaces the hash with only the given keys.
|
||||
# Returns a hash containing the removed key/value pairs.
|
||||
#
|
||||
# hash = { a: 1, b: 2, c: 3, d: 4 }
|
||||
# hash.slice!(:a, :b) # => {:c=>3, :d=>4}
|
||||
# hash # => {:a=>1, :b=>2}
|
||||
def slice!(*keys)
|
||||
omit = slice(*self.keys - keys)
|
||||
hash = slice(*keys)
|
||||
hash.default = default
|
||||
hash.default_proc = default_proc if default_proc
|
||||
replace(hash)
|
||||
omit
|
||||
end
|
||||
|
||||
# Removes and returns the key/value pairs matching the given keys.
|
||||
#
|
||||
# hash = { a: 1, b: 2, c: 3, d: 4 }
|
||||
# hash.extract!(:a, :b) # => {:a=>1, :b=>2}
|
||||
# hash # => {:c=>3, :d=>4}
|
||||
def extract!(*keys)
|
||||
keys.each_with_object(self.class.new) { |key, result| result[key] = delete(key) if has_key?(key) }
|
||||
end
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user