Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defmacro defstage [stagename & body]
- `(defn ~stagename [~'caller]
- (let [~'trxn (atom [])]
- ~@body
- (forward ~'caller @~'trxn)))
- `(swap! *services* #(assoc % (name '~stagename) ~stagename)))
- (defmacro go [stagename args]
- `(swap! ~'trxn #(conj % [~stagename ~args])))
- (defstage foobar
- (go :ftp {:host "ftp-host"}))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement