Assemblies are composed of various element types which are defined using the Assembly Definition Domain Specific Language (DSL).
Elements can be groups, values, or meta-elements.
When providing a block for a value, the block will be executed in a special context with some additional methods.
Defines a group inline, with it’s sub-elements defined in a block.
Load a group from a separate file.
Load an entirely separate Assembly as a group. Allows Assemblies to be packaged as gems and reused in other projects.
An version of mount that is ignored if the other Assembly doesn’t exist.
There are four types of elements loosely categorized as "values".
Basic values set via literal argument or lazy block. Good for configuration settings.
Defines a callable method that can reference other elements.
Primary element in Assemblies. Defines main application objects.
A mix between services and funcs. Good place for common object construction patterns.