module Enumerable

def pluck(*keys)

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

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

Extract the given key from each element in the enumerable.
def pluck(*keys)
  if keys.many?
    map { |element| keys.map { |key| element[key] } }
  else
    key = keys.first
    map { |element| element[key] }
  end
end