Class: MinValidationRule
Instance Method Summary
collapse
#get_field_value, #is_required?
Instance Method Details
#error_message(field, attributes, parent = nil) ⇒ Object
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
# File 'lib/validation_profiler/rules/rules.rb', line 150
def error_message(field, attributes, parent = nil)
field_name = field.to_s
if parent != nil
field_name = "#{parent.to_s}.#{field.to_s}"
end
if attributes[:message] == nil
min = attributes[:value]
"#{field_name} must have a minimum value of #{min}"
else
attributes[:message]
end
end
|
#validate(obj, field, attributes, parent = nil) ⇒ Object
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
|
# File 'lib/validation_profiler/rules/rules.rb', line 167
def validate(obj, field, attributes, parent = nil)
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 == nil
return false
end
if field_value.is_a?(DateTime) || field_value.is_a?(Numeric)
field_value >= min
else
raise InvalidFieldType.new(MinValidationRule, field)
end
end
|