« Index of all namespaces of this project
Create Context record (map) from system, containing values specified by providing calls. Context record has print-method which hides the real contents.
Returns the map of other components on which this component depends.
(providing component spec)
Associates metadata with component describing what values the component provides for others to use. Provides are specified as a map keys. Keys in the map correspond to key in context map. Values in the map are they keys in the component where provieded value is. The value can be a IFn so if you need to retrieve nested value you can use e.g. `(comp :foo :bar)`. Alternatively, if the keys are the same in both the component and context, they map be specified as vector of keys.
(start-system system component-keys)
Recursively starts components in the system, in dependency order, assoc'ing in their dependencies along the way. component-keys is a collection of keys (order doesn't matter) in the system specifying the components to start, defaults to all keys in the system.
(stop-system system component-keys)
Recursively stops components in the system, in reverse dependency order. component-keys is a collection of keys (order doesn't matter) in the system specifying the components to stop, defaults to all keys in the system.
(system-map & keyvals)
Returns a system constructed of key/value pairs. The system has default implementations of the Lifecycle 'start' and 'stop' methods which recursively start/stop all components in the system. System maps print as #<SystemMap> to avoid overwhelming the printer with large objects. As a consequence, printed system maps cannot be 'read'. To disable this behavior and print system maps like normal records, call (remove-method clojure.core/print-method com.stuartsierra.component.SystemMap)
(system-using system dependency-map)
Associates dependency metadata with multiple components in the system. dependency-map is a map of keys in the system to maps or vectors specifying the dependencies of the component at that key in the system, as per 'using'.
(using component dependencies)
Associates metadata with component describing the other components on which it depends. Component dependencies are specified as a map. Keys in the map correspond to keys in this component which must be provided by its containing system. Values in the map are the keys in the system at which those components may be found. Alternatively, if the keys are the same in both the component and its enclosing system, they may be specified as a vector of keys.