class
Detector::Specification::Appwrite
- Detector::Specification::Appwrite
- Detector
- Reference
- Object
Overview
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.
Defined in:
detector/detectors/specification/appwrite.crConstant Summary
-
CONFIG_FILENAMES =
{"appwrite.json", "appwrite.config.json"} -
PROJECT_ID_MARKER =
/"projectId"\s*:/ -
projectIdis 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/tablesDBare the >=1.6 names forcollections.
Instance Method Summary
-
#applicable?(filename : String) : Bool
Pinned to the two CLI-generated filenames.
- #detect(filename : String, file_contents : String) : Bool
-
#idempotent? : Bool
Registers each config path in
CodeLocator. - #set_name
Instance methods inherited from class Detector
applicable?(filename : String) : Bool
applicable?,
detect(filename : String, file_contents : String) : Bool
detect,
gemfile_dependency?(file_contents : String, gem_name : String) : Bool
gemfile_dependency?,
gemspec_dependency?(file_contents : String, gem_name : String) : Bool
gemspec_dependency?,
idempotent? : Bool
idempotent?,
logger : NoirLogger
logger,
name : String
name,
path_sensitive? : Bool
path_sensitive?
Constructor methods inherited from class Detector
new(options : Hash(String, YAML::Any))
new
Instance Method Detail
Pinned to the two CLI-generated filenames. Nothing else in a
project tree is named this, so the detector never reads an
unrelated .json.