Current section
Files
Jump to
Current section
Files
lib/event_queues.ex
defmodule EventQueues do
@moduledoc false
def queue do
quote do
use EventQueues.Queue
end
end
def handler(subscribe) do
quote do
use EventQueues.Handler, subscribe: unquote(subscribe)
end
end
defmacro __using__(opts \\ []) do
key = Keyword.get opts, :type, :queue
subscribe = Keyword.get opts, :subscribe
case key do
:queue -> queue()
:handler -> handler(subscribe)
end
end
end