The :hub
is the transaction and/or application (more on this later). Each :node
is wrapper around a Hero Formula
responsible for passing the non-boolean values to the :hub
, but it also returns a boolean. Each camel-cased line inside the :node
parentheses is a Hero :formula
and the values in quotes are the return values of a Formula's :step
. Formula.step
is the only thing responsible for changing state.
The following is in Clojure but it should be interpretable from a Ruby perspective; it's the relations that matter here not the syntax.
[:hub ;; begin transaction
( ;; begin set of Nodes
:node-unique-accept