class Fbe::Middleware::SqliteStore

def initialize(path, version, loog: Loog::NULL, maxsize: '10Mb', maxvsize: '10Kb', ttl: nil, cache_min_age: nil)

Raises:
  • (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