lib/weaviate_structs/node.ex
defmodule Noizu.Weaviate.Struct.Node do
defstruct name: nil, status: nil, version: nil, gitHash: nil, stats: %{}
def from_json(json) when is_list(json) do
Enum.map(json, & from_json(&1))
end
def from_json(nil), do: nil
def from_json(%{nodes: nodes}) when is_list(nodes) do
Enum.map(nodes, &from_json/1)
end
def from_json(%{} = json) do
%__MODULE__{
name: json[:name],
status: json[:status],
version: json[:version],
gitHash: json[:gitHash],
stats: json[:stats]
}
end
end