Tell me if this seems familiar
user = User.find(1)
user.age = 11
user.save
This is a common pattern that I use often. Turns out the creators of Ruby saw this was a recurring pattern and decided to come up with the tap method. According to the Docs: The Tap method yields self to the block, and then returns self. The primary purpose of this method is to “tap into” a method chain, in order to perform operations on intermediate results within the chain.
What this means is that, the code block above can be simplified to
User.find(1).tap do |user|
user.age = 10
user.save
end
Tap will take the object it is called upon and use it in the block that follows.