Current section

Files

Jump to
quenya_parser lib object contact.ex
Raw

lib/object/contact.ex

defmodule QuenyaParser.Object.Contact do
@moduledoc """
License object
"""
use TypedStruct
alias QuenyaParser.Object.Contact
typedstruct do
@typedoc "Contact object from the spec"
field(:name, String.t(), default: "")
field(:url, String.t(), default: "")
field(:email, String.t(), default: "")
end
def new(nil), do: nil
def new(data) when is_map(data) do
%Contact {
name: data["name"],
url: data["url"],
email: data["email"],
}
end
def new(data), do: raise "Not a valid contact object. Data: #{inspect(data)}"
end