This is gold content, thanks for sharing! There are many tricks to make code reusable, maintainable and improve organization at rails, but they are hard to find. Hope to find more of those tricks. I will rethink my validators to make them reusable like this.