module Enumerable
def pluck(*keys)
[{ 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