defmodule WabanexWeb.IMCController do use WabanexWeb, :controller alias Wabanex.IMC def index(conn, params) do params |> IMC.calculate() |> handle_response(conn) end def handle_response({:ok, result}, conn), do: render_response(conn, :ok, result) def handle_response({:error, result}, conn), do: render_response(conn, :bad_request, result) defp render_response(conn, status, result) do conn |> put_status(status) |> json(%{result: result}) end end