ruby meta programming samples