Sha256: 0d687b9274310b8af89ae13dc77a64ad168ba7207ea42e583cb08269ffa16a18
Contents?: true
Size: 1.2 KB
Versions: 12
Compression:
Stored size: 1.2 KB
Contents
class HTTP::CookieJar::AbstractSaver class << self @@class_map = {} # Gets an implementation class by the name, optionally trying to # load "http/cookie_jar/*_saver" if not found. If loading fails, # IndexError is raised. def implementation(symbol) @@class_map.fetch(symbol) rescue IndexError begin require 'http/cookie_jar/%s_saver' % symbol @@class_map.fetch(symbol) rescue LoadError, IndexError raise IndexError, 'cookie saver unavailable: %s' % symbol.inspect end end def inherited(subclass) @@class_map[class_to_symbol(subclass)] = subclass end def class_to_symbol(klass) klass.name[/[^:]+?(?=Saver$|$)/].downcase.to_sym end end def default_options {} end private :default_options def initialize(options = nil) options ||= {} @logger = options[:logger] @session = options[:session] # Initializes each instance variable of the same name as option # keyword. default_options.each_pair { |key, default| instance_variable_set("@#{key}", options.key?(key) ? options[key] : default) } end def save(io, jar) raise end def load(io, jar) raise end end
Version data entries
12 entries across 12 versions & 1 rubygems