Class: HTTP::CookieJar::AbstractStore

### Home Classes Methods

### In Files

- lib/http/cookie_jar/abstract_store.rb

### Parent

Object

### Methods

- ::implementation
- ::new
- #add
- #cleanup
- #clear
- #delete
- #each
- #empty?
- #initialize_copy

### Included Modules

- MonitorMixin
- Enumerable

### Files

- LICENSE.txt

### Class/Module Index

Quicksearch

- HTTP
- HTTP::Cookie
- HTTP::Cookie::Scanner
- HTTP::CookieJar
- HTTP::CookieJar::AbstractSaver
- HTTP::CookieJar::AbstractStore
- HTTP::CookieJar::CookiestxtSaver
- HTTP::CookieJar::HashStore
- HTTP::CookieJar::MozillaStore
- HTTP::CookieJar::YAMLSaver
- Array
- Hash
- String

No matching classes.

# HTTP::CookieJar::AbstractStore

An abstract superclass for all store classes.

### Public Class Methods

implementation(symbol) click to toggle source

Gets an implementation class by the name, optionally trying to load "http/cookie_jar/*_store" if not found. If loading fails, IndexError is raised.

    # File lib/http/cookie_jar/abstract_store.rb, line 14
    def implementation(symbol)
      @@class_map.fetch(symbol)
    rescue IndexError
      begin
        require 'http/cookie_jar/%s_store' % symbol
        @@class_map.fetch(symbol)
      rescue LoadError, IndexError
        raise IndexError, 'cookie store unavailable: %s' % symbol.inspect
      end
    end

new(**options) click to toggle source

Called by the constructor of each subclass using super().

    # File lib/http/cookie_jar/abstract_store.rb, line 44
    def initialize(options = nil)
      super() # MonitorMixin
      options ||= {}
      @logger = options[:logger]
      # Initializes each instance variable of the same name as option
      # keyword.
      default_options.each_pair { |key, default|
        instance_variable_set("@#{key}", options.fetch(key, default))
      }
    end

### Public Instance Methods

add(cookie) click to toggle source

Implements HTTP::CookieJar#add().

This is an abstract method that each subclass must override.

    # File lib/http/cookie_jar/abstract_store.rb, line 63
    def add(cookie)
      # self
    end

cleanup(session = false) click to toggle source

Implements HTTP::CookieJar#cleanup().

This is an abstract method that each subclass must override.

    # File lib/http/cookie_jar/abstract_store.rb, line 113
    def cleanup(session = false)
      # if session
      #   select { |cookie| cookie.session? || cookie.expired? }
      # else
      #   select(&:expired?)
      # end.each { |cookie|
      #   delete(cookie)
      # }
      # # subclasses can optionally remove over-the-limit cookies.
      # self
    end

clear() click to toggle source

Implements HTTP::CookieJar#clear().

This is an abstract method that each subclass must override.

    # File lib/http/cookie_jar/abstract_store.rb, line 106
    def clear
      # self
    end

delete(cookie) click to toggle source

Implements HTTP::CookieJar#delete().

This is an abstract method that each subclass must override.

    # File lib/http/cookie_jar/abstract_store.rb, line 70
    def delete(cookie)
      # self
    end

each(uri = nil) click to toggle source

Iterates over all cookies that are not expired.

An optional argument `uri` specifies a URI object indicating the destination of the cookies being selected. Every cookie yielded should be good to send to the given URI, i.e. cookie.valid_for_uri?(uri) evaluates to true.

If (and only if) the `uri` option is given, last access time of each cookie is updated to the current time.

This is an abstract method that each subclass must override.

    # File lib/http/cookie_jar/abstract_store.rb, line 85
    def each(uri = nil, &block) # :yield: cookie
      # if uri
      #   ...
      # else
      #   synchronize {
      #     ...
      #   }
      # end
      # self
    end

empty?() click to toggle source

Implements HTTP::CookieJar#empty?().

    # File lib/http/cookie_jar/abstract_store.rb, line 98
    def empty?
      each { return false }
      true
    end

initialize_copy(other) click to toggle source

This is an abstract method that each subclass must override.

    # File lib/http/cookie_jar/abstract_store.rb, line 56
    def initialize_copy(other)
      # self
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.