Personally the 'if' conditional statement acts as a visual trigger.
It allows me to quickly recognize that something may or may not show up on the view.
I would prefer something along these lines:
class ProfilePresenter < ::Presenter
def with_experience?
profile.has_experience? && profile.experience_public?
end
end
<% if user_profile.with_experience? %>
<p><strong>Experience:</strong> <%= user_profile.experience %></p>
<% end %>
It allows me to quickly recognize that something may or may not show up on the view.
I would prefer something along these lines: