ruby find object in array by attribute

C
# Use select to get all objects in an array that match your criteria
my_array.select { |obj| obj.attr == 'value' }

# find_all and filter (in Ruby 2.6+) are aliases for select
my_array.find_all { |obj| obj.attr == 'value' }
my_array.filter { |obj| obj.attr == 'value' }

# Use find to get the first object in an array that matches your criteria
my_array.find { |obj| obj.attr == 'value' }
Source

Also in C: