defmodule GitHub.Key do @moduledoc """ Provides struct and types for Key, KeySimple """ @type simple :: %__MODULE__{id: integer, key: String.t()} @type t :: %__MODULE__{ created_at: String.t(), id: integer, key: String.t(), read_only: boolean, title: String.t(), url: String.t(), verified: boolean } defstruct [:created_at, :id, :key, :read_only, :title, :url, :verified] @doc false @spec __fields__(atom) :: keyword def __fields__(type \\ :t) def __fields__(:simple) do [id: :integer, key: :string] end def __fields__(:t) do [ created_at: :string, id: :integer, key: :string, read_only: :boolean, title: :string, url: :string, verified: :boolean ] end end