18F Team API Plugins

Plugins are used to create data joins and cross-references needed to produce the API. The basic flow is:

generator.rb is the entry point for this entire process. It contains TeamApi::Generator, which performs all of the above steps in order.

Data Joining

joiner.rb contains the plugins that join public, private, and local data into the site.data object.

Cross-Referencing

cross_referencer.rb builds links between site.data data collections which are used to generate cross-referenced pages.

Canonicalization

canonicalizer.rb contains functions used to canonicalize names and the sort order of collections in site.data.

API Endpoint Generation

api.rb generates all API endpoints and provides an index under /api.