In my code , I repeat a lot this pattern: if the string is blank / empty, return a default text, otherwise return the original text.
final_text = text.blank? ? "default text" : text
content_tag :h1, text.blank? ? "default text" : text, :class => 'mega'
I discovered this little gem in Stackoverflow (I lost the original source), you only need to reopen the String class, in an intializer, or decorator.
class String
def defaults_to(what)
self.strip!
self.blank? ? what : self
end
end
and, now you can use it in a readable form
text.defaults_to("default text")
No comments:
Post a Comment