aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test/models/person_with_validator.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activemodel/test/models/person_with_validator.rb')
-rw-r--r--activemodel/test/models/person_with_validator.rb15
1 files changed, 14 insertions, 1 deletions
diff --git a/activemodel/test/models/person_with_validator.rb b/activemodel/test/models/person_with_validator.rb
index f9763ea853..505ed880c1 100644
--- a/activemodel/test/models/person_with_validator.rb
+++ b/activemodel/test/models/person_with_validator.rb
@@ -1,11 +1,24 @@
class PersonWithValidator
include ActiveModel::Validations
-
+
class PresenceValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
record.errors[attribute] << "Local validator#{options[:custom]}" if value.blank?
end
end
+ class LikeValidator < ActiveModel::EachValidator
+ def initialize(options)
+ @with = options[:with]
+ super
+ end
+
+ def validate_each(record, attribute, value)
+ unless value[@with]
+ record.errors.add attribute, "does not appear to be like #{@with}"
+ end
+ end
+ end
+
attr_accessor :title, :karma
end