Current section

8 Versions

Jump to

Compare versions

3 files changed
+14 additions
-9 deletions
  @@ -232,4 +232,4 @@
232 232 {<<"optional">>,true},
233 233 {<<"repository">>,<<"hexpm">>},
234 234 {<<"requirement">>,<<"~> 1.0">>}]]}.
235 - {<<"version">>,<<"0.13.0">>}.
235 + {<<"version">>,<<"0.13.1">>}.
  @@ -21,13 +21,18 @@ defmodule NomadClient.Deserializer do
21 21 end
22 22
23 23 def deserialize(model, field, :map, mod, options) do
24 - model
25 - |> Map.update!(
26 - field,
27 - &Map.new(&1, fn {key, val} ->
28 - {key, Poison.Decode.decode(val, Keyword.merge(options, as: struct(mod)))}
29 - end)
30 - )
24 + maybe_transform_map = fn
25 + nil ->
26 + nil
27 +
28 + existing_value ->
29 + Map.new(existing_value, fn
30 + {key, val} ->
31 + {key, Poison.Decode.decode(val, Keyword.merge(options, as: struct(mod)))}
32 + end)
33 + end
34 +
35 + Map.update!(model, field, maybe_transform_map)
31 36 end
32 37
33 38 def deserialize(model, field, :date, _, _options) do
  @@ -2,7 +2,7 @@ defmodule NomadClient.Mixfile do
2 2 use Mix.Project
3 3
4 4 @source_url "https://github.com/mrmstn/nomad_client"
5 - @version "0.13.0"
5 + @version "0.13.1"
6 6 def project do
7 7 [
8 8 app: :nomad_client,