I originally brought this up in: https://github.com/rails/rails/issues/9067
Rails paved the way for Object#tap and Object#try...I'd like to propose
Object#tap_if and its counterpart,Object#tap_unless.
I've been following 37signals conventions of tapping variables in the views:
<% account.owner.tap do |user| %>
...
<% end %>
But, I find myself having to do this a lot...
<% account.owner.tap do |user| %>
<% if user %>
...
<% end %>
<% end %>
It would be great if we could do...
<% account.owner.tap_if(:present?) do |user| %>
...
<% end %>
<% account.users.tap_if(:any?) do |user| %>
...
<% end %>
The block would only yield if the method evals to true.
Carlos mentioned that you can add an "if account.owner.present?" at the
end...
But there are times when the account.owner (or something else) call is
expensive and you don't want to call it twice.
Any feedback would be much appreciated. Thanks!
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Core" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
Visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.