Packages

Pure Elixir wrapper for the Figure Eight API

Current section

3 Versions

Jump to

Compare versions

4 files changed
+11 additions
-9 deletions
  @@ -33,4 +33,4 @@
33 33 {<<"optional">>,false},
34 34 {<<"repository">>,<<"hexpm">>},
35 35 {<<"requirement">>,<<"~> 1.6">>}]]}.
36 - {<<"version">>,<<"2.0.0-rc0">>}.
36 + {<<"version">>,<<"2.0.0-rc1">>}.
  @@ -69,12 +69,8 @@ defmodule FigureEight.Endpoint do
69 69 |> Request.append_response(response)
70 70 |> evaluate()
71 71 else
72 - {
73 - 200,
74 - request
75 - |> Request.append_response(response)
76 - |> evaluate()
77 - }
72 + request
73 + |> Request.append_response(response)
78 74 end
79 75
80 76 {:error, _} = response ->
  @@ -120,6 +116,10 @@ defmodule FigureEight.Endpoint do
120 116 |> Logger.info()
121 117 end
122 118
119 + # defp decode(%Request{module: mod, response: resp, status: 200} = req) when not is_nil(resp) and is_list(resp) do
120 + # %Request{req | response: Enum.map(resp, fn entry -> apply(mod, :cast, [entry]) end)}
121 + # end
122 +
123 123 defp decode(%Request{module: mod, response: resp, status: 200} = req) when not is_nil(resp) do
124 124 %Request{req | response: apply(mod, :cast, [resp])}
125 125 end
  @@ -2,6 +2,7 @@ defmodule FigureEight.Unit do
2 2 @behaviour FigureEight.Utils.Entity
3 3 import FigureEight.Utils.Entity, only: [from_iso8601: 1]
4 4 alias FigureEight.Utils.Request
5 + alias FigureEight.Judgement
5 6
6 7 defstruct [
7 8 :agreement,
  @@ -27,6 +28,7 @@ defmodule FigureEight.Unit do
27 28 {:ok, judgments_count} <- Map.fetch(response, "judgments_count"),
28 29 {:ok, missed_count} <- Map.fetch(response, "missed_count"),
29 30 {:ok, results} <- Map.fetch(response, "results"),
31 + {:ok, judgements} <- Map.fetch(results, "judgments"),
30 32 {:ok, state} <- Map.fetch(response, "state"),
31 33 {:ok, updated_at} <- Map.fetch(response, "updated_at") do
32 34 %__MODULE__{
  @@ -38,7 +40,7 @@ defmodule FigureEight.Unit do
38 40 job_id: job_id,
39 41 judgments_count: judgments_count,
40 42 missed_count: missed_count,
41 - results: results,
43 + results: %{judgements: Enum.map(judgements, &Judgement.cast/1)},
42 44 state: state,
43 45 updated_at: from_iso8601(updated_at)
44 46 }
  @@ -4,7 +4,7 @@ defmodule FigureEight.MixProject do
4 4 def project do
5 5 [
6 6 app: :figure_eight,
7 - version: "2.0.0-rc0",
7 + version: "2.0.0-rc1",
8 8 elixir: "~> 1.6",
9 9 start_permanent: Mix.env() == :prod,
10 10 description: description(),