class

Analyzer::Specification::Appwrite

Inherits Analyzer::Specification::SchemaApiCommon < Analyzer::Specification::SpecificationEngine < Analyzer < FileHelper < Reference < Object

Appwrite generates its whole REST surface from appwrite.json: every declared collection becomes a documents endpoint family, every function an executions family, every bucket a files family.

Appwrite 1.6 renamed collections/documents to tables/rows and moved them from /v1/databases/... to /v1/tablesdb/.... A project uses one naming or the other, so we emit the family matching the keys actually present — emitting both would mean half the output 404s.

Constants

ATTRIBUTE_TYPE_HINTS = {"string" => "string", "email" => "string", "ip" => "string", "url" => "string", "enum" => "string", "relationship" => "string", "integer" => "int", "double" => "number", "boolean" => "boolean", "datetime" => "datetime"}
TAG_SOURCE = "appwrite_analyzer"

Class methods

tech_name
Source

Instance methods

analyze
Source
tech

Instance-side view of the same declaration. The per-file rescues live on this base class, which has no way to name the analyzer that is running inside them, so a skipped file could not be attributed to a tech. Deriving it from analyzer_for keeps the name written exactly once.

Source