From d2890896e73d2b54652d5ea948d10651d36aefbd Mon Sep 17 00:00:00 2001 From: Luke Hill <20105237+luke-hill@users.noreply.github.com> Date: Mon, 2 Dec 2024 17:41:53 +0000 Subject: [PATCH] Update cookie.rb to handle situations when expires is a DateTime object The standard Selenium WebDriver response is to return an object which has an expiry in datetime format. In order to most effectively work with Selenium, and to provide the smallest barrier possible, co-erce the DateTime object into a Time object and then store it as a HTTP Cookie --- lib/http/cookie.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/http/cookie.rb b/lib/http/cookie.rb index be06148..6282e3c 100644 --- a/lib/http/cookie.rb +++ b/lib/http/cookie.rb @@ -89,7 +89,7 @@ class HTTP::Cookie # The Expires attribute value as a Time object. # - # The setter method accepts a Time object, a string representation + # The setter method accepts a Time / DateTime object, a string representation # of date/time that Time.parse can understand, or `nil`. # # Setting this value resets #max_age to nil. When #max_age is @@ -493,6 +493,8 @@ class HTTP::Cookie def expires= t case t when nil, Time + when DateTime + t = t.to_time else t = Time.parse(t) end