lib/apipie/validator.rb in apipie-rails-0.3.5 vs lib/apipie/validator.rb in apipie-rails-0.3.6
- old
+ new
@@ -127,11 +127,11 @@
def self.build(param_description, argument, options, proc)
self.new(param_description, argument) if argument.is_a? Regexp
end
def description
- "Must match regular expression /#{@regexp.source}/."
+ "Must match regular expression <code>/#{@regexp.source}/</code>."
end
end
# arguments value must be one of given in array
class EnumValidator < BaseValidator
@@ -147,11 +147,12 @@
def self.build(param_description, argument, options, proc)
self.new(param_description, argument) if argument.is_a?(Array)
end
def description
- "Must be one of: #{@array.join(', ')}."
+ string = @array.map { |value| "<code>#{value}</code>" }.join(', ')
+ "Must be one of: #{string}."
end
end
# arguments value must be an array
class ArrayValidator < Apipie::Validator::BaseValidator
@@ -303,11 +304,11 @@
def validate(value)
return false if !value.is_a? Hash
if @hash_params
@hash_params.each do |k, p|
if Apipie.configuration.validate_presence?
- raise ParamMissing.new(k) if p.required && !value.has_key?(k)
+ raise ParamMissing.new(p) if p.required && !value.has_key?(k)
end
if Apipie.configuration.validate_value?
p.validate(value[k]) if value.has_key?(k)
end
end
@@ -396,24 +397,24 @@
end
class BooleanValidator < BaseValidator
def validate(value)
- %w[true false].include?(value.to_s)
+ %w[true false 1 0].include?(value.to_s)
end
def self.build(param_description, argument, options, block)
- if argument == :bool
+ if argument == :bool || argument == :boolean
self.new(param_description)
end
end
def expected_type
'boolean'
end
def description
- "Must be 'true' or 'false'"
+ "Must be 'true' or 'false' or '1' or '0'"
end
end
class NestedValidator < BaseValidator