I've moved away from before_creat (not recommended anyway) and my own methods are finding something I can't explain.
user.pre_validation # sets and changes some ivars
if user.valid? # unencrypted password, returns true
user.post_validation # encrypt password
saved_user = user.save # somehow validation happens again, throws validation error
Is there another call in user.save for validation? I thought I had already validated the object. Validation on the password field has a range smaller than the encrypted length. So I validate on the submitted version, and want to encrypt post validation as a before_create. But it won't progress because it fails a second validation that isn't in the route.