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/60e37868e40ac11f07cbda81f24dcdb0a9c68783#L0R275

First of all, is this right? And second, why? Does it make a
difference if this is a in the context of a rails plugin?

On May 30, 9:50 pm, Alex W. [email protected]
wrote:

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

says the opposite

Fred