Method: Hash#extract!

Defined in:
activesupport/lib/active_support/core_ext/hash/slice.rb

#extract!(*keys) ⇒ Object

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}


24
25
26
# File 'activesupport/lib/active_support/core_ext/hash/slice.rb', line 24

def extract!(*keys)
  keys.each_with_object(self.class.new) { |key, result| result[key] = delete(key) if has_key?(key) }
end