Cómo escribir cast decode JSON como si viniera de la base de datos

Al cargar tipos de fecha / hora de la base de datos, Ecto convertirá a un tipo Ecto.DateTime. ¿Cómo se puede aplicar el mismo tipo de conversión al cargar un modelo desde una cadena JSON?

defmodule Rocket.User do
  use Rocket.Model

  schema "users" do
    field :created_at, :datetime
    field :name, :string
    field :email, :string
    field :password, :string
    field :timezone, :string
  end
end

iex(40)> Poison.decode!(~s({"created_at":"2015-01-21T06:05:10.891Z"}), as: Rocket.User)  
%Rocket.User{created_at: "2015-01-21T06:05:10.891Z", email: nil, id: nil,
 name: nil, password: nil, timezone: nil}

Respuestas a la pregunta(1)

Su respuesta a la pregunta