Method: Enumerable#pick

Defined in:
activesupport/lib/active_support/core_ext/enumerable.rb

#pick(*keys) ⇒ Object

Extract the given key from the first element in the enumerable.

[{ name: "David" }, { name: "Rafael" }, { name: "Aaron" }].pick(:name)
# => "David"

[{ id: 1, name: "David" }, { id: 2, name: "Rafael" }].pick(:id, :name)
# => [1, "David"]


161
162
163
164
165
166
167
168
169
# File 'activesupport/lib/active_support/core_ext/enumerable.rb', line 161

def pick(*keys)
  return if none?

  if keys.many?
    keys.map { |key| first[key] }
  else
    first[keys.first]
  end
end