Current section
Files
Jump to
Current section
Files
lib/api/structs/nullable_collaborator.ex
# Generated by `mix github.gen` from docs/github-api/api.github.com.json.
# Do not edit by hand; re-run the task instead.
defmodule Noizu.Github.NullableCollaborator do
@moduledoc false
defstruct [
:avatar_url,
:email,
:events_url,
:followers_url,
:following_url,
:gists_url,
:gravatar_id,
:html_url,
:id,
:login,
:name,
:node_id,
:organizations_url,
:permissions,
:received_events_url,
:repos_url,
:role_name,
:site_admin,
:starred_url,
:subscriptions_url,
:type,
:url,
:user_view_type
]
def from_json(json, headers \\ [])
def from_json(nil, _headers), do: nil
def from_json(list, headers) when is_list(list) do
Enum.map(list, &from_json(&1, headers))
end
def from_json(json, _headers) when is_map(json) do
%__MODULE__{
avatar_url: Map.get(json, :avatar_url),
email: Map.get(json, :email),
events_url: Map.get(json, :events_url),
followers_url: Map.get(json, :followers_url),
following_url: Map.get(json, :following_url),
gists_url: Map.get(json, :gists_url),
gravatar_id: Map.get(json, :gravatar_id),
html_url: Map.get(json, :html_url),
id: Map.get(json, :id),
login: Map.get(json, :login),
name: Map.get(json, :name),
node_id: Map.get(json, :node_id),
organizations_url: Map.get(json, :organizations_url),
permissions: Map.get(json, :permissions),
received_events_url: Map.get(json, :received_events_url),
repos_url: Map.get(json, :repos_url),
role_name: Map.get(json, :role_name),
site_admin: Map.get(json, :site_admin),
starred_url: Map.get(json, :starred_url),
subscriptions_url: Map.get(json, :subscriptions_url),
type: Map.get(json, :type),
url: Map.get(json, :url),
user_view_type: Map.get(json, :user_view_type)
}
end
def from_json(other, _headers), do: other
end