foo ||= {} は foo = foo || {} じゃないってば
&&と||の自己代入式は例外です。
foo ||= {}
は
foo || foo = {}
です。これは、左辺が属性参照だったときに大きな違いになる可能性があります。つまり
foo.bar = foo.bar || {}
だと、foo.bar=というメソッドが常に呼ばれるのに対し、
foo.bar || foo.bar = {}
だとfoo.bar=が呼ばれない可能性があるということです。
Railsで賞を取るような方でも間違えているので気をつけましょう。