1
0
mirror of https://github.com/algora-io/tv.git synced 2025-03-17 20:17:45 +02:00
2024-06-21 17:43:32 +03:00

42 lines
795 B
Elixir

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