lib/grape/validations/validators/coerce.rb in grape-0.10.1 vs lib/grape/validations/validators/coerce.rb in grape-0.11.0

- old
+ new

@@ -27,12 +27,15 @@ def _valid_single_type?(klass, val) # allow nil, to ignore when a parameter is absent return true if val.nil? if klass == Virtus::Attribute::Boolean - val.is_a?(TrueClass) || val.is_a?(FalseClass) + val.is_a?(TrueClass) || val.is_a?(FalseClass) || (val.is_a?(String) && val.empty?) elsif klass == Rack::Multipart::UploadedFile val.is_a?(Hashie::Mash) && val.key?(:tempfile) + elsif [DateTime, Date, Numeric].any?{ |vclass| vclass >= klass } + return true if val.is_a?(String) && val.empty? + val.is_a?(klass) else val.is_a?(klass) end end