defmodule GitHub.DiffEntry do
@moduledoc """
Provides struct and type for a DiffEntry
"""
use GitHub.Encoder
@type t :: %__MODULE__{
__info__: map,
additions: integer,
blob_url: String.t(),
changes: integer,
contents_url: String.t(),
deletions: integer,
filename: String.t(),
patch: String.t() | nil,
previous_filename: String.t() | nil,
raw_url: String.t(),
sha: String.t(),
status: String.t()
}
defstruct [
:__info__,
:additions,
:blob_url,
:changes,
:contents_url,
:deletions,
:filename,
:patch,
:previous_filename,
:raw_url,
:sha,
:status
]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
additions: :integer,
blob_url: {:string, :uri},
changes: :integer,
contents_url: {:string, :uri},
deletions: :integer,
filename: {:string, :generic},
patch: {:string, :generic},
previous_filename: {:string, :generic},
raw_url: {:string, :uri},
sha: {:string, :generic},
status:
{:enum, ["added", "removed", "modified", "renamed", "copied", "changed", "unchanged"]}
]
end
end