def apply(options)
      return apply_list options if options.is_a? Array

      options = case options
                when true
                  default_options
                when Hash
                  if default_options.is_a? Hash
                    default_options.merge options
                  else
                    options
                  end
                end

      with options[:with], options[:message]
      self
    end
def apply(options)
      return apply_list options if options.is_a? Array

      options = case options
                when true
                  default_options
                when Hash
                  if default_options.is_a? Hash
                    default_options.merge options
                  else
                    options
                  end
                end

      with options[:with], options[:message]
      self
    end
@param model [Volt::Model] the model being validated
 @param field_name [String] the name of the field being validated
 Applies criteria to the validator in a variety of forms

 @see .validate param examples
 @param options [Hash, Array<Hash>] criteria and related error messages

 @option options [Regexp, Proc] :with criterion for validation
 @option options [String] :message to display if criterion not met
   - will be appended to the field name
   - should start with something like:
     - +"must include..."+
     - +"should end with..."+
     - +"is invalid because..."+

 @return [self] returns itself for chaining