# File lib/validates_timeliness/validator.rb, line 35
    def call(record, attr_name, value)
      raw_value = raw_value(record, attr_name) || value

      if value.is_a?(String) || configuration[:format]
        value = ValidatesTimeliness::Parser.parse(raw_value, type, :strict => false, :format => configuration[:format])
      end

      return if (raw_value.nil? && configuration[:allow_nil]) || (raw_value.blank? && configuration[:allow_blank])

      return add_error(record, attr_name, :blank) if raw_value.blank?
      return add_error(record, attr_name, "invalid_#{type}".to_sym) if value.nil?

      validate_restrictions(record, attr_name, value)
    end