class_eval better than reopening classes?

I came accross this snippet from the docrails project

"When monkey-patching existing classes it's often better to use
`class_eval` instead of opening the class directly."

From this commit:http://github.com/lifo/docrails/commit/60e37868e40ac11f07cbda81f24dcd

http://ola-bini.blogspot.com/2008/05/dynamically-created-methods-in-ruby.html
says the opposite

Fred