Class: Web::Unit::Cookies

Inherits:
Object show all
Includes:
Singleton
Defined in:
lib/web/unit/cookie.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeCookies

Returns a new instance of Cookies.



16
17
18
# File 'lib/web/unit/cookie.rb', line 16

def initialize
  @cookies = {}
end

Instance Attribute Details

#cookiesObject

Returns the value of attribute cookies.



98
99
100
# File 'lib/web/unit/cookie.rb', line 98

def cookies
  @cookies
end

Class Method Details

.add(n, v, p = '/') ⇒ Object

— Cookies.add( name, value, path )



36
37
38
# File 'lib/web/unit/cookie.rb', line 36

def self::add( n, v, p='/' )
  self::instance.add( n, v, p )
end

.clearObject

— Cookies.clear



24
25
26
# File 'lib/web/unit/cookie.rb', line 24

def self::clear
  self::instance.clear
end

.has?(name) ⇒ Boolean

— Cookies.has?

Returns:

  • (Boolean)


63
64
65
# File 'lib/web/unit/cookie.rb', line 63

def self::has?( name )
  self::instance.has?( name )
end

.header(target) ⇒ Object



84
85
86
# File 'lib/web/unit/cookie.rb', line 84

def self::header( target )
  self::instance.header( target )
end

.listObject

— Cookies.list



51
52
53
# File 'lib/web/unit/cookie.rb', line 51

def self::list
  self::instance.list
end

.update(set_cookie_response) ⇒ Object



71
72
73
# File 'lib/web/unit/cookie.rb', line 71

def self::update( set_cookie_response )
  self::instance.update( set_cookie_response )
end

Instance Method Details

#add(n, v, p) ⇒ Object



40
41
42
43
44
45
# File 'lib/web/unit/cookie.rb', line 40

def add( n, v, p )
  h = {}
  h["name"] = n
  h["value"] = v
  @cookies[[n,p]] = h
end

#clearObject



28
29
30
# File 'lib/web/unit/cookie.rb', line 28

def clear
  @cookies = {}
end

#has?(name) ⇒ Boolean

Returns:

  • (Boolean)


67
68
69
# File 'lib/web/unit/cookie.rb', line 67

def has?( name )
  @cookies.keys.collect{|x|x[0]}.include?( name )
end

#header(target) ⇒ Object



88
89
90
91
92
93
94
95
96
# File 'lib/web/unit/cookie.rb', line 88

def header( target )
  a = []
  @cookies.keys.each do |name,path|
    if path == nil || ( 'path=' + target ).index( path ) != nil then
      a.push( name + '=' + @cookies[[name,path]]["value"] )
    end
  end
  a.size == 0 ? {} : { "Cookie"=>( a.join( '; ' ) ) }
end

#listObject



55
56
57
# File 'lib/web/unit/cookie.rb', line 55

def list
  @cookies.keys.collect{|x|x[0]}
end

#update(set_cookie_response) ⇒ Object



75
76
77
78
79
80
81
82
# File 'lib/web/unit/cookie.rb', line 75

def update( set_cookie_response )
  if set_cookie_response != nil then
    set_cookie_response.split(',').each do |e|
      c = parse_cookie( e.strip )
      @cookies[ [ c["name"], c["path"] ] ] = c
    end
  end
end