class Fbe::Middleware::SqliteStore
def initialize(path, version, loog: Loog::NULL, maxsize: '10Mb', maxvsize: '10Kb', ttl: nil, cache_min_age: nil)
-
(ArgumentError)
- If path is nil/empty, directory doesn't exist, version is nil/empty,
Parameters:
-
cache_min_age
(Integer, nil
) -- age which will could be overwritten in cache-control header -
ttl
(Integer, nil
) -- lifetime of keys in hours -
maxvsize
(Integer
) -- Maximum size in bytes of a single value (optional, defaults to 10Kb) -
maxsize
(Integer
) -- Maximum database size in bytes (optional, defaults to 10MB) -
loog
(Loog
) -- Logger instance (optional, defaults to Loog::NULL) -
version
(String
) -- Version identifier for cache compatibility -
path
(String
) -- Path to the SQLite database file
def initialize(path, version, loog: Loog::NULL, maxsize: '10Mb', maxvsize: '10Kb', ttl: nil, cache_min_age: nil) raise ArgumentError, 'Database path cannot be nil or empty' if path.nil? || path.empty? dir = File.dirname(path) raise ArgumentError, "Directory #{dir} does not exist" unless File.directory?(dir) raise ArgumentError, 'Version cannot be nil or empty' if version.nil? || version.empty? @path = File.absolute_path(path) @version = version @loog = loog @maxsize = Filesize.from(maxsize.to_s).to_i @maxvsize = Filesize.from(maxvsize.to_s).to_i raise ArgumentError, 'TTL can be nil or Integer > 0' if !ttl.nil? && !(ttl.is_a?(Integer) && ttl.positive?) @ttl = ttl if !cache_min_age.nil? && !(cache_min_age.is_a?(Integer) && cache_min_age.positive?) raise ArgumentError, 'Cache min age can be nil or Integer > 0' end @cache_min_age = cache_min_age end