Practice for ruby meta programming book