I've not yet seen the right answer on the original question:
"idiomatic way to assign if not nil?".

Since false isn't nil, a||=b can't a correct answer, AFAIK.

_A_ good answer could be:

 a=b if a.nil?

gegroet,
Erik V. - http://www.erikveen.dds.nl/