mirror of
https://github.com/ash-project/ash.git
synced 2024-09-20 13:33:20 +12:00
ff756b72a7
A deprecation warning will be shown at compile time to illustrate a change from listing all of your resources in an api to listing them in a registry and connecting that registry to the api
47 lines
886 B
Elixir
47 lines
886 B
Elixir
defmodule Ash.Test.Resource.Changes.LoadTest do
|
|
@moduledoc false
|
|
use ExUnit.Case, async: true
|
|
|
|
defmodule Post do
|
|
use Ash.Resource,
|
|
data_layer: Ash.DataLayer.Ets
|
|
|
|
attributes do
|
|
uuid_primary_key :id
|
|
attribute :text, :string
|
|
attribute :second_text, :string
|
|
end
|
|
|
|
actions do
|
|
create :create do
|
|
change load(:full_text)
|
|
end
|
|
end
|
|
|
|
calculations do
|
|
calculate :full_text, :string, concat([:text, :second_text])
|
|
end
|
|
end
|
|
|
|
defmodule Registry do
|
|
@moduledoc false
|
|
use Ash.Registry
|
|
|
|
entries do
|
|
entry Post
|
|
end
|
|
end
|
|
|
|
defmodule Api do
|
|
use Ash.Api
|
|
|
|
resources do
|
|
registry Registry
|
|
end
|
|
end
|
|
|
|
test "you can use it to load on create" do
|
|
assert Api.create!(Ash.Changeset.for_create(Post, :create, text: "foo", second_text: "bar")).full_text ==
|
|
"foobar"
|
|
end
|
|
end
|