mirror of
https://github.com/samsonjs/http-cookie.git
synced 2026-04-27 14:57:46 +00:00
Cookie.new: Deprecate un-downcased keywords.
This commit is contained in:
parent
75267e8002
commit
02587d67e0
1 changed files with 34 additions and 14 deletions
|
|
@ -163,7 +163,7 @@ class HTTP::Cookie
|
||||||
#
|
#
|
||||||
# Creates a cookie object. For each key of `attr_hash`, the setter
|
# Creates a cookie object. For each key of `attr_hash`, the setter
|
||||||
# is called if defined. Each key can be either a symbol or a
|
# is called if defined. Each key can be either a symbol or a
|
||||||
# string, downcased or not.
|
# string of downcased attribute names.
|
||||||
#
|
#
|
||||||
# This methods accepts any attribute name for which a setter method
|
# This methods accepts any attribute name for which a setter method
|
||||||
# is defined. Beware, however, any error (typically ArgumentError)
|
# is defined. Beware, however, any error (typically ArgumentError)
|
||||||
|
|
@ -209,25 +209,45 @@ class HTTP::Cookie
|
||||||
for_domain = false
|
for_domain = false
|
||||||
domain = max_age = origin = nil
|
domain = max_age = origin = nil
|
||||||
attr_hash.each_pair { |key, val|
|
attr_hash.each_pair { |key, val|
|
||||||
skey = key.to_s.downcase
|
case key.to_sym
|
||||||
if skey.sub!(/\?\z/, '')
|
when :name
|
||||||
val = val ? true : false
|
self.name = val
|
||||||
end
|
when :value
|
||||||
case skey
|
|
||||||
when 'value'
|
|
||||||
value = val
|
value = val
|
||||||
when 'for_domain'
|
when :domain
|
||||||
for_domain = !!val
|
|
||||||
when 'domain'
|
|
||||||
domain = val
|
domain = val
|
||||||
when 'origin'
|
when :path
|
||||||
|
self.path = val
|
||||||
|
when :origin
|
||||||
origin = val
|
origin = val
|
||||||
when 'max_age'
|
when :for_domain, :for_domain?
|
||||||
|
for_domain = val
|
||||||
|
when :max_age
|
||||||
# Let max_age take precedence over expires
|
# Let max_age take precedence over expires
|
||||||
max_age = val
|
max_age = val
|
||||||
|
when :expires, :expires_at
|
||||||
|
self.expires = val
|
||||||
|
when :httponly, :httponly?
|
||||||
|
@httponly = val
|
||||||
|
when :secure, :secure?
|
||||||
|
@secure = val
|
||||||
|
when /[A-Z]/
|
||||||
|
warn "keyword should be downcased: #{key}" if $VERBOSE
|
||||||
|
key = key.downcase
|
||||||
|
redo
|
||||||
|
when Symbol
|
||||||
|
setter = :"#{key}="
|
||||||
|
if respond_to?(setter)
|
||||||
|
__send__(setter, val)
|
||||||
else
|
else
|
||||||
setter = :"#{skey}="
|
warn "unknown keyword: #{key}" if $VERBOSE
|
||||||
__send__(setter, val) if respond_to?(setter)
|
end
|
||||||
|
when String
|
||||||
|
key = key.to_sym
|
||||||
|
redo
|
||||||
|
else
|
||||||
|
key = key.to_s
|
||||||
|
redo
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
if @name.nil?
|
if @name.nil?
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue