i find this method hard to read.  i would prefer if it just initialized blocks and you filled it somewhere else.  something like:
 @blocks ||= 9.times { @blocks << [] }

no reason to keep the global @blocks when you can call this helper