Current section
Files
Jump to
Current section
Files
lib/parsers/struct.ex
defmodule Fitz.Struct do
@moduledoc """
Documentation for Fitz.Struct.
"""
@doc """
Fitz.Struct.drop_assoc
Drops Ecto Associations from struct
"""
def drop_assoc(struct) do
struct
|> Map.drop([:__meta__, :__struct__])
|> Enum.filter(fn{k, v}-> Ecto.assoc_loaded?(v) end)
#|> Enum.into(%{})
#|> Enum.map(fn{k, v}-> if !Ecto.assoc_loaded?(v) do {k, %{}} else {k, v} end end)
end
@doc """
Fitz.Struct.drop_assoc
Drops Ecto Associations and nil values from struct
"""
def clean(struct) do
struct
|> Map.delete([:__meta__, :__struct__])
|> Enum.filter(fn{k, v}-> Ecto.assoc_loaded?(v) && v != nil end)
end
end