30 lines
579 B
Elixir
30 lines
579 B
Elixir
defmodule Outlook.Articles.RawInternalTreeSchema do
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
|
|
alias Outlook.Articles.RawInternalTree
|
|
|
|
embedded_schema do
|
|
field :tree, RawInternalTree
|
|
end
|
|
|
|
@doc false
|
|
def changeset(raw_tree, attrs) do
|
|
raw_tree
|
|
|> check_sibling_collocation(:tree)
|
|
end
|
|
|
|
def check_sibling_collocation(changeset, field) when is_atom(field) do
|
|
validate_change(changeset, field, fn field, value ->
|
|
case value do
|
|
true ->
|
|
[]
|
|
|
|
false ->
|
|
[{field, "html should be useful"}]
|
|
end
|
|
end)
|
|
end
|
|
|
|
end
|