class

Detector::Mobile::WellKnown

Inherits Detector < Reference < Object

Detects the server-side half of a mobile universal-link association — the well-known files a host publishes so the OS will open an app for its URLs:

  • Android App Links — /.well-known/assetlinks.json (Digital Asset Links)
  • iOS Universal Links — apple-app-site-association (often extensionless, sometimes /.well-known/apple-app-site-association.json)

Matched by basename plus a content marker so an unrelated assetlinks.json / JSON blob doesn't register. Both file types feed the single well_known_applinks analyzer via the CodeLocator.

Class methods

tech_name

The tech name without needing an instance, so the registry can be read off the classes themselves rather than from a parallel list.

Source

Instance methods

applicable?(filename : String) : Bool

Cheap filename-only filter the detector pass uses to skip detect on files the detector cannot possibly match. The default true preserves prior behavior (every detector runs on every file). Override with the same predicate the body of detect starts with — e.g., filename.ends_with?(".py") for a Python framework detector — so the detector loop avoids the detect dispatch on files outside the detector's language.

On large codebases (saleor's 4255 .py files) this lifts ~100 virtual detect calls per file out of the hot loop because most detectors' inner first-line is exactly this kind of cheap filename check.

Source
detect(filename : String, file_contents : String) : Bool
Source
idempotent?

Registers assetlinks.json / apple-app-site-association paths in CodeLocator, so it must run on every candidate file.

Source
set_name

Registers assetlinks.json / apple-app-site-association paths in CodeLocator, so it must run on every candidate file.

Source