Have you ever needed to get the most recent record for each user in #rails, but didn't know how to do it without using map?
Here's one way to do it with Active Record ๐
Calling group(:user_id).minimum(:id) returns a hash where the key is the user_id and the value is the ID of their latest (or first) post. Calling .values simply returns the IDs.
We can then pass that list to where(id:) to return a list of the latest (or first) posts per user.
Since the IDs are set in sequential order, the minimum ID is the ID of the user's first post, and the maximum ID is the ID of the user's latest post.