Is there a quick Ruby or Rails method to delete an element from an Array based on a condition provided in a block and then return that element?
Let's say, given:
e1.good? # false
e2.good? # true
e3.good? # true
a = [e1, e2, e3]
Is there a method delete_and_return_if doing this:
a.delete_and_return_if { |e| e.good? } # delete e2 from a and returns e2
[e1].delete_and_return_if { |e| e.good? } # returns nil
Or at least is there a clean way to do this?