blob: 44e78cbc299598fbfcb30aea8fdebd74d1560162 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# frozen_string_literal: true
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
|