View Source Rivet.Loader behaviour (rivet v2.4.2)

Summary

Callbacks

@callback load_data(meta :: Rivet.Loader.State.t(), data :: map()) ::
  {:ok | :error, meta :: Rivet.Loader.State.t()}
Link to this callback

load_deferred(meta, data)

View Source (optional)
@callback load_deferred(meta :: Rivet.Loader.State.t(), data :: map()) ::
  {:ok | :error, meta :: Rivet.Loader.State.t()}

Functions

@spec load_data(
  {:ok, docs :: list()} | {:error, msg :: binary()},
  state :: Rivet.Loader.State.t()
) ::
  {:ok | :error, state :: Rivet.Loader.State.t()}
Link to this function

load_data_items(pass, arg2)

View Source
Link to this function

load_deferred(pass, arg2)

View Source
Link to this function

load_file(fname, opts \\ [])

View Source
Link to this function

load_or_die(fname, opts \\ [])

View Source
Link to this function

load_print_log(fname, opts \\ [])

View Source
Link to this function

match_limits?(state, map)

View Source

If limits are given, it's a key:value dict. Rules:

  • If key does NOT exist in the doc, then it's evaluated true
  • If the key DOES exist, then the value must match to be true
  • If no limits, everything is true

iex> alias Rivet.Loader.State iex> match_limits?(%State{limits: nil}, nil) true iex> match_limits?(%State{limits: %{env: "red"}}, %{env: "red"}) true iex> match_limits?(%State{limits: %{env: "red"}}, %{env: "not red"}) false iex> match_limits?(%State{limits: %{env: "red"}}, %{narf: "narf"}) true iex> match_limits?(%State{limits: %{env: "red"}}, %{env: ["narf"]}) false iex> match_limits?(%State{limits: %{env: "red"}}, %{env: ["narf", "red"]}) true iex> match_limits?(%State{limits: %{env: ["red", "white", "blue"]}}, %{env: "red"}) true iex> match_limits?(%State{limits: %{env: ["red", "white", "blue"]}}, %{env: ["red", "blue"]}) true iex> match_limits?(%State{limits: %{env: ["red", "white", "blue"]}}, %{}) true iex> match_limits?(%State{limits: %{env: ["red", "white", "blue"]}}, %{env: "purple"}) false iex> match_limits?(%State{limits: %{env: ["red", "white", "blue"]}}, %{env: ["green"]}) false