Initialize a length validator
@param [Symbol] field_name
the name of the field to validate
@param [Hash] options
the validator options
@api semipublic
# File lib/dm-validations/validators/length_validator.rb, line 14 def initialize(field_name, options) super @equal = options[:is] || options[:equals] @range = options[:within] || options[:in] @min = options[:minimum] || options[:min] @max = options[:maximum] || options[:max] if @min && @max @range ||= @min..@max end end
Test the resource field for validity
@example when the resource field is valid
validator.call(valid_resource) # => true
@example when the resource field is not valid
validator.call(invalid_resource) # => false
@param [Resource] target
the Resource to test
@return [Boolean]
true if the field is valid, false if not
@api semipublic
# File lib/dm-validations/validators/length_validator.rb, line 43 def call(target) value = target.validation_property_value(field_name) return true if optional?(value) return true unless error_message = error_message_for(value) add_error(target, error_message, field_name) false end
Generated with the Darkfish Rdoc Generator 2.