Current section
Files
Jump to
Current section
Files
lib/context.ex
defmodule Z.Context do
@moduledoc """
The Context struct
"""
defstruct parent: nil, path: ["."]
@type t :: %Z.Context{
parent: Z.Context.t(),
path: [String.t()]
}
def new(path_segment, parent \\ nil) do
%Z.Context{
parent: parent,
path: path(path_segment, parent)
}
end
defp path(path_segment, nil) do
[path_segment]
end
defp path(path_segment, parent) do
[path_segment | parent.path]
end
end