class

Detector::Specification::Appwrite

Inherits Detector < Reference < Object

Appwrite projects declare their databases, collections/tables, functions and storage buckets in appwrite.json (the CLI writes appwrite.config.json from v6). The server generates the whole REST surface from that file, so it is the only thing to read.

Constants

PROJECT_ID_MARKER = /"projectId"\s*:/

projectId is mandatory in every Appwrite config and is the cheap gate before paying for a JSON parse.

RESOURCE_KEYS = {"collections", "tables", "tablesDB", "databases", "functions", "buckets"}

At least one resource family has to be present for the file to describe any surface at all. tables/tablesDB are the >=1.6 names for collections.

Instance methods

applicable?(filename : String) : Bool

Registers each config path in CodeLocator. Pinned to the two CLI-generated filenames: nothing else in a project tree is named this, so the detector never reads an unrelated .json.

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

Registers each config path in CodeLocator. Pinned to the two CLI-generated filenames: nothing else in a project tree is named this, so the detector never reads an unrelated .json.

Source
name

Registers each config path in CodeLocator. Pinned to the two CLI-generated filenames: nothing else in a project tree is named this, so the detector never reads an unrelated .json.

Source