foo ||= {} は foo = foo || {} じゃないってば

&&と||の自己代入式は例外です。

foo ||= {}

foo || foo = {}

です。これは、左辺が属性参照だったときに大きな違いになる可能性があります。つまり

foo.bar = foo.bar || {}

だと、foo.bar=というメソッドが常に呼ばれるのに対し、

foo.bar || foo.bar = {}

だとfoo.bar=が呼ばれない可能性があるということです。

Railsで賞を取るような方でも間違えているので気をつけましょう。