From a15572694970c936ae164f6b357c1d518b898656 Mon Sep 17 00:00:00 2001 From: Robert Rawlins Date: Wed, 13 Mar 2019 16:16:42 +0000 Subject: [PATCH] Fixed a failing spec when validation nil A recent change which added URI.escape(value) meant that specs were failing when validating 'nil'. We now only escape if it's a string, meaning all specs now pass again. --- lib/validate_url.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/validate_url.rb b/lib/validate_url.rb index f03bc65..1423c08 100644 --- a/lib/validate_url.rb +++ b/lib/validate_url.rb @@ -20,7 +20,8 @@ def initialize(options) def validate_each(record, attribute, value) schemes = [*options.fetch(:schemes)].map(&:to_s) begin - uri = URI.parse(URI.escape(value)) + escaped_uri = value ? URI.escape(value) : nil + uri = URI.parse(escaped_uri) host = uri && uri.host scheme = uri && uri.scheme