MichaelDrogalis / dire

Erlang-style supervisor error handling for Clojure
482 stars 20 forks source link

Args with postconditions #35

Open neverfox opened 8 years ago

neverfox commented 8 years ago

The examples in the docs imply that postcondition handlers will receive args, but that doesn't seem to be the case:

(defn add-one [n]
  (inc n))

(with-postcondition! #'add-one
                     "An optional docstring."
                     ;;; Name of the postcondition
                     :not-two
                     (fn [n & args]
                       (println args)
                       (not= n 2)))

(with-handler! #'add-one
               {:postcondition :not-two}
               (fn [e result] (str "Postcondition failed for result: " result)))

(add-one 1)
nil
=> "Postcondition failed for result: 2"

Also the downstream with-handler! handler doesn't get them either, in this case.