Current section
Files
Jump to
Current section
Files
lib/core/da/async_event_bus.ex
defmodule DA.AsyncEventBus do
@moduledoc false
@base "/priv/templates/adapters/async_event_bus/"
def actions() do
%{
create: %{
"lib/driven_adapters/async_messages/async_messages.ex" => @base <> "async_messages.ex",
"lib/config/message_runtime_config.ex" => @base <> "message_runtime_config.ex"
},
transformations: [
{:inject_dependency, ~s|{:reactive_commons, "~> 0.7.1"}|},
{:append_end, "config/dev.exs", @base <> "config_to_append.ex"},
{:append_end, "config/test.exs", @base <> "config_to_append.ex"},
{:append_end, "config/prod.exs", @base <> "config_to_append.ex"},
{
:insert_after,
"lib/config/app_config.ex",
"\n\s\s\s\s\s:exchange,",
regex: ~r{defstruct(\s)+\[}
},
{
:insert_after,
"lib/config/app_config.ex",
"\n\s\s\s\s\s\s\sexchange: load(:exchange),",
regex: ~r{%__MODULE__{}
},
{
:insert_after,
"lib/application.ex",
"\n\t\t\tMessageRuntimeConfig,",
regex: ~r/_other_env\)(\s)+do(\s)+\[(\s)+{ConfigHolder,(\s)+AppConfig.load_config\(\)},/
},
{
:insert_after,
"lib/application.ex",
"alias {app}.Config.MessageRuntimeConfig\n ",
regex: ~r{Application(\s)+do(\s)+}
}
]
}
end
def tokens(_opts) do
[]
end
end