Class: ValidationProfiler::Rules::MinValidationRule
- Inherits:
-
ValidationRule
- Object
- ValidationRule
- ValidationProfiler::Rules::MinValidationRule
- Defined in:
- lib/validation_profiler/rules/min_validation_rule.rb
Instance Method Summary collapse
- #error_message(field, attributes, parent = nil) ⇒ Object
- #validate(obj, field, attributes, parent = nil) ⇒ Object
Methods inherited from ValidationRule
#get_field_value, #is_required?
Instance Method Details
#error_message(field, attributes, parent = nil) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/validation_profiler/rules/min_validation_rule.rb', line 5 def (field, attributes, parent = nil) field_name = field.to_s if parent != nil field_name = "#{parent.to_s}.#{field.to_s}" end #check if a custom error message has been specified in the attributes if attributes[:message] == nil #no custom error message has been specified so create the default message. min = attributes[:value] "#{field_name} must have a minimum value of #{min}" else attributes[:message] end end |
#validate(obj, field, attributes, parent = nil) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/validation_profiler/rules/min_validation_rule.rb', line 22 def validate(obj, field, attributes, parent = nil) min = attributes[:value] #verify the expected attributes have been specified. if min == nil raise ValidationProfiler::Exceptions::InvalidValidationRuleAttributes.new(ValidationProfiler::Rules::MinValidationRule, field) end #attempt to get the field value from the object 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 ValidationProfiler::Exceptions::InvalidFieldType.new(ValidationProfiler::Rules::MinValidationRule, field) end end |