Current section
Files
Jump to
Current section
Files
src/redis_worker.erl
-module(redis_worker).
-export([start_link/1]).
start_link(Args) when is_list(Args) ->
start_link(maps:from_list(Args));
start_link(Args) when is_map(Args) ->
M = to_opts(Args),
eredis:start_link(maps:to_list(M)).
to_opts(M) ->
L = [host, port, database, username, password, reconnect_sleep, connect_timeout, socket_options, tls],
M2 = maps:with(L, M),
M3 = remove_undefined(username, M2),
remove_undefined(password, M3).
remove_undefined(K, M) ->
case maps:get(K, M, undefined) of
undefined -> maps:remove(K, M);
<<"undefined">> -> maps:remove(K, M);
"undefined" -> maps:remove(K, M);
_ -> M
end.