View Source Ash.Resource.Builder (ash v3.4.46)
Tools for transforming resources in DSL Transformers.
Summary
Functions
Builds and adds an action
Builds and adds an aggregate to a resource
Builds and adds an attribute to a resource
Builds and adds a calculation to a resource
Builds and adds an calculation interface to a resource
Builds and adds a change
Builds and adds a create_timestamp to a resource
Builds and adds an identity
Builds and adds an interface to a resource
Builds and adds a new action unless an action with that name already exists
Builds and adds an aggregate unless an aggregate with that name already exists
Builds and adds an attribute unless an attribute with that name already exists
Builds and adds a calculation unless a calculation with that name already exists
Builds and adds an calculation interface unless an calculation interface with that name already exists
Builds and adds a create_timestamp unless a create_timestamp with that name already exists
Builds and adds a new identity unless an identity with that name already exists
Builds and adds an interface unless an interface with that name already exists
Builds and adds a new relationship unless a relationship with that name already exists
Builds and adds an update_timestamp unless an update_timestamp with that name already exists
Builds and adds a preparation
Builds and adds an action
Builds and adds an update_timestamp
Builds an action
Builds an action argument
Builds an action change
Builds an action metadata
Builds an action validation
Builds a calculation with the given name, type, and options
Builds an attribute with the given name, type, and options
Builds a calculation with the given name, type, and options
Builds a calculation argument
Builds an calculation interface with the given name, type, and options
Builds a change
Builds an create_timestamp with the given name, type, and options
Builds an action
Builds an interface with the given name, type, and options
Builds a pagination object
Builds a preparation
Builds a relationship
Builds an update_timestamp with the given name, type, and options
Builds and adds an action to the front of the actions list
Functions
@spec add_action( Spark.Dsl.Builder.input(), type :: Ash.Resource.Actions.action_type(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an action
@spec add_aggregate( Spark.Dsl.Builder.input(), name :: atom(), kind :: Ash.Query.Aggregate.kind(), relationship_path :: atom() | [atom()], opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an aggregate to a resource
@spec add_attribute( Spark.Dsl.Builder.input(), name :: atom(), type :: Ash.Type.t(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an attribute to a resource
@spec add_calculation( Spark.Dsl.Builder.input(), name :: atom(), type :: Ash.Type.t(), calculation :: module() | {module(), Keyword.t()}, opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a calculation to a resource
@spec add_calculation_interface( Spark.Dsl.Builder.input(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an calculation interface to a resource
@spec add_change( Spark.Dsl.Builder.input(), ref :: module() | {module(), Keyword.t()}, opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a change
@spec add_create_timestamp( Spark.Dsl.Builder.input(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a create_timestamp to a resource
@spec add_identity( Spark.Dsl.Builder.input(), name :: atom(), fields :: atom() | [atom()], opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an identity
@spec add_interface( Spark.Dsl.Builder.input(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an interface to a resource
@spec add_new_action( Spark.Dsl.Builder.input(), type :: Ash.Resource.Actions.action_type(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a new action unless an action with that name already exists
@spec add_new_aggregate( Spark.Dsl.Builder.input(), name :: atom(), kind :: Ash.Query.Aggregate.kind(), relationship_path :: atom() | [atom()], opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an aggregate unless an aggregate with that name already exists
@spec add_new_attribute( Spark.Dsl.Builder.input(), name :: atom(), type :: Ash.Type.t(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an attribute unless an attribute with that name already exists
@spec add_new_calculation( Spark.Dsl.Builder.input(), name :: atom(), type :: Ash.Type.t(), calculation :: module() | {module(), Keyword.t()} | Ash.Expr.t(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a calculation unless a calculation with that name already exists
@spec add_new_calculation_interface( Spark.Dsl.Builder.input(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an calculation interface unless an calculation interface with that name already exists
@spec add_new_create_timestamp( Spark.Dsl.Builder.input(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a create_timestamp unless a create_timestamp with that name already exists
@spec add_new_identity( Spark.Dsl.Builder.input(), name :: atom(), fields :: atom() | [atom()], opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a new identity unless an identity with that name already exists
@spec add_new_interface( Spark.Dsl.Builder.input(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an interface unless an interface with that name already exists
@spec add_new_relationship( Spark.Dsl.Builder.input(), type :: Ash.Resource.Relationships.type(), name :: atom(), destination :: module(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a new relationship unless a relationship with that name already exists
@spec add_new_update_timestamp( Spark.Dsl.Builder.input(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an update_timestamp unless an update_timestamp with that name already exists
@spec add_preparation( Spark.Dsl.Builder.input(), ref :: module() | {module(), Keyword.t()}, opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds a preparation
@spec add_relationship( Spark.Dsl.Builder.input(), type :: Ash.Resource.Relationships.type(), name :: atom(), destination :: module(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an action
@spec add_update_timestamp( Spark.Dsl.Builder.input(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an update_timestamp
@spec build_action( type :: Ash.Resource.Actions.action_type(), name :: atom(), opts :: Keyword.t() ) :: {:ok, Ash.Resource.Actions.action()} | {:error, term()}
Builds an action
@spec build_action_argument(name :: atom(), type :: Ash.Type.t(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Actions.Argument.t()} | {:error, term()}
Builds an action argument
@spec build_action_change(change :: Ash.Resource.Change.ref(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Change.t()} | {:error, term()}
Builds an action change
@spec build_action_metadata(name :: atom(), type :: Ash.Type.t(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Actions.Metadata.t()} | {:error, term()}
Builds an action metadata
@spec build_action_validation( change :: Ash.Resource.Validation.ref(), opts :: Keyword.t() ) :: {:ok, Ash.Resource.Validation.t()} | {:error, term()}
Builds an action validation
@spec build_aggregate( name :: atom(), kind :: Ash.Query.Aggregate.kind(), relationship_path :: atom() | [atom()], opts :: Keyword.t() ) :: {:ok, Ash.Resource.Aggregate.t()} | {:error, term()}
Builds a calculation with the given name, type, and options
@spec build_attribute(name :: atom(), type :: Ash.Type.t(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Attribute.t()} | {:error, term()}
Builds an attribute with the given name, type, and options
@spec build_calculation( name :: atom(), type :: Ash.Type.t(), calculation :: module() | {module(), Keyword.t()}, opts :: Keyword.t() ) :: {:ok, Ash.Resource.Calculation.t()} | {:error, term()}
Builds a calculation with the given name, type, and options
@spec build_calculation_argument( name :: atom(), type :: Ash.Type.t(), opts :: Keyword.t() ) :: {:ok, Ash.Resource.Calculation.Argument.t()} | {:error, term()}
Builds a calculation argument
@spec build_calculation_interface(name :: atom(), opts :: Keyword.t()) :: {:ok, Ash.Resource.CalculationInterface.t()} | {:error, term()}
Builds an calculation interface with the given name, type, and options
@spec build_change( ref :: module() | {module(), Keyword.t()}, opts :: Keyword.t() ) :: {:ok, Ash.Resource.Change.t()} | {:error, term()}
Builds a change
@spec build_create_timestamp(name :: atom(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Attribute.t()} | {:error, term()}
Builds an create_timestamp with the given name, type, and options
@spec build_identity( name :: atom(), fields :: atom() | [atom()], opts :: Keyword.t() ) :: {:ok, Ash.Resource.Identity.t()} | {:error, term()}
Builds an action
@spec build_interface(name :: atom(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Interface.t()} | {:error, term()}
Builds an interface with the given name, type, and options
@spec build_pagination(pts :: Keyword.t()) :: {:ok, Ash.Resource.Actions.Read.Pagination.t()} | {:error, term()}
Builds a pagination object
@spec build_preparation( ref :: module() | {module(), Keyword.t()}, opts :: Keyword.t() ) :: {:ok, Ash.Resource.Preparation.t()} | {:error, term()}
Builds a preparation
@spec build_relationship( type :: Ash.Resource.Relationships.type(), name :: atom(), destination :: module(), opts :: Keyword.t() ) :: {:ok, Ash.Resource.Relationships.relationship()} | {:error, term()}
Builds a relationship
@spec build_update_timestamp(name :: atom(), opts :: Keyword.t()) :: {:ok, Ash.Resource.Attribute.t()} | {:error, term()}
Builds an update_timestamp with the given name, type, and options
@spec prepend_action( Spark.Dsl.Builder.input(), type :: Ash.Resource.Actions.action_type(), name :: atom(), opts :: Keyword.t() ) :: Spark.Dsl.Builder.result()
Builds and adds an action to the front of the actions list