arkgil/optium

Return information about all missing required keys at once

Closed this issue · 1 comments

Right now we only return information about one missing required key.

Current behaviour:

iex> schema = %{port: [required: true], address: [required: true]}
iex> {:error, %Optium.OptionMissingError{key: :port} = exception} = Optium.parse([], schema)
iex> Exception.message(exception)
"option :port is required"

Desired behaviour:

iex> schema = %{port: [required: true], address: [required: true]}
iex> {:error, %Optium.OptionMissingError{keys: [:port, :address]} = exception} = Optium.parse([], schema)
iex> Exception.message(exception)
"options :port and :address are required"

Closed with be7e6a3