Prefer the use of public_send over eval

`eval` should be used really carefully.
My bad, be_valid test the valid? method of the object, perfect then!