Class: Nitro::Cookie

Inherits:
Object
  • Object
show all
Defined in:
lib/nitro/cgi/cookie.rb

Overview

Encapsulates a HTTP Cookie.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = nil, value = nil, expires = nil) ⇒ Cookie

Returns a new instance of Cookie.



11
12
13
14
15
16
17
18
19
# File 'lib/nitro/cgi/cookie.rb', line 11

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

Instance Attribute Details

#commentObject

Returns the value of attribute comment.



9
10
11
# File 'lib/nitro/cgi/cookie.rb', line 9

def comment
  @comment
end

#domainObject

Returns the value of attribute domain.



8
9
10
# File 'lib/nitro/cgi/cookie.rb', line 8

def domain
  @domain
end

#max_ageObject

Returns the value of attribute max_age.



9
10
11
# File 'lib/nitro/cgi/cookie.rb', line 9

def max_age
  @max_age
end

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/nitro/cgi/cookie.rb', line 6

def name
  @name
end

#pathObject

Returns the value of attribute path.



8
9
10
# File 'lib/nitro/cgi/cookie.rb', line 8

def path
  @path
end

#secureObject

Returns the value of attribute secure.



8
9
10
# File 'lib/nitro/cgi/cookie.rb', line 8

def secure
  @secure
end

#valueObject

Returns the value of attribute value.



7
8
9
# File 'lib/nitro/cgi/cookie.rb', line 7

def value
  @value
end

#versionObject

Returns the value of attribute version.



7
8
9
# File 'lib/nitro/cgi/cookie.rb', line 7

def version
  @version
end

Instance Method Details

#expiresObject

When the cookie expires.



29
30
31
# File 'lib/nitro/cgi/cookie.rb', line 29

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

#expires=(t) ⇒ Object

Set the cookie expiration.



23
24
25
# File 'lib/nitro/cgi/cookie.rb', line 23

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

#to_sObject



33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/nitro/cgi/cookie.rb', line 33

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