Swoosh.Adapters.AmazonSES,
Swoosh.Adapters.Dyn,
Swoosh.Adapters.SocketLabs,
- Swoosh.Adapters.Gmail
+ Swoosh.Adapters.Gmail,
+ Swoosh.Adapters.Local
]
},
%{
}
]
},
+ %{
+ group: :swoosh,
+ type: :group,
+ description: "`Swoosh.Adapters.Local` adapter specific settings",
+ children: [
+ %{
+ group: {:subgroup, Swoosh.Adapters.Local},
+ key: :serve_mailbox,
+ type: :boolean,
+ description: "Run the preview server together as part of your app"
+ },
+ %{
+ group: {:subgroup, Swoosh.Adapters.Local},
+ key: :preview_port,
+ type: :integer,
+ description: "The preview server port",
+ suggestions: [4001]
+ }
+ ]
+ },
%{
group: :pleroma,
key: :uri_schemes,
entity
|> Map.put(:suggestions, format_suggestions(suggestions))
|> format_key()
+ |> format_group()
|> format_children()
end
defp format_child(entity) do
entity
|> format_key()
+ |> format_group()
|> format_children()
end
+ defp format_group(%{group: group} = entity) do
+ Map.put(entity, :group, format_suggestion(group))
+ end
+
+ defp format_group(entity), do: entity
+
defp atom_to_string(entity) when is_binary(entity), do: entity
defp atom_to_string(entity) when is_atom(entity), do: inspect(entity)
child = Enum.at(children, 7)
assert child[:key] == "application/xml"
end
+
+ test "subgroup with module name" do
+ [%{children: children} | _] = Generator.convert_to_strings(@descriptions)
+
+ %{group: subgroup} = Enum.at(children, 6)
+ assert subgroup == {":subgroup", "Swoosh.Adapters.SMTP"}
+ end
end
end