Class: MinValidationRule
Instance Method Summary
collapse
#get_field_value, #is_required?
Instance Method Details
#error_message(field, attributes) ⇒ Object
145
146
147
148
149
150
151
152
153
154
|
# File 'lib/validation_profiler/rules/rules.rb', line 145
def error_message(field, attributes)
if attributes[:message] == nil
min = attributes[:value]
"#{field} must have a minimum value of #{min}"
else
attributes[:message]
end
end
|
#validate(obj, field, attributes) ⇒ Object
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
# File 'lib/validation_profiler/rules/rules.rb', line 156
def validate(obj, field, attributes)
min = attributes[:value]
if min == nil
raise InvalidRuleAttributes.new(MinValidationRule, field)
end
field_value = get_field_value(obj, field)
if !is_required?(field_value, attributes)
return true
end
if field_value.is_a?(DateTime) || field_value.is_a?(Numeric)
field_value >= min
else
raise InvalidFieldType.new(MinValidationRule, field)
end
end
|