double negatives are bad

This commit is contained in:
Gered 2015-02-14 20:27:45 -05:00
parent faecfe712d
commit 28377f0ef2

View file

@ -11,13 +11,13 @@
[clj-webtoolbox.routes.core :refer [destructure-route-bindings]] [clj-webtoolbox.routes.core :refer [destructure-route-bindings]]
[clj-webtoolbox.utils :refer [pred-> request?]])) [clj-webtoolbox.utils :refer [pred-> request?]]))
(defn no-errors? [request] (defn has-errors? [request]
(not (seq (:validation-errors request)))) (seq (:validation-errors request)))
(defmacro threaded-checks [request checks fail-response] (defmacro threaded-checks [request checks fail-response]
`(let [result# (pred-> ~request no-errors? ~@checks)] `(let [result# (pred-> ~request #(not (has-errors? %)) ~@checks)]
(if (and (request? result#) (if (and (request? result#)
(not (no-errors? result#))) (has-errors? result#))
(if (response? ~fail-response) (if (response? ~fail-response)
~fail-response ~fail-response
(~fail-response result#)) (~fail-response result#))