Thanks Tobias. The complete macro body is now:
(let [{:keys [hierarchy-key
cascade-keys
define-command-schema
defined-event-schema
define-command-key
defined-event-key]} (default-options aggregate)]
`(do
(schema.core/defn ~(with-meta (symbol "create") {:always-validate
true}) :-
[~defined-event-schema]
[detail# :- (:detail ~define-command-schema)]
(let [ar# (my.domain.internal.model.common/new-ar detail#)
event# (my.domain.events/event ~defined-event-key
ar#)]
[event#])))
)
Macros hurt my brain ;).
On Friday, 13 March 2015 12:55:50 UTC, Tobias Kortkamp wrote:
>
> > then the error is on the (schema.core/defn) call. But notice the fully
> > qualified 'create' - I want 'create' to be a literal in the namespace of
> > the caller, not the namespace the macro is defined in.
> >
> > Any ideas?
>
> Quote-unquote the symbol: ~'create
>
> Example:
>
> `(defn create []) => (clojure.core/defn user/create [])
> `(defn ~'create []) => (clojure.core/defn create [])
>
>
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.