> :positive? is a symbol, so it can't be converted into a block:

yes it can, using the extensions gem and require 'extensions/symbol'
http://extensions.rubyforge.org/rdoc/classes/Symbol.html
(or by defining your own Symbol#to_proc method)