def parse_cookie_string(str)
result = {
'name' => '',
'value' => '',
'domain' => '',
'path' => '',
'expires' => '',
'secure' => false
}
str.split(";").each do |attribute|
if attribute.include? "="
key, value = attribute.strip.split("=", 2)
if result['name'].empty?
result['name'] = key
result['value'] = value
elsif key == 'domain' && value.strip =~ /^\.(.+)/
result['domain'] = $1
elsif key && value
result[key] = value
end
elsif attribute == "secure"
result['secure'] = true
end
unless [nil, "", "0"].include?(result['expires'])
result['expires'] = Time.at(result['expires'].to_i)
end
end
result
end