Sha256: fda3c80b5a85971897f14383d0e01e6c5cb64c523893e024d4247b723eed2e70

Contents?: true

Size: 1.09 KB

Versions: 7

Compression:

Stored size: 1.09 KB

Contents

module Nitro

# Encapsulates a HTTP Cookie.

class Cookie
  attr_reader :name
  attr_accessor :value, :version
  attr_accessor :domain, :path, :secure
  attr_accessor :comment, :max_age

 def initialize(name = nil, value = nil, expires = nil)
    @name = name
    @value = value
    self.expires = expires
    @version = 0    # Netscape Cookie
    @path = '/'      # gmosx: KEEP this!
    @domain = @secure = @comment = @max_age = nil
    @comment_url = @discard = @port = nil
  end

  def expires=(t)
    @expires = t && (t.is_a?(Time) ? t.httpdate : t.to_s)
  end

  def expires
    @expires && Time.parse(@expires)
  end

  def to_s
    ret = ""
    ret << @name << "=" << @value
    ret << "; " << "Version=" << @version.to_s if @version > 0
    ret << "; " << "Domain="  << @domain  if @domain
    ret << "; " << "Expires=" << @expires if @expires
    ret << "; " << "Max-Age=" << @max_age.to_s if @max_age
    ret << "; " << "Comment=" << @comment if @comment
    ret << "; " << "Path="    << @path if @path
    ret << "; " << "Secure"   if @secure
    ret
  end

end

end

# * George Moschovitis <gm@navel.gr>

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
nitro-0.23.0 lib/nitro/cookie.rb
nitro-0.24.0 lib/nitro/cgi/cookie.rb
nitro-0.25.0 lib/nitro/cgi/cookie.rb
nitro-0.26.0 lib/nitro/cgi/cookie.rb
nitro-0.27.0 lib/nitro/cgi/cookie.rb
nitro-0.28.0 lib/nitro/cgi/cookie.rb
nitro-0.29.0 lib/nitro/cgi/cookie.rb