Eval method in ruby executes string/expression passed as parameter.Example:ree-1.8.7-2010.01 > eval("5+3") => 8 ree-1.8.7-2010.01 > eval("a=5") => 5 ree-1.8.7-2010.01 > eval("b||=a") => 5 Its part of ruby meta-programming and not recommended approach unless there is no any alternative to do.