Rails validation contexts

Rails validators are expressive and powerful, yet easy to use and extend. One interesting feature is that validators can run only when a condition is met (using `if:` and `unless:`), or in selected contexts, using `on:`. But did you know that you can also define custom contexts? Here's how to do it, and why that might be useful.