Current section
Files
Jump to
Current section
Files
lib/ex_ftx/futures/show.ex
defmodule ExFtx.Futures.Show do
@type future_name :: String.t()
@type future :: ExFtx.Future.t()
@type result :: {:ok, future} | {:error, :parse_result_item}
@spec get(future_name) :: result
def get(future_name) do
"/futures/#{future_name}"
|> ExFtx.HTTPClient.non_auth_get(%{})
|> parse_response()
end
defp parse_response({:ok, %ExFtx.JsonResponse{success: true, result: future}}) do
future
|> Mapail.map_to_struct(ExFtx.Future, transformations: [:snake_case])
|> case do
{:ok, _} = result -> result
_ -> {:error, :parse_result_item}
end
end
end