changed to use short version of macros

This commit is contained in:
Guillermo Vaya 2013-09-22 13:10:37 +02:00
parent d495473c54
commit 3f1243f88c

View File

@ -3,16 +3,16 @@
(defmacro route [name path params code] (defmacro route [name path params code]
"Default get request" "Default get request"
(quasiquote (let [[deco ((getattr app "route") (unquote path))]] `(let [[deco ((getattr app "route") ~path)]]
(with-decorator deco (with-decorator deco
(defn (unquote name) (unquote params) (unquote-splice code)))))) (defn ~name ~params ~@code))))
(defmacro route-with-methods [name path params code methods] (defmacro route-with-methods [name path params code methods]
"Same as route but with an extra methods array to specify HTTP methods" "Same as route but with an extra methods array to specify HTTP methods"
(quasiquote (let [[deco (kwapply ((getattr app "route") (unquote path)) `(let [[deco (kwapply ((getattr app "route") ~path)
{"methods" (unquote methods)})]] {"methods" ~methods})]]
(with-decorator deco (with-decorator deco
(defn (unquote name) (unquote params) (unquote-splice code)))))) (defn ~name ~params ~@code))))
;; Some macro examples ;; Some macro examples
(defmacro post-route [name path params code] (defmacro post-route [name path params code]