Personally I would handle that a bit differently in that I would have
the model handle building it's own tags and I would inject an array []
and then delete_if value blank? but to address your concern directly:
I would never return nil unless I have to. I know quite a few Ruby
programmers do not care about that situation but I always return
false, true or the value of the value I processed... there are a lot
of cases where I will also to opt to just raise but that really
depends... in your situation I would have built it on the model as
Mention.build_and_save_tags and then had it raise if it could not find
the mention because to me that makes the most sense. What I am saying
is to me `return false if mention.blank?` makes more sense to me. I
could go on a long explanation a mile long explaining the difference
between situations and why I chose my flow to work those ways but I'll
just leave it at I would prefer false before nil.