defmodule GitHub.PullRequest.Links do
@moduledoc """
Provides struct and types for a PullRequest.Links
"""
use GitHub.Encoder
@type simple :: %__MODULE__{
__info__: map,
comments: GitHub.Link.t(),
commits: GitHub.Link.t(),
html: GitHub.Link.t(),
issue: GitHub.Link.t(),
review_comment: GitHub.Link.t(),
review_comments: GitHub.Link.t(),
self: GitHub.Link.t(),
statuses: GitHub.Link.t()
}
@type t :: %__MODULE__{
__info__: map,
comments: GitHub.Link.t(),
commits: GitHub.Link.t(),
html: GitHub.Link.t(),
issue: GitHub.Link.t(),
review_comment: GitHub.Link.t(),
review_comments: GitHub.Link.t(),
self: GitHub.Link.t(),
statuses: GitHub.Link.t()
}
defstruct [
:__info__,
:comments,
:commits,
:html,
:issue,
:review_comment,
:review_comments,
:self,
:statuses
]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:simple) do
[
comments: {GitHub.Link, :t},
commits: {GitHub.Link, :t},
html: {GitHub.Link, :t},
issue: {GitHub.Link, :t},
review_comment: {GitHub.Link, :t},
review_comments: {GitHub.Link, :t},
self: {GitHub.Link, :t},
statuses: {GitHub.Link, :t}
]
end
def __fields__(:t) do
[
comments: {GitHub.Link, :t},
commits: {GitHub.Link, :t},
html: {GitHub.Link, :t},
issue: {GitHub.Link, :t},
review_comment: {GitHub.Link, :t},
review_comments: {GitHub.Link, :t},
self: {GitHub.Link, :t},
statuses: {GitHub.Link, :t}
]
end
end