← Blog

Rails 7 adds Enumerable#in_order_of

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.

=> Item = Struct.new(:price)
=> items = [Item.new(24), Item.new(32), Item.new(16)]

=> items.in_order_of(:price, [16, 32, 24])
=> [#<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.

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

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

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

Check out this pull request for more details.

Ashik Salman avatar
Written byAshik Salman

Newsletter

Stay up to date with our blogs.

Subscribe to receive email notifications for new blog posts.

Get in touch

Got a project in mind?

Talk to us