&は、最後の引数に対して使うもので、指定したものをブロックとしてメソッドに引き渡す。
そのときどういうブロックに変換されるかを、引数(今回はSymbolである:test)の#to_proc
メソッドで定義できる。

http://www.ruby-lang.org/ja/man/html/_A5E1A5BDA5C3A5C9B8C6A4D3BDD0A4B7.html#a.a5.d6.a5.ed.a5.c3.a5.af.c9.d5.a4.ad.a5.e1.a5.bd.a5.c3.a5.c9.b8.c6.a4.d3.bd.d0.a4.b7