Current section
Files
Jump to
Current section
Files
lib/object/license.ex
defmodule QuenyaParser.Object.License do
@moduledoc """
License object
"""
use TypedStruct
alias QuenyaParser.Object.License
typedstruct do
@typedoc "License object from the spec"
field(:name, String.t(), enforce: true)
field(:identifier, String.t(), default: "")
field(:url, String.t(), default: "")
end
def new(nil), do: nil
def new(data) when is_map(data) do
%License {
name: data["name"],
identifier: data["identifier"],
url: data["url"]
}
end
def new(data), do: raise "Not a valid license object. Data: #{inspect(data)}"
end