defmodule GitHub.Release do @moduledoc """ Provides struct and type for Release """ @type t :: %__MODULE__{ assets: [GitHub.Release.Asset.t()], assets_url: String.t(), author: GitHub.User.simple(), body: String.t() | nil, body_html: String.t() | nil, body_text: String.t() | nil, created_at: String.t(), discussion_url: String.t() | nil, draft: boolean, html_url: String.t(), id: integer, mentions_count: integer | nil, name: String.t() | nil, node_id: String.t(), prerelease: boolean, published_at: String.t() | nil, reactions: GitHub.Reaction.Rollup.t() | nil, tag_name: String.t(), tarball_url: String.t() | nil, target_commitish: String.t(), upload_url: String.t(), url: String.t(), zipball_url: String.t() | nil } defstruct [ :assets, :assets_url, :author, :body, :body_html, :body_text, :created_at, :discussion_url, :draft, :html_url, :id, :mentions_count, :name, :node_id, :prerelease, :published_at, :reactions, :tag_name, :tarball_url, :target_commitish, :upload_url, :url, :zipball_url ] @doc false @spec __fields__(atom) :: keyword def __fields__(type \\ :t) def __fields__(:t) do [ assets: {:array, {GitHub.Release.Asset, :t}}, assets_url: :string, author: {GitHub.User, :simple}, body: :string, body_html: :string, body_text: :string, created_at: :string, discussion_url: :string, draft: :boolean, html_url: :string, id: :integer, mentions_count: :integer, name: :string, node_id: :string, prerelease: :boolean, published_at: :string, reactions: {GitHub.Reaction.Rollup, :t}, tag_name: :string, tarball_url: :string, target_commitish: :string, upload_url: :string, url: :string, zipball_url: :string ] end end