Methods

Class/Module Index [+]

Quicksearch

DataMapper::Validations::LengthValidator

Public Class Methods

new(field_name, options) click to toggle source

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

Public Instance Methods

call(target) click to toggle source

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

[Validate]

Generated with the Darkfish Rdoc Generator 2.