]> Entropealabs - wampex_client.git/commitdiff
update handler and version
authorChristopher Coté <chris@entropealabs.com>
Wed, 10 Nov 2021 19:28:05 +0000 (14:28 -0500)
committerChristopher Coté <chris@entropealabs.com>
Wed, 10 Nov 2021 19:28:05 +0000 (14:28 -0500)
lib/client/handler.ex
mix.exs

index 0bf7adb783ff9db22d2a57bf53c1510ebd60c46e..fdff3351726b0832f296cf09df22fc29ba721d77 100644 (file)
@@ -25,9 +25,15 @@ defmodule Wampex.Client.Handler do
         {cn, opts} = Keyword.pop(opts, :client_name)
         state = do_init(opts)
         Client.add(cn, self())
-        {:ok, %{state | client_name: cn}}
+        {:ok, add_client(state, cn)}
       end
 
+      defp add_client(state, cn) when is_struct(state) do
+        struct(state, %{client_name: cn})
+      end
+
+      defp add_client(state, cn), do: %{state | client_name: cn}
+
       @impl true
       def handle_continue({:registered, _}, state), do: {:noreply, state}
 
@@ -86,7 +92,8 @@ defmodule Wampex.Client.Handler do
     quote location: :keep do
       alias Wampex.Roles.Dealer.Invocation
 
-      @procedures [unquote(procedure) | @procedures]
+      procs = Module.get_attribute(__MODULE__, :procedures)
+      Module.put_attribute(__MODULE__, :procedures, [unquote(procedure) | procs])
 
       @impl true
       def handle_info(
@@ -109,7 +116,8 @@ defmodule Wampex.Client.Handler do
       alias Wampex.Client
       alias Wampex.Roles.Broker.Event
 
-      @topics [unquote(topic) | @topics]
+      topics = Module.get_attribute(__MODULE__, :topics)
+      Module.put_attribute(__MODULE__, :topics, [unquote(topic) | topics])
 
       @impl true
       def handle_info(
diff --git a/mix.exs b/mix.exs
index 83959f6ad859095e5c8ef0318b72acd3c71f4790..f7aac8954dd9ef69a14e51ddc64a9d9e6ef6acda 100644 (file)
--- a/mix.exs
+++ b/mix.exs
@@ -4,7 +4,7 @@ defmodule Wampex.Client.MixProject do
   def project do
     [
       app: :wampex_client,
-      version: "0.1.1",
+      version: "0.1.2",
       elixir: "~> 1.9",
       start_permanent: Mix.env() == :prod,
       elixirc_paths: elixirc_paths(Mix.env()),