yuki24 / artemis

Ruby GraphQL client on Rails that actually makes you more productive
MIT License
207 stars 14 forks source link

do not transform keys of query variables #48

Closed erikdstock closed 5 years ago

erikdstock commented 5 years ago

resolves #46

This was a simple change but difficult to test- I made a new query with a snake-cased variable but it failed to construct the client due to not matching the Metaphysics schema. I could just make a tiny schema by hand or stub some internal method, but maybe it's not necessary to test this right now.

Also wondering: Where does Client#compile_query_method! get called? I can't find any reference to its code anywhere.

yuki24 commented 5 years ago

This Looks great, thanks for working on that! This is technically a small breaking change, so I'll look to see if there's any way to add a type check so this change won't be surprizing.

yuki24 commented 5 years ago

The usage of the Client#compile_query_method! method was removed on 6ce3355e621df1ced7d0add7fb4dc7c54991e26f so query methods can be overriden using super (like we did in Volt), but I left it there because I wasn't sure how much that pattern would be useful. Happy to remove the unused Client#compile_query_method! though for now.

yuki24 commented 5 years ago

I've spiked on client-side validation for variables, but it may be too strict as the server may backfill missing arguments. The server will return an error if there's anything missing, so I'm not super concerned about the incompatibility. Thanks!