Sha256: 524c3ece471e2bd8ddb857f47721b95101aaea488deec89f074d9012d72bf062
Contents?: true
Size: 951 Bytes
Versions: 3
Compression:
Stored size: 951 Bytes
Contents
class Hash alias_method :delete_at, :delete # Inverse of #delete_if. # # # # CREDIT: Daniel Schierbeck def delete_unless #:yield: delete_if{ |key, value| ! yield(key, value) } end # Minor modification to Ruby's Hash#delete method # allowing it to take multiple keys. # # hsh = { :a => 1, :b => 2 } # hsh.delete_values(1) # hsh #=> { :b => 2 } # # CREDIT: Daniel Schierbeck def delete_values(*values) keys.map{ |key| delete(key) if values.include?(fetch(key)) } end # Minor modification to Ruby's Hash#delete method # allowing it to take multiple keys. # # This works niely with hash#[] and Hash#[]= facets. # # hsh[:a, :b, :c] = 1, 2, 3 # # a, b, c = hsh.delete_values_at(:a, :b, :c) # # [a, b, c] #=> [1, 2, 3] # hsh #=> {} # # CREDIT: Daniel Schierbeck def delete_values_at(*keys, &yld) keys.map{|key| delete(key, &yld) } end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
facets-2.2.0 | lib/core/facets/hash/delete.rb |
facets-2.2.1 | lib/core/facets/hash/delete.rb |
facets-2.3.0 | lib/core/facets/hash/delete.rb |