Я использую следующую логику для обновления элемента списка на основе критериев.
def update_orders_list(order)
@orders.delete_if{|o| o.id == order.id}
@orders << order
end
В идеале я бы предпочел эти подходы:
array.find_and_replace(obj) { |o| conditon }
ИЛИ
idx = array.find_index_of { |o| condition }
array[idx] = obj
Есть ли лучший способ?