Class Merb::Test::Cookie
In: merb-core/lib/merb-core/test/helpers/cookie_jar.rb
Parent: Object

Methods

<=>   domain   empty?   expired?   expires   matches?   new   path   raw   valid?  

Attributes

name  [R]  :api: private
value  [R]  :api: private

Public Class methods

:api: private

[Source]

    # 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

Public Instance methods

:api: private

[Source]

    # 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

[Source]

    # File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 34
34:       def domain
35:         @options["domain"]
36:       end

:api: private

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Source]

    # File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 39
39:       def path
40:         @options["path"] || "/"
41:       end

:api: private

[Source]

    # File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 24
24:       def raw
25:         @name_value_raw
26:       end

:api: private

[Source]

    # File merb-core/lib/merb-core/test/helpers/cookie_jar.rb, line 54
54:       def valid?(uri)
55:         uri.host =~ Regexp.new("#{Regexp.escape(domain)}$") &&
56:         uri.path =~ Regexp.new("^#{Regexp.escape(path)}")
57:       end

[Validate]