def initialize(name, validator, desc_or_options = nil, options = {}, &block)
if desc_or_options.is_a?(Hash) && options.empty?
options = desc_or_options
elsif desc_or_options.is_a?(String)
options[:desc] = desc_or_options
elsif !desc_or_options.nil?
raise ArgumentError.new("param description: expected description or options as 3rd parameter")
end
options.symbolize_keys!
@name = name
@desc = Apipie.markup_to_html(options[:desc] || '')
@required = if options.has_key? :required
options[:required]
else
Apipie.configuration.required_by_default?
end
@allow_nil = options[:allow_nil] || false
@validator = nil
unless validator.nil?
@validator =
Validator::BaseValidator.find(self, validator, options, block)
raise "Validator not found." unless validator
end
end