Created
March 21, 2011 16:17
-
-
Save scottwater/879712 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def friendly_name(user) | |
temp_name = if user.first_name.blank? && user.last_name.blank? | |
user.email | |
elsif user.first_name.blank? | |
user.last_name | |
elsif user.last_name.blank? | |
user.first_name | |
else | |
"#{user.first_name} #{user.last_name}" | |
end | |
"#{temp_name}'s" | |
end |
To piggyback on @subdigital's point, and you may have it already set up this way outside the gist, it probably belongs on your user model versus in a helper.
Thanks for the tips, especially on full_name. I think that will clean things up quite a bit.
@chris - I think full_name belongs on the model. But the friendly (possessive) part is just for the benefit of the user visiting the site, so it is probably better off in the helper. Although now that i write this it is used in one spot and can probably just be inlined in the view.
Thanks again for the tips.
@chris - nevermind, I get what you meant about them both being on the model. Bah...consider it committed. :)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
You can boil this down into two conditional statements and then format your response. If first and last names are blank, assign temp name to email, otherwise "#{user.first_name} #{user.last_name}". To take into account nil first or last names, strip temp_name before returning ("#{temp_name.strip}'s".