Why a session cannot be held.
Every infeasible result carries reasons, and the struct cannot be built without them — an empty explanation is a defect, not a degraded answer. "No arrangement found" tells a user nothing they can act on; "the Boardroom qualifies but is allocated to the Board meeting all week" tells them who to ask.
Summary
Types
Functions
The failure as a sentence.
Arguments
reasonis at/0.
Returns
- a sentence naming the session and every reason.
Examples
iex> reason = Agenda.Infeasible.new("Review", ["no room seats 8", "Alice is away"])
iex> Agenda.Infeasible.message(reason)
"Review cannot be held: no room seats 8; Alice is away"
Build an infeasible result.
Arguments
sessionis the session's name.reasonsis a non-empty list of phrases explaining the failure.
Returns
- a
t/0.
Examples
iex> reason = Agenda.Infeasible.new("Review", ["no room seats 8"])
iex> reason.reasons
["no room seats 8"]