rails-graphql 0.2.1 → 1.0.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/console.rb +18 -0
- data/ext/extconf.h +3 -0
- data/ext/extconf.rb +1 -54
- data/ext/gql_parser.c +631 -0
- data/ext/gql_parser.h +21 -0
- data/ext/shared.c +477 -0
- data/ext/shared.h +177 -0
- data/lib/generators/graphql/channel_generator.rb +27 -0
- data/lib/generators/graphql/controller_generator.rb +9 -4
- data/lib/generators/graphql/install_generator.rb +49 -0
- data/lib/generators/graphql/schema_generator.rb +9 -4
- data/lib/generators/graphql/templates/channel.erb +7 -0
- data/lib/generators/graphql/templates/config.rb +97 -0
- data/lib/generators/graphql/templates/controller.erb +2 -0
- data/lib/generators/graphql/templates/schema.erb +5 -3
- data/lib/gql_parser.so +0 -0
- data/lib/rails/graphql/adapters/mysql_adapter.rb +59 -0
- data/lib/rails/graphql/adapters/pg_adapter.rb +25 -22
- data/lib/rails/graphql/adapters/sqlite_adapter.rb +17 -14
- data/lib/rails/graphql/alternative/field_set.rb +48 -0
- data/lib/rails/graphql/alternative/mutation.rb +17 -0
- data/lib/rails/graphql/alternative/query.rb +98 -0
- data/lib/rails/graphql/alternative/subscription.rb +18 -0
- data/lib/rails/graphql/alternative.rb +20 -0
- data/lib/rails/graphql/argument.rb +25 -26
- data/lib/rails/graphql/callback.rb +30 -14
- data/lib/rails/graphql/collectors/hash_collector.rb +26 -7
- data/lib/rails/graphql/collectors/idented_collector.rb +10 -7
- data/lib/rails/graphql/collectors/json_collector.rb +43 -17
- data/lib/rails/graphql/collectors.rb +4 -4
- data/lib/rails/graphql/config.rb +154 -23
- data/lib/rails/graphql/directive/cached_directive.rb +33 -0
- data/lib/rails/graphql/directive/deprecated_directive.rb +10 -10
- data/lib/rails/graphql/directive/include_directive.rb +4 -4
- data/lib/rails/graphql/directive/skip_directive.rb +4 -4
- data/lib/rails/graphql/directive/specified_by_directive.rb +24 -0
- data/lib/rails/graphql/directive.rb +134 -73
- data/lib/rails/graphql/errors.rb +33 -4
- data/lib/rails/graphql/event.rb +21 -9
- data/lib/rails/graphql/field/authorized_field.rb +17 -6
- data/lib/rails/graphql/field/input_field.rb +8 -12
- data/lib/rails/graphql/field/mutation_field.rb +43 -9
- data/lib/rails/graphql/field/output_field.rb +112 -12
- data/lib/rails/graphql/field/proxied_field.rb +35 -26
- data/lib/rails/graphql/field/resolved_field.rb +27 -25
- data/lib/rails/graphql/field/scoped_config.rb +10 -4
- data/lib/rails/graphql/field/subscription_field.rb +123 -0
- data/lib/rails/graphql/field/typed_field.rb +69 -24
- data/lib/rails/graphql/field.rb +89 -74
- data/lib/rails/graphql/global_id.rb +89 -0
- data/lib/rails/graphql/helpers/attribute_delegator.rb +5 -5
- data/lib/rails/graphql/helpers/inherited_collection/array.rb +51 -0
- data/lib/rails/graphql/helpers/inherited_collection/base.rb +45 -0
- data/lib/rails/graphql/helpers/inherited_collection/hash.rb +88 -0
- data/lib/rails/graphql/helpers/inherited_collection.rb +25 -76
- data/lib/rails/graphql/helpers/instantiable.rb +15 -0
- data/lib/rails/graphql/helpers/leaf_from_ar.rb +7 -7
- data/lib/rails/graphql/helpers/registerable.rb +44 -62
- data/lib/rails/graphql/helpers/unregisterable.rb +16 -0
- data/lib/rails/graphql/helpers/with_arguments.rb +33 -28
- data/lib/rails/graphql/helpers/with_assignment.rb +6 -6
- data/lib/rails/graphql/helpers/with_callbacks.rb +28 -11
- data/lib/rails/graphql/helpers/with_description.rb +73 -0
- data/lib/rails/graphql/helpers/with_directives.rb +58 -30
- data/lib/rails/graphql/helpers/with_events.rb +22 -23
- data/lib/rails/graphql/helpers/with_fields.rb +86 -26
- data/lib/rails/graphql/helpers/with_global_id.rb +22 -0
- data/lib/rails/graphql/helpers/with_name.rb +44 -0
- data/lib/rails/graphql/helpers/with_namespace.rb +7 -4
- data/lib/rails/graphql/helpers/with_owner.rb +8 -7
- data/lib/rails/graphql/helpers/with_schema_fields.rb +162 -56
- data/lib/rails/graphql/helpers/with_validator.rb +9 -9
- data/lib/rails/graphql/helpers.rb +10 -3
- data/lib/rails/graphql/introspection.rb +43 -36
- data/lib/rails/graphql/railtie.rb +89 -33
- data/lib/rails/graphql/railties/app/base_channel.rb +10 -0
- data/lib/rails/graphql/railties/app/base_controller.rb +12 -0
- data/lib/rails/graphql/railties/app/views/_cable.js.erb +56 -0
- data/lib/rails/graphql/railties/app/views/_fetch.js.erb +20 -0
- data/lib/rails/graphql/railties/app/views/graphiql.html.erb +101 -0
- data/lib/rails/graphql/railties/base_generator.rb +5 -17
- data/lib/rails/graphql/railties/channel.rb +157 -0
- data/lib/rails/graphql/railties/controller.rb +91 -25
- data/lib/rails/graphql/railties/controller_runtime.rb +5 -5
- data/lib/rails/graphql/railties/log_subscriber.rb +81 -14
- data/lib/rails/graphql/request/arguments.rb +26 -50
- data/lib/rails/graphql/request/backtrace.rb +212 -0
- data/lib/rails/graphql/request/component/field.rb +98 -70
- data/lib/rails/graphql/request/component/fragment.rb +80 -26
- data/lib/rails/graphql/request/component/operation/subscription.rb +162 -4
- data/lib/rails/graphql/request/component/operation.rb +73 -34
- data/lib/rails/graphql/request/component/spread.rb +79 -27
- data/lib/rails/graphql/request/component/typename.rb +28 -13
- data/lib/rails/graphql/request/component.rb +77 -36
- data/lib/rails/graphql/request/context.rb +19 -9
- data/lib/rails/graphql/request/errors.rb +16 -6
- data/lib/rails/graphql/request/event.rb +23 -8
- data/lib/rails/graphql/request/helpers/directives.rb +69 -27
- data/lib/rails/graphql/request/helpers/selection_set.rb +57 -25
- data/lib/rails/graphql/request/helpers/value_writers.rb +24 -19
- data/lib/rails/graphql/request/prepared_data.rb +100 -0
- data/lib/rails/graphql/request/steps/authorizable.rb +24 -14
- data/lib/rails/graphql/request/steps/organizable.rb +111 -49
- data/lib/rails/graphql/request/steps/{prepareable.rb → preparable.rb} +21 -8
- data/lib/rails/graphql/request/steps/{resolveable.rb → resolvable.rb} +16 -7
- data/lib/rails/graphql/request/strategy/cached_strategy.rb +64 -0
- data/lib/rails/graphql/request/strategy/dynamic_instance.rb +6 -6
- data/lib/rails/graphql/request/strategy/multi_query_strategy.rb +6 -13
- data/lib/rails/graphql/request/strategy/sequenced_strategy.rb +9 -9
- data/lib/rails/graphql/request/strategy.rb +147 -77
- data/lib/rails/graphql/request/subscription.rb +82 -0
- data/lib/rails/graphql/request.rb +353 -104
- data/lib/rails/graphql/schema.rb +251 -106
- data/lib/rails/graphql/shortcuts.rb +33 -8
- data/lib/rails/graphql/source/active_record/builders.rb +64 -51
- data/lib/rails/graphql/source/active_record_source.rb +158 -82
- data/lib/rails/graphql/source/base.rb +83 -0
- data/lib/rails/graphql/source/builder.rb +115 -0
- data/lib/rails/graphql/source/scoped_arguments.rb +39 -21
- data/lib/rails/graphql/source.rb +90 -228
- data/lib/rails/graphql/subscription/provider/action_cable.rb +113 -0
- data/lib/rails/graphql/subscription/provider/base.rb +192 -0
- data/lib/rails/graphql/subscription/provider.rb +18 -0
- data/lib/rails/graphql/subscription/store/base.rb +141 -0
- data/lib/rails/graphql/subscription/store/memory.rb +136 -0
- data/lib/rails/graphql/subscription/store.rb +19 -0
- data/lib/rails/graphql/subscription.rb +17 -0
- data/lib/rails/graphql/to_gql.rb +29 -32
- data/lib/rails/graphql/type/creator.rb +196 -0
- data/lib/rails/graphql/type/enum/directive_location_enum.rb +11 -11
- data/lib/rails/graphql/type/enum/type_kind_enum.rb +3 -3
- data/lib/rails/graphql/type/enum.rb +44 -50
- data/lib/rails/graphql/type/input.rb +92 -25
- data/lib/rails/graphql/type/interface.rb +29 -28
- data/lib/rails/graphql/type/object/directive_object.rb +10 -9
- data/lib/rails/graphql/type/object/enum_value_object.rb +3 -3
- data/lib/rails/graphql/type/object/field_object.rb +24 -6
- data/lib/rails/graphql/type/object/input_value_object.rb +6 -7
- data/lib/rails/graphql/type/object/schema_object.rb +5 -8
- data/lib/rails/graphql/type/object/type_object.rb +62 -25
- data/lib/rails/graphql/type/object.rb +34 -26
- data/lib/rails/graphql/type/scalar/any_scalar.rb +30 -0
- data/lib/rails/graphql/type/scalar/bigint_scalar.rb +5 -5
- data/lib/rails/graphql/type/scalar/binary_scalar.rb +5 -3
- data/lib/rails/graphql/type/scalar/boolean_scalar.rb +8 -8
- data/lib/rails/graphql/type/scalar/date_scalar.rb +5 -3
- data/lib/rails/graphql/type/scalar/date_time_scalar.rb +5 -3
- data/lib/rails/graphql/type/scalar/decimal_scalar.rb +5 -3
- data/lib/rails/graphql/type/scalar/float_scalar.rb +5 -5
- data/lib/rails/graphql/type/scalar/id_scalar.rb +6 -5
- data/lib/rails/graphql/type/scalar/int_scalar.rb +6 -5
- data/lib/rails/graphql/type/scalar/json_scalar.rb +41 -0
- data/lib/rails/graphql/type/scalar/string_scalar.rb +18 -4
- data/lib/rails/graphql/type/scalar/time_scalar.rb +8 -6
- data/lib/rails/graphql/type/scalar.rb +26 -23
- data/lib/rails/graphql/type/union.rb +21 -18
- data/lib/rails/graphql/type.rb +43 -26
- data/lib/rails/graphql/type_map.rb +268 -165
- data/lib/rails/graphql/uri.rb +167 -0
- data/lib/rails/graphql/version.rb +19 -3
- data/lib/rails/graphql.rake +3 -0
- data/lib/rails/graphql.rb +91 -56
- data/lib/rails-graphql.rb +1 -1
- data/test/assets/en.yml +29 -0
- data/test/assets/introspection-mem.txt +1 -1
- data/test/assets/introspection.gql +2 -0
- data/test/assets/mem.gql +86 -99
- data/test/assets/mysql.gql +406 -0
- data/test/assets/sqlite.gql +96 -73
- data/test/assets/translate.gql +346 -0
- data/test/config.rb +19 -8
- data/test/graphql/schema_test.rb +14 -50
- data/test/graphql/source_test.rb +8 -85
- data/test/graphql/type/enum_test.rb +207 -203
- data/test/graphql/type/input_test.rb +14 -9
- data/test/graphql/type/interface_test.rb +12 -9
- data/test/graphql/type/object_test.rb +8 -2
- data/test/graphql/type/scalar/any_scalar_test.rb +38 -0
- data/test/graphql/type/scalar/boolean_scalar_test.rb +6 -3
- data/test/graphql/type/scalar/json_scalar_test.rb +23 -0
- data/test/graphql/type_map_test.rb +63 -81
- data/test/graphql/type_test.rb +0 -19
- data/test/graphql_test.rb +1 -1
- data/test/integration/{authorization/authorization_test.rb → authorization_test.rb} +40 -14
- data/test/integration/config.rb +36 -3
- data/test/integration/customization_test.rb +39 -0
- data/test/integration/global_id_test.rb +99 -0
- data/test/integration/memory/star_wars_introspection_test.rb +24 -16
- data/test/integration/memory/star_wars_query_test.rb +54 -3
- data/test/integration/memory/star_wars_validation_test.rb +3 -3
- data/test/integration/mysql/star_wars_introspection_test.rb +25 -0
- data/test/integration/persisted_query_test.rb +87 -0
- data/test/integration/resolver_precedence_test.rb +154 -0
- data/test/integration/schemas/memory.rb +24 -10
- data/test/integration/schemas/mysql.rb +62 -0
- data/test/integration/schemas/sqlite.rb +21 -12
- data/test/integration/sqlite/star_wars_global_id_test.rb +89 -0
- data/test/integration/sqlite/star_wars_introspection_test.rb +10 -0
- data/test/integration/sqlite/star_wars_query_test.rb +14 -1
- data/test/integration/translate_test.rb +73 -0
- data/test/test_ext.rb +16 -13
- metadata +125 -161
- data/ext/depend +0 -3
- data/ext/graphqlparser/Ast.cpp +0 -346
- data/ext/graphqlparser/Ast.h +0 -1214
- data/ext/graphqlparser/AstNode.h +0 -36
- data/ext/graphqlparser/AstVisitor.h +0 -137
- data/ext/graphqlparser/GraphQLParser.cpp +0 -76
- data/ext/graphqlparser/GraphQLParser.h +0 -55
- data/ext/graphqlparser/JsonVisitor.cpp +0 -161
- data/ext/graphqlparser/JsonVisitor.cpp.inc +0 -456
- data/ext/graphqlparser/JsonVisitor.h +0 -121
- data/ext/graphqlparser/JsonVisitor.h.inc +0 -110
- data/ext/graphqlparser/VERSION +0 -1
- data/ext/graphqlparser/c/GraphQLAst.cpp +0 -324
- data/ext/graphqlparser/c/GraphQLAst.h +0 -180
- data/ext/graphqlparser/c/GraphQLAstForEachConcreteType.h +0 -44
- data/ext/graphqlparser/c/GraphQLAstNode.cpp +0 -25
- data/ext/graphqlparser/c/GraphQLAstNode.h +0 -33
- data/ext/graphqlparser/c/GraphQLAstToJSON.cpp +0 -21
- data/ext/graphqlparser/c/GraphQLAstToJSON.h +0 -24
- data/ext/graphqlparser/c/GraphQLAstVisitor.cpp +0 -55
- data/ext/graphqlparser/c/GraphQLAstVisitor.h +0 -53
- data/ext/graphqlparser/c/GraphQLParser.cpp +0 -35
- data/ext/graphqlparser/c/GraphQLParser.h +0 -54
- data/ext/graphqlparser/dump_json_ast.cpp +0 -48
- data/ext/graphqlparser/lexer.lpp +0 -324
- data/ext/graphqlparser/parser.ypp +0 -693
- data/ext/graphqlparser/parsergen/lexer.cpp +0 -2633
- data/ext/graphqlparser/parsergen/lexer.h +0 -528
- data/ext/graphqlparser/parsergen/location.hh +0 -189
- data/ext/graphqlparser/parsergen/parser.tab.cpp +0 -3300
- data/ext/graphqlparser/parsergen/parser.tab.hpp +0 -646
- data/ext/graphqlparser/parsergen/position.hh +0 -179
- data/ext/graphqlparser/parsergen/stack.hh +0 -156
- data/ext/graphqlparser/syntaxdefs.h +0 -19
- data/ext/libgraphqlparser/AstNode.h +0 -36
- data/ext/libgraphqlparser/CMakeLists.txt +0 -148
- data/ext/libgraphqlparser/CONTRIBUTING.md +0 -23
- data/ext/libgraphqlparser/GraphQLParser.cpp +0 -76
- data/ext/libgraphqlparser/GraphQLParser.h +0 -55
- data/ext/libgraphqlparser/JsonVisitor.cpp +0 -161
- data/ext/libgraphqlparser/JsonVisitor.h +0 -121
- data/ext/libgraphqlparser/LICENSE +0 -22
- data/ext/libgraphqlparser/README.clang-tidy +0 -7
- data/ext/libgraphqlparser/README.md +0 -84
- data/ext/libgraphqlparser/ast/ast.ast +0 -203
- data/ext/libgraphqlparser/ast/ast.py +0 -61
- data/ext/libgraphqlparser/ast/c.py +0 -100
- data/ext/libgraphqlparser/ast/c.pyc +0 -0
- data/ext/libgraphqlparser/ast/c_impl.py +0 -61
- data/ext/libgraphqlparser/ast/c_impl.pyc +0 -0
- data/ext/libgraphqlparser/ast/c_visitor_impl.py +0 -39
- data/ext/libgraphqlparser/ast/c_visitor_impl.pyc +0 -0
- data/ext/libgraphqlparser/ast/casing.py +0 -26
- data/ext/libgraphqlparser/ast/casing.pyc +0 -0
- data/ext/libgraphqlparser/ast/cxx.py +0 -197
- data/ext/libgraphqlparser/ast/cxx.pyc +0 -0
- data/ext/libgraphqlparser/ast/cxx_impl.py +0 -61
- data/ext/libgraphqlparser/ast/cxx_impl.pyc +0 -0
- data/ext/libgraphqlparser/ast/cxx_json_visitor_header.py +0 -42
- data/ext/libgraphqlparser/ast/cxx_json_visitor_header.pyc +0 -0
- data/ext/libgraphqlparser/ast/cxx_json_visitor_impl.py +0 -80
- data/ext/libgraphqlparser/ast/cxx_json_visitor_impl.pyc +0 -0
- data/ext/libgraphqlparser/ast/cxx_visitor.py +0 -64
- data/ext/libgraphqlparser/ast/cxx_visitor.pyc +0 -0
- data/ext/libgraphqlparser/ast/js.py +0 -65
- data/ext/libgraphqlparser/ast/license.py +0 -10
- data/ext/libgraphqlparser/ast/license.pyc +0 -0
- data/ext/libgraphqlparser/c/GraphQLAstNode.cpp +0 -25
- data/ext/libgraphqlparser/c/GraphQLAstNode.h +0 -33
- data/ext/libgraphqlparser/c/GraphQLAstToJSON.cpp +0 -21
- data/ext/libgraphqlparser/c/GraphQLAstToJSON.h +0 -24
- data/ext/libgraphqlparser/c/GraphQLAstVisitor.cpp +0 -55
- data/ext/libgraphqlparser/c/GraphQLAstVisitor.h +0 -53
- data/ext/libgraphqlparser/c/GraphQLParser.cpp +0 -35
- data/ext/libgraphqlparser/c/GraphQLParser.h +0 -54
- data/ext/libgraphqlparser/clang-tidy-all.sh +0 -3
- data/ext/libgraphqlparser/cmake/version.cmake +0 -16
- data/ext/libgraphqlparser/dump_json_ast.cpp +0 -48
- data/ext/libgraphqlparser/go/README.md +0 -20
- data/ext/libgraphqlparser/go/callbacks.go +0 -18
- data/ext/libgraphqlparser/go/gotest.go +0 -64
- data/ext/libgraphqlparser/lexer.lpp +0 -324
- data/ext/libgraphqlparser/libgraphqlparser.pc.in +0 -11
- data/ext/libgraphqlparser/parser.ypp +0 -693
- data/ext/libgraphqlparser/parsergen/lexer.cpp +0 -2633
- data/ext/libgraphqlparser/parsergen/lexer.h +0 -528
- data/ext/libgraphqlparser/parsergen/location.hh +0 -189
- data/ext/libgraphqlparser/parsergen/parser.tab.cpp +0 -3300
- data/ext/libgraphqlparser/parsergen/parser.tab.hpp +0 -646
- data/ext/libgraphqlparser/parsergen/position.hh +0 -179
- data/ext/libgraphqlparser/parsergen/stack.hh +0 -156
- data/ext/libgraphqlparser/python/CMakeLists.txt +0 -14
- data/ext/libgraphqlparser/python/README.md +0 -5
- data/ext/libgraphqlparser/python/example.py +0 -31
- data/ext/libgraphqlparser/syntaxdefs.h +0 -19
- data/ext/libgraphqlparser/test/BuildCAPI.c +0 -5
- data/ext/libgraphqlparser/test/CMakeLists.txt +0 -25
- data/ext/libgraphqlparser/test/JsonVisitorTests.cpp +0 -28
- data/ext/libgraphqlparser/test/ParserTests.cpp +0 -352
- data/ext/libgraphqlparser/test/kitchen-sink.graphql +0 -59
- data/ext/libgraphqlparser/test/kitchen-sink.json +0 -1
- data/ext/libgraphqlparser/test/schema-kitchen-sink.graphql +0 -78
- data/ext/libgraphqlparser/test/schema-kitchen-sink.json +0 -1
- data/ext/libgraphqlparser/test/valgrind.supp +0 -33
- data/ext/version.cpp +0 -21
- data/lib/graphqlparser.so +0 -0
- data/lib/rails/graphql/native/functions.rb +0 -38
- data/lib/rails/graphql/native/location.rb +0 -41
- data/lib/rails/graphql/native/pointers.rb +0 -23
- data/lib/rails/graphql/native/visitor.rb +0 -349
- data/lib/rails/graphql/native.rb +0 -56
- data/test/integration/schemas/authorization.rb +0 -12
@@ -13,6 +13,7 @@ query IntrospectionQuery {
|
|
13
13
|
args {
|
14
14
|
...InputValue
|
15
15
|
}
|
16
|
+
isRepeatable
|
16
17
|
}
|
17
18
|
}
|
18
19
|
}
|
@@ -21,6 +22,7 @@ fragment FullType on __Type {
|
|
21
22
|
kind
|
22
23
|
name
|
23
24
|
description
|
25
|
+
specifiedByURL
|
24
26
|
fields(includeDeprecated: true) {
|
25
27
|
name
|
26
28
|
description
|
data/test/assets/mem.gql
CHANGED
@@ -3,34 +3,10 @@ schema {
|
|
3
3
|
mutation: _Mutation
|
4
4
|
}
|
5
5
|
|
6
|
-
"""
|
7
|
-
The Bigint scalar type represents a signed numeric non‐fractional value.
|
8
|
-
It can go beyond the Int 32‐bit limit, but it's exchanged as a string.
|
9
|
-
"""
|
10
|
-
scalar Bigint
|
11
|
-
|
12
|
-
"""
|
13
|
-
The Binary scalar type represents a Base64 string.
|
14
|
-
Normally used to share files and uploads.
|
15
|
-
"""
|
16
|
-
scalar Binary
|
17
|
-
|
18
6
|
"The Boolean scalar type represents true or false."
|
19
7
|
scalar Boolean
|
20
8
|
|
21
|
-
"The
|
22
|
-
scalar Date
|
23
|
-
|
24
|
-
"The DateTime scalar type represents a ISO 8601 string value."
|
25
|
-
scalar DateTime
|
26
|
-
|
27
|
-
"""
|
28
|
-
The Decimal scalar type represents signed fractional values with extra precision.
|
29
|
-
The values are exchange as string.
|
30
|
-
"""
|
31
|
-
scalar Decimal
|
32
|
-
|
33
|
-
"The Float scalar type represents signed double‐precision fractional values."
|
9
|
+
"The Float scalar type represents signed double-precision fractional values."
|
34
10
|
scalar Float
|
35
11
|
|
36
12
|
"""
|
@@ -39,21 +15,15 @@ way as a String but it accepts both numeric and string based values as input.
|
|
39
15
|
"""
|
40
16
|
scalar ID
|
41
17
|
|
42
|
-
"The Int scalar type represents a signed 32
|
18
|
+
"The Int scalar type represents a signed 32-bit numeric non-fractional value."
|
43
19
|
scalar Int
|
44
20
|
|
45
21
|
"""
|
46
|
-
The String scalar type represents textual data, represented as UTF
|
22
|
+
The String scalar type represents textual data, represented as UTF-8 character
|
47
23
|
sequences.
|
48
24
|
"""
|
49
25
|
scalar String
|
50
26
|
|
51
|
-
"""
|
52
|
-
The Time scalar type that represents a distance in time using hours,
|
53
|
-
minutes, seconds, and miliseconds.
|
54
|
-
"""
|
55
|
-
scalar Time
|
56
|
-
|
57
27
|
"One of the films in the Star Wars Trilogy"
|
58
28
|
enum Episode {
|
59
29
|
"Released in 1977."
|
@@ -158,14 +128,14 @@ interface Character {
|
|
158
128
|
"The id of the character"
|
159
129
|
id: ID!
|
160
130
|
|
161
|
-
"
|
162
|
-
|
131
|
+
"Which movies they appear in"
|
132
|
+
appearsIn: [Episode]
|
163
133
|
|
164
134
|
"The friends of the character, or an empty list if they have none"
|
165
135
|
friends: [Character]
|
166
136
|
|
167
|
-
"
|
168
|
-
|
137
|
+
"The name of the character"
|
138
|
+
name: String
|
169
139
|
|
170
140
|
"All secrets about their past"
|
171
141
|
secretBackstory: String
|
@@ -174,45 +144,48 @@ interface Character {
|
|
174
144
|
"A mechanical creature in the Star Wars universe"
|
175
145
|
# Assigned to MemoryTest::Droid class
|
176
146
|
type Droid implements Character {
|
177
|
-
"The id of the
|
147
|
+
"The id of the droid"
|
178
148
|
id: ID!
|
179
149
|
|
180
|
-
"The name of the character"
|
181
|
-
name: String
|
182
|
-
|
183
|
-
"The friends of the character, or an empty list if they have none"
|
184
|
-
friends: [Character]
|
185
|
-
|
186
150
|
"Which movies they appear in"
|
187
151
|
appearsIn: [Episode]
|
188
152
|
|
189
|
-
"
|
190
|
-
|
153
|
+
"The friends of the droid, or an empty list if they have none"
|
154
|
+
friends: [Character]
|
155
|
+
|
156
|
+
"The name of the droid"
|
157
|
+
name: String
|
191
158
|
|
192
159
|
"The primary function of the droid"
|
193
160
|
primaryFunction: String
|
161
|
+
|
162
|
+
"Construction date and the name of the designer"
|
163
|
+
secretBackstory: String
|
194
164
|
}
|
195
165
|
|
196
166
|
"A humanoid creature in the Star Wars universe"
|
197
167
|
# Assigned to MemoryTest::Human class
|
198
168
|
type Human implements Character {
|
199
|
-
"The id of the
|
169
|
+
"The id of the human"
|
200
170
|
id: ID!
|
201
171
|
|
202
|
-
"The name of the character"
|
203
|
-
name: String
|
204
|
-
|
205
|
-
"The friends of the character, or an empty list if they have none"
|
206
|
-
friends: [Character]
|
207
|
-
|
208
172
|
"Which movies they appear in"
|
209
173
|
appearsIn: [Episode]
|
210
174
|
|
211
|
-
"
|
212
|
-
|
175
|
+
"The friends of the human, or an empty list if they have none"
|
176
|
+
friends: [Character]
|
177
|
+
|
178
|
+
"A greeting phrase from this person to someone"
|
179
|
+
greeting(name: String!): String
|
213
180
|
|
214
181
|
"The home planet of the human, or null if unknown"
|
215
182
|
homePlanet: String
|
183
|
+
|
184
|
+
"The name of the human"
|
185
|
+
name: String
|
186
|
+
|
187
|
+
"Where are they from and how they came to be who they are"
|
188
|
+
secretBackstory: String
|
216
189
|
}
|
217
190
|
|
218
191
|
type _Mutation {
|
@@ -231,6 +204,14 @@ type _Query {
|
|
231
204
|
|
232
205
|
__type(name: String!): __Type
|
233
206
|
|
207
|
+
"Find a droid character"
|
208
|
+
droid(
|
209
|
+
|
210
|
+
"ID of the droid"
|
211
|
+
id: ID!
|
212
|
+
|
213
|
+
): Droid
|
214
|
+
|
234
215
|
"Find the hero of the whole saga"
|
235
216
|
hero(
|
236
217
|
|
@@ -246,34 +227,28 @@ type _Query {
|
|
246
227
|
id: ID!
|
247
228
|
|
248
229
|
): Human
|
249
|
-
|
250
|
-
"Find a droid character"
|
251
|
-
droid(
|
252
|
-
|
253
|
-
"ID of the droid"
|
254
|
-
id: ID!
|
255
|
-
|
256
|
-
): Droid
|
257
230
|
}
|
258
231
|
|
259
232
|
"""
|
260
233
|
Directives provide a way to describe alternate runtime execution
|
261
234
|
and type validation behavior in a GraphQL document.
|
262
235
|
|
263
|
-
In some cases, you need to provide options to alter GraphQL
|
236
|
+
In some cases, you need to provide options to alter GraphQL's execution
|
264
237
|
behavior in ways field arguments will not suffice, such as conditionally
|
265
238
|
including or skipping a field. Directives provide this by describing
|
266
239
|
additional information to the executor.
|
267
240
|
"""
|
268
241
|
# Assigned to Rails::GraphQL::Directive class
|
269
242
|
type __Directive {
|
270
|
-
|
243
|
+
args: [__InputValue!]!
|
271
244
|
|
272
245
|
description: String
|
273
246
|
|
247
|
+
isRepeatable: Boolean!
|
248
|
+
|
274
249
|
locations: [__DirectiveLocation!]!
|
275
250
|
|
276
|
-
|
251
|
+
name: String!
|
277
252
|
}
|
278
253
|
|
279
254
|
"""
|
@@ -282,13 +257,13 @@ of values. It's a string representation, not a numeric representation,
|
|
282
257
|
of a value kept as all caps (ie. ONE_VALUE).
|
283
258
|
"""
|
284
259
|
type __EnumValue {
|
285
|
-
|
260
|
+
deprecationReason: String
|
286
261
|
|
287
262
|
description: String
|
288
263
|
|
289
264
|
isDeprecated: Boolean!
|
290
265
|
|
291
|
-
|
266
|
+
name: String!
|
292
267
|
}
|
293
268
|
|
294
269
|
"""
|
@@ -298,54 +273,53 @@ a value of a specific type.
|
|
298
273
|
"""
|
299
274
|
# Assigned to Rails::GraphQL::Field class
|
300
275
|
type __Field {
|
301
|
-
name: String!
|
302
|
-
|
303
|
-
description: String
|
304
|
-
|
305
276
|
args: [__InputValue!]!
|
306
277
|
|
307
|
-
|
278
|
+
deprecationReason: String
|
279
|
+
|
280
|
+
description: String
|
308
281
|
|
309
282
|
isDeprecated: Boolean!
|
310
283
|
|
311
|
-
|
284
|
+
name: String!
|
285
|
+
|
286
|
+
type: __Type!
|
312
287
|
}
|
313
288
|
|
314
289
|
"""
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
a single value.
|
290
|
+
Arguments provided to Fields or Directives and the input fields of an
|
291
|
+
InputObject are represented as Input Values which describe their type
|
292
|
+
and optionally a default value.
|
319
293
|
"""
|
320
294
|
# Assigned to Rails::GraphQL::Field::InputField class
|
321
295
|
type __InputValue {
|
322
|
-
|
296
|
+
defaultValue: String
|
323
297
|
|
324
298
|
description: String
|
325
299
|
|
326
|
-
|
300
|
+
name: String!
|
327
301
|
|
328
|
-
|
302
|
+
type: __Type!
|
329
303
|
}
|
330
304
|
|
331
305
|
"""
|
332
|
-
A GraphQL service
|
333
|
-
to as that service
|
306
|
+
A GraphQL service's collective type system capabilities are referred
|
307
|
+
to as that service's "schema". A schema is defined in terms of the
|
334
308
|
types and directives it supports as well as the root operation types
|
335
309
|
for each kind of operation: query, mutation, and subscription; this
|
336
310
|
determines the place in the type system where those operations begin.
|
337
311
|
"""
|
338
312
|
# Assigned to Rails::GraphQL::Schema class
|
339
313
|
type __Schema {
|
340
|
-
|
341
|
-
|
342
|
-
queryType: __Type!
|
314
|
+
directives: [__Directive!]!
|
343
315
|
|
344
316
|
mutationType: __Type
|
345
317
|
|
318
|
+
queryType: __Type!
|
319
|
+
|
346
320
|
subscriptionType: __Type
|
347
321
|
|
348
|
-
|
322
|
+
types: [__Type!]!
|
349
323
|
}
|
350
324
|
|
351
325
|
"""
|
@@ -371,33 +345,35 @@ the schema to define exactly what data is expected.
|
|
371
345
|
"""
|
372
346
|
# Assigned to Rails::GraphQL::Type class
|
373
347
|
type __Type {
|
374
|
-
kind: __TypeKind!
|
375
|
-
|
376
|
-
name: String
|
377
|
-
|
378
348
|
description: String
|
379
349
|
|
350
|
+
"ENUM only"
|
351
|
+
enumValues(includeDeprecated: Boolean = false): [__EnumValue!]
|
352
|
+
|
380
353
|
"OBJECT and INTERFACE only"
|
381
354
|
fields(includeDeprecated: Boolean = false): [__Field!]
|
382
355
|
|
356
|
+
"INPUT_OBJECT only"
|
357
|
+
inputFields: [__InputValue!]
|
358
|
+
|
383
359
|
"OBJECT only"
|
384
360
|
interfaces: [__Type!]
|
385
361
|
|
386
|
-
|
387
|
-
possibleTypes: [__Type!]
|
388
|
-
|
389
|
-
"ENUM only"
|
390
|
-
enumValues(includeDeprecated: Boolean = false): [__EnumValue!]
|
362
|
+
kind: __TypeKind!
|
391
363
|
|
392
|
-
|
393
|
-
inputFields: [__InputValue!]
|
364
|
+
name: String
|
394
365
|
|
395
366
|
"NON_NULL and LIST only"
|
396
367
|
ofType: __Type
|
368
|
+
|
369
|
+
"INTERFACE and UNION only"
|
370
|
+
possibleTypes: [__Type!]
|
371
|
+
|
372
|
+
specifiedByURL: String
|
397
373
|
}
|
398
374
|
|
399
375
|
"""
|
400
|
-
Indicate deprecated portions of a GraphQL service
|
376
|
+
Indicate deprecated portions of a GraphQL service's schema, such as deprecated
|
401
377
|
fields on a type or deprecated enum values.
|
402
378
|
"""
|
403
379
|
directive @deprecated(
|
@@ -426,3 +402,14 @@ directive @skip(
|
|
426
402
|
if: Boolean!
|
427
403
|
|
428
404
|
) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
|
405
|
+
|
406
|
+
"""
|
407
|
+
A built-in directive used within the type system definition language to provide
|
408
|
+
a scalar specification URL for specifying the behavior of custom scalar types.
|
409
|
+
"""
|
410
|
+
directive @specifiedBy(
|
411
|
+
|
412
|
+
"Point to a human-readable specification of the data format."
|
413
|
+
url: String!
|
414
|
+
|
415
|
+
) on SCALAR
|