Extraia pares de chave / valor de um hash em ruby ​​usando uma matriz de chaves.

Recentemente, precisei extrair um hash de pares de chave / valor de um hash existente em ruby, usando uma matriz de chaves. Isso é bastante simples e pode ser feito em uma única linha.

# The keys you're looking for
keys
= %w(key1 key2 key3)

# Hash with any number of key / value pairs
original_hash
= {
key1
: 'Value 1',
key2
: 'Value 2',
key3
: 'Value 3',
key4
: 'Value 4'
}

# New hash, with only the keys you specified.
new_hash
= original_hash.reject { |x| !keys.include?(x.to_s) }