3 Matching Annotations
- Feb 2021
Make your functions return something meaningful, typed, and safe!
Using a terminus to indicate a certain outcome - in turn - allows for much stronger interfaces across nested activities and less guessing! For example, in the new endpoint gem, the not_found terminus is then wired to a special “404 track” that handles the case of “model not found”. The beautiful thing here is: there is no guessing by inspecting ctx[:model] or the like - the not_found end has only one meaning!
A major improvement here is the ability to maintain more than two explicit termini. In 2.0, you had the success and the failure termini (or “ends” as we used to call them). Now, additional ends such as not_found can be leveraged to communicate a non-binary outcome of your activity or operation.
- state charts
- programming: return values / result objects that communicate a more precise/complete representation of the outcome
- interfaces (programming)
- strong (extreme/great/high/intense degree/level/concentration/amount/quality of)