View Source DSL: Smokestack.Dsl
The DSL definition for the Smokestack DSL.
DSL Documentation
Index
- smokestack
- factory
- after_build
- attribute
- before_build
- factory
Docs
smokestack
- factory
- after_build
- attribute
- before_build
:domain
(module that adoptsAsh.Domain
) - The default Ash Domain to use when evaluating loads
factory
Define factories for a resource
* after_build
* attribute
* before_build
:domain
(module that adoptsAsh.Domain
) - The Ash Domain to use when evaluating loads:resource
(module that adoptsAsh.Resource
) - Required. An Ash Resource:variant
(atom/0
) - The name of a factory variant The default value is:default
.:auto_build
(one or a list ofatom/0
) - A list of relationships that should always be built when building this factory The default value is[]
.:auto_load
- An Ash "load statement" to always apply when building this factory The default value is[]
.
after_build
Modify the record after building.
Allows you to provide a function which can modify the built record before returning.
These hooks are only applied when building records and not parameters.
:hook
(mfa or function of arity 1) - Required. A function which returns an updated record
attribute
:name
(atom/0
) - Required. The name of the target attribute:generator
- Required. A function which can generate an appropriate value for the attribute.œ
before_build
Modify the attributes before building.
Allows you to provide a function which can modify the the attributes before building.
:hook
(mfa or function of arity 1) - Required. A function which returns an updated record
smokestack
Nested DSLs
- factory
- after_build
- attribute
- before_build
Options
Name | Type | Default | Docs |
---|---|---|---|
domain | module | The default Ash Domain to use when evaluating loads |
smokestack.factory
factory resource, variant \\ :default
Define factories for a resource
Nested DSLs
Arguments
Name | Type | Default | Docs |
---|---|---|---|
resource | module | An Ash Resource | |
variant | atom | :default | The name of a factory variant |
Options
Name | Type | Default | Docs |
---|---|---|---|
domain | module | The Ash Domain to use when evaluating loads | |
auto_build | atom | list(atom) | [] | A list of relationships that should always be built when building this factory |
auto_load | atom | keyword | list(atom | keyword) | [] | An Ash "load statement" to always apply when building this factory |
smokestack.factory.after_build
after_build hook
Modify the record after building.
Allows you to provide a function which can modify the built record before returning.
These hooks are only applied when building records and not parameters.
Arguments
Name | Type | Default | Docs |
---|---|---|---|
hook | (any -> any) | mfa | A function which returns an updated record |
Introspection
Target: Smokestack.Dsl.AfterBuild
smokestack.factory.attribute
attribute name, generator
Arguments
Name | Type | Default | Docs |
---|---|---|---|
name | atom | The name of the target attribute | |
generator | (-> any) | mfa | (any -> any) | mfa | (any, any -> any) | mfa | Smokestack.Template.Choose | Smokestack.Template.Constant | Smokestack.Template.Cycle | Smokestack.Template.NTimes | Smokestack.Template.Sequence | A function which can generate an appropriate value for the attribute.œ |
Introspection
Target: Smokestack.Dsl.Attribute
smokestack.factory.before_build
before_build hook
Modify the attributes before building.
Allows you to provide a function which can modify the the attributes before building.
Arguments
Name | Type | Default | Docs |
---|---|---|---|
hook | (any -> any) | mfa | A function which returns an updated record |
Introspection
Target: Smokestack.Dsl.BeforeBuild
Introspection
Target: Smokestack.Dsl.Factory