diff options
Diffstat (limited to 'activemodel/test/models/person_with_validator.rb')
-rw-r--r-- | activemodel/test/models/person_with_validator.rb | 15 |
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 |