Option - Single

Setup

defmodule Foo do
  use(Mazurka.Resource)

  option(foo)

  mediatype(Hyper) do
    action() do
      %{"foo" => foo}
    end
  end
end

action

{body, content_type, _} = Foo.action([], %{}, %{}, %{}, nil, %{foo: "123"})
%{"foo" => "123"} == body
{"application", "json", %{}} = content_type

action missing param

{body, _, _} = Foo.action([], %{}, %{}, %{})
%{"foo" => nil} = body