class HTTP::CookieJar::AbstractStore
An abstract superclass for all store classes.
Public Class Methods
Source
# File lib/http/cookie_jar/abstract_store.rb, line 11 def implementation(symbol) case symbol when :hash HTTP::CookieJar::HashStore when :mozilla HTTP::CookieJar::MozillaStore else raise IndexError, 'cookie store unavailable: %s' % symbol.inspect end end
Gets an implementation class by the name.
Source
# File lib/http/cookie_jar/abstract_store.rb, line 33 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
Called by the constructor of each subclass using super().
Public Instance Methods
Source
# File lib/http/cookie_jar/abstract_store.rb, line 52 def add(cookie) # self end
Implements HTTP::CookieJar#add().
This is an abstract method that each subclass must override.
Source
# File lib/http/cookie_jar/abstract_store.rb, line 102 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
Implements HTTP::CookieJar#cleanup().
This is an abstract method that each subclass must override.
Source
# File lib/http/cookie_jar/abstract_store.rb, line 95 def clear # self end
Implements HTTP::CookieJar#clear().
This is an abstract method that each subclass must override.
Source
# File lib/http/cookie_jar/abstract_store.rb, line 59 def delete(cookie) # self end
Implements HTTP::CookieJar#delete().
This is an abstract method that each subclass must override.
Source
# File lib/http/cookie_jar/abstract_store.rb, line 74 def each(uri = nil, &block) # :yield: cookie # if uri # ... # else # synchronize { # ... # } # end # self end
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.
Source
# File lib/http/cookie_jar/abstract_store.rb, line 87 def empty? each { return false } true end
Implements HTTP::CookieJar#empty?().
Source
# File lib/http/cookie_jar/abstract_store.rb, line 45 def initialize_copy(other) # self end
This is an abstract method that each subclass must override.
Private Instance Methods
Source
# File lib/http/cookie_jar/abstract_store.rb, line 24 def default_options # {} end
Defines options and their default values.