Class: Rack::Client::CookieJar::Storage

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/client/middleware/cookie_jar/storage.rb

Constant Summary collapse

@@singleton_instance =
new

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeStorage

Returns a new instance of Storage.



5
6
7
# File 'lib/rack/client/middleware/cookie_jar/storage.rb', line 5

def initialize
  @cookiestores = {}
end

Class Method Details

.instanceObject



28
29
30
# File 'lib/rack/client/middleware/cookie_jar/storage.rb', line 28

def self.instance
  @@singleton_instance
end

Instance Method Details

#create_store(uri) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/rack/client/middleware/cookie_jar/storage.rb', line 13

def create_store(uri)
  if uri.respond_to?(:scheme) || uri.respond_to?(:to_str)
    uri = URI.parse(uri) unless uri.respond_to?(:scheme)
    if CookieStore.const_defined?(uri.scheme.upcase)
      klass = CookieStore.const_get(uri.scheme.upcase)
      klass.resolve(uri)
    else
      fail "Unknown storage provider: #{uri.to_s}"
    end
  else
    fail "Unknown storage provider: #{uri.to_s}"
  end
end

#resolve_cookiestore_uri(uri) ⇒ Object



9
10
11
# File 'lib/rack/client/middleware/cookie_jar/storage.rb', line 9

def resolve_cookiestore_uri(uri)
  @cookiestores[uri.to_s] ||= create_store(uri)
end