Macros are tricky business; from a quick peek at this, I'm not sure
exactly what's going wrong. My first guess would be that you're
passing an evaluated schema where a form that produces a schema would
typically be expected, but I'm not sure (and I'm not sure how you
would best work around that).
I can think of two simpler options that don't involve macros, however
(although I understand they may be less than ideal).:
1. Define schematized functions that call your protocol methods, and
call those everywhere (considering the protocol to be an
implementation detail). That way the schemas apply regardless of
which protocol implementation you use.
2. Manually validate the input and output schemas in your test
versions using s/validate. You could also change your implementation
of copy-schema to do this, which should be much easier to get right
than trying to emit another schema macro declaration inside.
Best,
Jason
> --
> You received this message because you are subscribed to the Google Groups
> "Plumbing and Graph: the Clojure utility belt" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
prismatic-plumb...@googlegroups.com.
> For more options, visit
https://groups.google.com/d/optout.