Current section

Files

Jump to
kazan lib kazan codegen apis api_id.ex
Raw

lib/kazan/codegen/apis/api_id.ex

defmodule Kazan.Codegen.Apis.ApiId do
@moduledoc false
# Stores the kind, version & group of a kubernetes resource.
@enforce_keys [:group, :version]
defstruct [:group, :version]
@type t :: %{
group: String.t(),
version: String.t() | nil
}
@spec from_oai_tag(String.t()) :: t
def from_oai_tag(operation_tag) do
{group, version} =
case String.split(operation_tag, "_") do
[group, version] ->
{String.capitalize(group), String.capitalize(version)}
[group] ->
{String.capitalize(group), nil}
end
%__MODULE__{group: group, version: version}
end
end