Back to Blog

Rails 7 adds Enumerable#in_order_of

on March 23, 2021
This blog is part of our Rails 7 series.

Rails 7 introduces the Enumerable#in_order_of method, by which we can order and constrain any enumerable collection using a key-series pair.

1=> Item =
2=> items = [,,]
4=> items.in_order_of(:price, [16, 32, 24])
5=> [#<struct Item price=16>, #<struct Item price=32>, #<struct Item price=24>]

If any value in the series has no associated records in the enumerable collection, it will be ignored and the rest will be returned in the result.

1=> items.in_order_of(:price, (15..25))
2=> [#<struct Item price=16>, #<struct Item price=24>]

Similarly, any values not included in the series will be omitted from the final result.

1=> items.in_order_of(:price, [16, 32])
2=> [#<struct Item price=16>, #<struct Item price=32>]

Check out this pull request for more details.

You might also like

If you liked this blog post, check out similar ones from BigBinary