Browse Source

Add method to set event handler.

Roberto Ostinelli 3 years ago
parent
commit
e55d14004f
3 changed files with 9 additions and 4 deletions
  1. 5 0
      src/syn.erl
  2. 3 3
      src/syn_sup.erl
  3. 1 1
      test/syn_test_suite_helper.erl

+ 5 - 0
src/syn.erl

@@ -28,6 +28,7 @@
 %% API
 -export([start/0, stop/0]).
 -export([get_node_scopes/0, add_node_to_scope/1, add_node_to_scopes/1]).
+-export([set_event_handler/1]).
 -export([lookup/1, lookup/2]).
 -export([register/2, register/3, register/4]).
 -export([unregister/1, unregister/2]).
@@ -62,6 +63,10 @@ add_node_to_scopes(Scopes) ->
         syn_sup:add_node_to_scope(Scope)
     end, Scopes).
 
+-spec set_event_handler(module()) -> ok.
+set_event_handler(Module) ->
+    application:set_env(syn, event_handler, Module).
+
 %% ----- \/ registry -------------------------------------------------
 -spec lookup(Name :: any()) -> {pid(), Meta :: any()} | undefined.
 lookup(Name) ->

+ 3 - 3
src/syn_sup.erl

@@ -43,7 +43,7 @@ start_link() ->
 -spec get_node_scopes() -> [atom()].
 get_node_scopes() ->
     %% always have a default scope for all nodes
-    case application:get_env(syn, syn_custom_scopes) of
+    case application:get_env(syn, custom_scopes) of
         undefined -> [default];
         {ok, Scopes} -> [default] ++ maps:keys(Scopes)
     end.
@@ -52,12 +52,12 @@ get_node_scopes() ->
 add_node_to_scope(Scope) ->
     error_logger:info_msg("SYN[~s] Adding node to scope '~s'", [node(), Scope]),
     %% save to ENV (failsafe if sup is restarted)
-    CustomScopes0 = case application:get_env(syn, syn_custom_scopes) of
+    CustomScopes0 = case application:get_env(syn, custom_scopes) of
         undefined -> #{};
         {ok, Scopes} -> Scopes
     end,
     CustomScopes = CustomScopes0#{Scope => #{}},
-    application:set_env(syn, syn_custom_scopes, CustomScopes),
+    application:set_env(syn, custom_scopes, CustomScopes),
     %% start child
     supervisor:start_child(?MODULE, child_spec(Scope)),
     ok.

+ 1 - 1
test/syn_test_suite_helper.erl

@@ -67,7 +67,7 @@ disconnect_node(Node) ->
     erlang:disconnect_node(Node).
 
 use_custom_handler() ->
-    application:set_env(syn, event_handler, syn_test_event_handler).
+    syn:set_event_handler(syn_test_event_handler).
 
 clean_after_test() ->
     Nodes = [node() | nodes()],