Introduce a to_upper_snake_case() helper to properly convert enum names
to GraphQL compatible names.
Previously, "SomeEnum" would be converted to "SOMEENUM" and not
"SOME_ENUM".
* Extend derive for enums to allow deriving inside the juniper crate
itself. Note: this is a rather ugly hack right now, FIXME is in the
code
* Remove the graphql_enum! macro and replace all internal use with
derive
* Refactor introspection tests to use derive
Description attribute was available, but not actually used for derive
Object, InputObject and enum and the fields on input object.
Description is now properly set in each of those cases.
Also, tests for all three derives now properly verify the meta
information (name and description) for the derived GraphQLType.
This adds a simple derive for objects that implements GraphQLType for
structs which do not require any manual resolvers.
This could be extended in the future to provide a custom resolver
function via an attribute.
Also adds an integration test.