elixir-sparkpost icon indicating copy to clipboard operation
elixir-sparkpost copied to clipboard

More idiomatic response tuples

Open karlseguin opened this issue 8 years ago • 1 comments

It'd be nice if functions returned {:error, X} and {:ok, Y}. It results in more elegant client code that doesn't have to match against specific structures.

def(%Transmission.Response{id: id), do: ...

vs

def({:ok, %{id: id}}), do: ...

Same same with case and with

karlseguin avatar Dec 19 '16 08:12 karlseguin

Thanks for this @karlseguin and sorry for the long latency. This is obviously a breaking change for existing modules, although we do have the beginnings of this in the suppression list module @asgoel very kindly contributed. I suspected at design time that there might be API responses which didn't map cleanly to :ok or :error too and haven't yet bottomed out how to handle those. Will label this for the next major version bump nonetheless.

ewandennis avatar Apr 20 '17 13:04 ewandennis