changed hex_metadata.config
 
@@ -34,4 +34,4 @@
34
34
{<<"optional">>,false},
35
35
{<<"repository">>,<<"hexpm">>},
36
36
{<<"requirement">>,<<"~> 2.0.2">>}]]}.
37
- {<<"version">>,<<"1.1.0">>}.
37
+ {<<"version">>,<<"1.1.1">>}.
changed lib/cereal/builders/entity.ex
 
@@ -27,15 +27,18 @@ defmodule Cereal.Builders.Entity do
27
27
28
28
# if an assigns/2 function was specified in the serializer - we'll add its
29
29
# return value to the conn's assigns
30
- defp do_assigns(%{serializer: serializer, conn: conn} = context) do
30
+ defp do_assigns(%{serializer: serializer, conn: conn, data: data} = context) do
31
+ conn = Map.put_new(conn, :assigns, %{})
31
32
conn =
32
- context.data
33
+ data
33
34
|> serializer.assigns(conn)
34
- |> Enum.reduce(conn, fn {key, value}, acc -> assign(acc, key, value) end)
35
-
36
- Map.put(context, :conn, conn)
35
+ |> Enum.reduce(conn, &do_assign/2)
36
+ %{context | conn: conn}
37
37
end
38
38
39
+ defp do_assign({key, value}, %Plug.Conn{} = acc), do: assign(acc, key, value)
40
+ defp do_assign({key, value}, %{} = acc), do: put_in(acc, [:assigns, key], value)
41
+
39
42
defp attributes(%{serializer: serializer} = context) do
40
43
serializer.attributes(context.data, context.conn)
41
44
|> Enum.map(fn {key, fnc} -> {key, fnc.(context.data, context.conn)} end)
changed mix.exs
 
@@ -1,7 +1,7 @@
1
1
defmodule Cereal.Mixfile do
2
2
use Mix.Project
3
3
4
- @version "1.1.0"
4
+ @version "1.1.1"
5
5
6
6
def project do
7
7
[app: :cereal,