| Class | Merb::Test::Cookie |
| In: |
merb-core/lib/merb-core/test/helpers/cookie_jar.rb
|
| Parent: | Object |
| name | [R] | :api: private |
| value | [R] | :api: private |
:api: private
# File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 11
11: def initialize(raw, default_host)
12: # separate the name / value pair from the cookie options
13: @name_value_raw, options = raw.split(/[;,] */n, 2)
14:
15: @name, @value = Merb::Parse.query(@name_value_raw, ';').to_a.first
16: @options = Merb::Parse.query(options, ';')
17:
18: @options.delete_if { |k, v| !v || v.empty? }
19:
20: @options["domain"] ||= default_host
21: end
:api: private
# File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 65
65: def <=>(other)
66: # Orders the cookies from least specific to most
67: [name, path, domain.reverse] <=> [other.name, other.path, other.domain.reverse]
68: end
:api: private
# File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 34
34: def domain
35: @options["domain"]
36: end
:api: private
# File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 29
29: def empty?
30: @value.nil? || @value.empty?
31: end
:api: private
# File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 49
49: def expired?
50: expires && expires < Time.now
51: end
:api: private
# File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 44
44: def expires
45: Time.parse(@options["expires"]) if @options["expires"]
46: end
:api: private
# File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 60
60: def matches?(uri)
61: ! expired? && valid?(uri)
62: end
:api: private
# File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 39
39: def path
40: @options["path"] || "/"
41: end
:api: private
# File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 24
24: def raw
25: @name_value_raw
26: end