change set_boolean_violation to before_save but use Time.now