Module: Corefines::Hash::Except
- Defined in:
- lib/corefines/hash.rb
Instance Method Summary collapse
-
#except(*keys) ⇒ Hash
A new hash without the specified key/value pairs.
-
#except!(*keys) ⇒ Hash
Removes the specified keys/value pairs in-place.
Instance Method Details
#except(*keys) ⇒ Hash
Returns a new hash without the specified key/value pairs.
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/corefines/hash.rb', line 56 module Except refine ::Hash do def except(*keys) keys.each_with_object(dup) do |k, hash| hash.delete(k) end end def except!(*keys) keys.each_with_object(dup.clear) do |k, deleted| deleted[k] = delete(k) if has_key? k end end end end |
#except!(*keys) ⇒ Hash
Removes the specified keys/value pairs in-place.
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/corefines/hash.rb', line 56 module Except refine ::Hash do def except(*keys) keys.each_with_object(dup) do |k, hash| hash.delete(k) end end def except!(*keys) keys.each_with_object(dup.clear) do |k, deleted| deleted[k] = delete(k) if has_key? k end end end end |