Skip to content

Instantly share code, notes, and snippets.

@andremedeiros
Created December 16, 2014 17:16
Show Gist options
  • Save andremedeiros/bbf423220d63de017721 to your computer and use it in GitHub Desktop.
Save andremedeiros/bbf423220d63de017721 to your computer and use it in GitHub Desktop.
Style poll
# Option 1
info = if publication
"Title: #{ publication.title } (ID: #{ publication.id })"
else
'N/A'
end
# Option 2
info = case publication
when Publication then puts "Title: #{ publication.title } (ID: #{ publication.id })"
when nil then puts 'N/A'
end
@kpolitowicz
Copy link

def publication_caption(publication)
  return 'N/A' if publication.nil?
  "Title: #{ publication.title } (ID: #{ publication.id })"
end

info = pubication_caption(publication)

Actually long term in such cases I would use the null object pattern (see https://github.com/avdi/naught) and define #to_s on both NullPublication and Publication.

From your options however, the first one seems a lot more readable, if the only case you need to address is NIlClass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment