Skip to content

Instantly share code, notes, and snippets.

@rozap
Last active December 3, 2015 05:52
Show Gist options
  • Save rozap/1ab795087c631fa0e582 to your computer and use it in GitHub Desktop.
Save rozap/1ab795087c631fa0e582 to your computer and use it in GitHub Desktop.
defimpl Poison.Encoder, for: Usic.User do
  @attributes ~W(id email inserted_at updated_at)a

  def encode(song, _options) do
    song
    |> Map.take(@attributes)
    |> Poison.encode!
  end
end
00:47:26.460 [error] GenServer #PID<0.276.0> terminating
** (Poison.EncodeError) unable to encode value: {nil, "user"}
    (poison) lib/poison/encoder.ex:339: Poison.Encoder.Any.encode/2
    (poison) lib/poison/encoder.ex:213: anonymous fn/4 in Poison.Encoder.Map.encode/3
    (poison) lib/poison/encoder.ex:214: Poison.Encoder.Map."-encode/3-lists^foldl/2-0-"/3
    (poison) lib/poison/encoder.ex:214: Poison.Encoder.Map.encode/3
    (poison) lib/poison/encoder.ex:213: anonymous fn/4 in Poison.Encoder.Map.encode/3
    (poison) lib/poison/encoder.ex:214: Poison.Encoder.Map."-encode/3-lists^foldl/2-0-"/3
    (poison) lib/poison/encoder.ex:214: Poison.Encoder.Map.encode/3
    (poison) lib/poison/encoder.ex:213: anonymous fn/4 in Poison.Encoder.Map.encode/3
    (poison) lib/poison/encoder.ex:214: Poison.Encoder.Map."-encode/3-lists^foldl/2-0-"/3
    (poison) lib/poison/encoder.ex:214: Poison.Encoder.Map.encode/3
    (poison) lib/poison/encoder.ex:213: anonymous fn/4 in Poison.Encoder.Map.encode/3
    (poison) lib/poison/encoder.ex:214: Poison.Encoder.Map."-encode/3-lists^foldl/2-0-"/3
    (poison) lib/poison/encoder.ex:214: Poison.Encoder.Map.encode/3
    (poison) lib/poison.ex:41: Poison.encode!/2
    (phoenix) lib/phoenix/transports/websocket_serializer.ex:25: Phoenix.Transports.WebSocketSerializer.encode!/1
    (phoenix) lib/phoenix/channel/server.ex:283: Phoenix.Channel.Server.handle_reply/3
    (phoenix) lib/phoenix/channel/server.ex:235: Phoenix.Channel.Server.handle_result/2
    (stdlib) gen_server.erl:615: :gen_server.try_dispatch/4
    (stdlib) gen_server.erl:681: :gen_server.handle_msg/5
    (stdlib) proc_lib.erl:239: :proc_lib.init_p_do_apply/3
00:47:27.491 [info] JOIN session to Usic.PersistenceChannel
  Transport:  Phoenix.Transports.WebSocket
  Parameters: %{}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment