Slide 70
Slide 70 text
CodeEurope 2017
Monoliths to Services with Elixir & Phoenix
def transform(%{} = transformed),
do: Enum.reduce(transformed, %{}, &do_transform/2)
defp do_transform({k, {:date, v}}, acc),
do: Map.put(acc, k, to_ecto_datetime(v))
defp do_transform({k, {:string, v}}, acc),
do: Map.put(acc, k, Kernel.to_string(v))
defp do_transform({k, {:foreign_key, v}}, acc),
do: Map.put(acc, k, String.downcase(Kernel.to_string(v)))
defp do_transform({k, {_, v}}, acc),
do: Map.put(acc, k, v)
defp do_transform({_, _}, _), do: {:err, :no_transformer}