defmodule Algora.Env do require Logger use GenServer def start_link(state) do GenServer.start_link(__MODULE__, Map.merge(%{transcode?: false}, Map.new(state)), name: __MODULE__ ) end @impl true def init(state) do {:ok, state} end @impl true def handle_call({:update, values}, _from, state) do {:reply, :ok, state |> Map.merge(Map.new(values))} end @impl true def handle_call(:list, _from, state) do {:reply, state, state} end def handle_call({:get, key}, _from, state) do {:reply, state |> Map.get(key), state} end def list() do GenServer.call(__MODULE__, :list) end def update(values) do GenServer.call(__MODULE__, {:update, values}) end def get(key) do GenServer.call(__MODULE__, {:get, key}) end end