4.8 KiB
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
(t:atom/0
) - The name of a factory variant The default value is:default
.
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
(t: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 {: #smokestack-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 {: #smokestack-factory-resource .spark-required} |
module |
An Ash Resource | |
variant {: #smokestack-factory-variant } |
atom |
:default |
The name of a factory variant |
Options
Name | Type | Default | Docs |
---|---|---|---|
domain {: #smokestack-factory-domain } |
module |
The Ash Domain to use when evaluating loads |
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 {: #smokestack-factory-after_build-hook .spark-required} |
(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 {: #smokestack-factory-attribute-name .spark-required} |
atom |
The name of the target attribute | |
generator {: #smokestack-factory-attribute-generator .spark-required} |
(-> 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 {: #smokestack-factory-before_build-hook .spark-required} |
(any -> any) | mfa |
A function which returns an updated record |
Introspection
Target: Smokestack.Dsl.BeforeBuild
Introspection
Target: Smokestack.Dsl.Factory