Skip to content

Commit

Permalink
Refactor Changeset.Relation.do_empty
Browse files Browse the repository at this point in the history
  • Loading branch information
michalmuskala committed Nov 24, 2016
1 parent 7de8c4a commit abacab8
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions lib/ecto/changeset/relation.ex
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@ defmodule Ecto.Changeset.Relation do
@doc """
Returns empty container for relation.
"""
def empty(%{cardinality: :one}), do: nil
def empty(%{cardinality: :many}), do: []
def empty(%{cardinality: cardinality}), do: cardinality_to_empty(cardinality)

defp cardinality_to_empty(:one), do: nil
defp cardinality_to_empty(:many), do: []

@doc """
Checks if the container can be considered empty.
Expand Down Expand Up @@ -57,7 +59,7 @@ defmodule Ecto.Changeset.Relation do
Loading will fail if the association is not loaded but the struct is.
"""
def load!(%{__meta__: %{state: :built}}, %NotLoaded{__cardinality__: cardinality}) do
do_empty(cardinality)
cardinality_to_empty(cardinality)
end

def load!(struct, %NotLoaded{__field__: field}) do
Expand Down

0 comments on commit abacab8

Please sign in to comment.