How to monitor the blockchain for new blocks
Full disclosure, I'm BlockCypher's Developer Advocate. We have both a WebSockets/WebHooks API for unconfirmed transactions, which you can read about here, along with a Ruby example: http://dev.blockcypher.com/?ruby#using-webhooks . 

But if you wanted to run a local implementation that's primarily Ruby-based, you could try Coinbase's Toshi, or bitcoin-ruby:


https://github.com/coinbase/toshi
https://github.com/lian/bitcoin-ruby