Current section

Files

Jump to
maru_entity lib maru entity struct exposure.ex
Raw

lib/maru/entity/struct/exposure.ex

defmodule Maru.Entity.Struct.Exposure do
@moduledoc false
@type t :: %__MODULE__{
runtime: Maru.Entity.Struct.Exposure.Runtime.t,
information: Maru.Entity.Struct.Exposure.Information.t,
}
defstruct runtime: nil, information: nil
end
defmodule Maru.Entity.Struct.Exposure.Runtime do
@moduledoc false
@type t :: %__MODULE__{
attr_group: list(atom),
if_func: (Maru.Entity.instance, Keyword.t -> boolean),
do_func: (Maru.Entity.instance, Keyword.t -> any),
serializer: Maru.Entity.Struct.Serializer.t | nil,
}
defstruct attr_group: nil,
if_func: nil,
do_func: nil,
serializer: nil
end
defmodule Maru.Entity.Struct.Exposure.Information do
@moduledoc false
@type t :: %__MODULE__{
attr_group: list(atom),
}
defstruct attr_group: nil
end
defmodule Maru.Entity.Struct.Serializer do
@moduledoc false
@type t :: %__MODULE__{
module: module,
type: Maru.Entity.one_or_many,
options: Keyword.t,
}
defstruct module: nil,
type: nil,
options: nil
end
defmodule Maru.Entity.Struct.Instance do
@moduledoc false
@type t :: %__MODULE__{
data: Maru.Entity.object,
links: list({atom | String.t, Maru.Entity.one_or_many, Maru.Entity.Runtime.id}),
}
defstruct data: %{},
links: []
end
defmodule Maru.Entity.Struct.Batch do
@moduledoc false
@type t :: %__MODULE__{
module: module,
key: atom | String.t,
}
defstruct module: nil,
key: nil
end