Object Attorney
1) Basic Usage
class User < Struct.new(:title, :first_name, :last_name)
end
class UserValidator < Struct.new(:user)
include ObjectAttorney
defend :user
validates_presence_of :first_name
end
# OR
class UserValidator < ObjectAttorney::Base
validates_presence_of :first_name
end
@user = User.new
UserValidator.new(@user).valid?
@user.errors. # { first_name: ["can't be blank"] }