New article: "ActiveModel validations without a model"