a ||= b не a = a || b
на самом деле это скорее a || a = b
Т.е. разница в том, что в первом случае присваивание происходит всегда, а вот во втором оно произойдет только если a есть false логически.
см www.rubyinside.com/what-rubys-double-pipe-or-equal...