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