diff --git a/lib/ash/resource/attribute.ex b/lib/ash/resource/attribute.ex index 683bdeeb..b06b0f5d 100644 --- a/lib/ash/resource/attribute.ex +++ b/lib/ash/resource/attribute.ex @@ -201,6 +201,10 @@ defmodule Ash.Resource.Attribute do |> OptionsHelpers.set_default!(:type, :integer) |> Keyword.delete(:allow_nil?) + def transform(attribute) do + Ash.Type.set_type_transformation(%{attribute | source: attribute.source || attribute.name}) + end + @doc false def attribute_schema, do: @schema def create_timestamp_schema, do: @create_timestamp_schema diff --git a/lib/ash/resource/dsl.ex b/lib/ash/resource/dsl.ex index f6a1531d..857a1b87 100644 --- a/lib/ash/resource/dsl.ex +++ b/lib/ash/resource/dsl.ex @@ -12,7 +12,7 @@ defmodule Ash.Resource.Dsl do end """ ], - transform: {Ash.Type, :set_type_transformation, []}, + transform: {Ash.Resource.Attribute, :transform, []}, target: Ash.Resource.Attribute, args: [:name, :type], modules: [:type],