apollo-federation 2.1.0 → 2.2.2
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/CHANGELOG.md +21 -0
- data/README.md +3 -2
- data/lib/apollo-federation/entities_field.rb +12 -1
- data/lib/apollo-federation/federated_document_from_schema_definition.rb +0 -2
- data/lib/apollo-federation/has_directives.rb +0 -6
- data/lib/apollo-federation/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2c05610a6aa19695ff6a2cfc9eda7bf5ba8053f8e5ede044613962136bb3e50
|
4
|
+
data.tar.gz: efb8627e921a44420721b8da4e9d71380826f42b7aae6596a7c766daac4bda88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35ed590fc3fdd628557bbe31c70140cef552f5174468cade36a61f78249d9b26a98d10062357487f9970f713d96f33ad379c77c475d355f0b51b7516a3ad5a61
|
7
|
+
data.tar.gz: 4463e67bf8a4396925fc327131757b365ede5834d29dc9836fecbd47f224b149c0c729b7c9cd6a19dbd7317cfd29ff4fdba0744aaa2829014394bec73f5bbeb7
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
## [2.2.2](https://github.com/Gusto/apollo-federation-ruby/compare/v2.2.1...v2.2.2) (2022-03-15)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* add a ruby version file ([#185](https://github.com/Gusto/apollo-federation-ruby/issues/185)) ([b46346b](https://github.com/Gusto/apollo-federation-ruby/commit/b46346bbbccc51d77e67ce43f411a6ee72f1a1d5))
|
7
|
+
|
8
|
+
## [2.2.1](https://github.com/Gusto/apollo-federation-ruby/compare/v2.2.0...v2.2.1) (2022-03-08)
|
9
|
+
|
10
|
+
|
11
|
+
### Bug Fixes
|
12
|
+
|
13
|
+
* Remove to_graphql and make the interpreter runtime a requirement for older GraphQL versions ([#177](https://github.com/Gusto/apollo-federation-ruby/issues/177)) ([bfc3082](https://github.com/Gusto/apollo-federation-ruby/commit/bfc308260c34eee04c3b7a5f0e8a0bffe1cb88c4))
|
14
|
+
|
15
|
+
# [2.2.0](https://github.com/Gusto/apollo-federation-ruby/compare/v2.1.0...v2.2.0) (2022-02-04)
|
16
|
+
|
17
|
+
|
18
|
+
### Features
|
19
|
+
|
20
|
+
* Get Apollo Federation to work with GraphQL 1.13.x ([#160](https://github.com/Gusto/apollo-federation-ruby/issues/160)) ([800001b](https://github.com/Gusto/apollo-federation-ruby/commit/800001baa5a54ab377998c651e7049da254c451b)), closes [#147](https://github.com/Gusto/apollo-federation-ruby/issues/147)
|
21
|
+
|
1
22
|
# [2.1.0](https://github.com/Gusto/apollo-federation-ruby/compare/v2.0.3...v2.1.0) (2022-02-02)
|
2
23
|
|
3
24
|
|
data/README.md
CHANGED
@@ -293,8 +293,9 @@ See discussion at [#74](https://github.com/Gusto/apollo-federation-ruby/issues/7
|
|
293
293
|
|
294
294
|
## Known Issues and Limitations
|
295
295
|
|
296
|
-
-
|
297
|
-
- Does not add directives to the output of `Schema.to_definition`. Since `graphql-ruby` doesn't natively support schema directives, the
|
296
|
+
- For GraphQL older than 1.12, the interpreter runtime has to be used.
|
297
|
+
- Does not add directives to the output of `Schema.to_definition`. Since `graphql-ruby` doesn't natively support schema directives, the
|
298
|
+
directives will only be visible to the [Apollo Gateway](https://www.apollographql.com/docs/apollo-server/api/apollo-gateway/) through the `Query._service` field (see the [Apollo Federation specification](https://www.apollographql.com/docs/apollo-server/federation/federation-spec/)) or via [`Schema#federation_sdl`](https://github.com/Gusto/apollo-federation-ruby/blob/1d3baf4f8efcd02e7bf5bc7e3fee5b4fb963cd25/lib/apollo-federation/schema.rb#L19) as explained above.
|
298
299
|
|
299
300
|
## Maintainers
|
300
301
|
|
@@ -38,7 +38,8 @@ module ApolloFederation
|
|
38
38
|
end
|
39
39
|
|
40
40
|
# TODO: What if the type is an interface?
|
41
|
-
type_class = type
|
41
|
+
type_class = class_of_type(type)
|
42
|
+
|
42
43
|
if type_class.respond_to?(:resolve_reference)
|
43
44
|
result = type_class.resolve_reference(reference, context)
|
44
45
|
else
|
@@ -55,5 +56,15 @@ module ApolloFederation
|
|
55
56
|
end
|
56
57
|
end
|
57
58
|
end
|
59
|
+
|
60
|
+
private
|
61
|
+
|
62
|
+
def class_of_type(type)
|
63
|
+
if defined?(GraphQL::ObjectType) && type.is_a?(GraphQL::ObjectType)
|
64
|
+
type.metadata[:type_class]
|
65
|
+
else
|
66
|
+
type
|
67
|
+
end
|
68
|
+
end
|
58
69
|
end
|
59
70
|
end
|
@@ -56,8 +56,6 @@ module ApolloFederation
|
|
56
56
|
def merge_directives(node, type)
|
57
57
|
if type.is_a?(ApolloFederation::HasDirectives)
|
58
58
|
directives = type.federation_directives
|
59
|
-
elsif type.is_a?(GraphQL::Define::InstanceDefinable)
|
60
|
-
directives = type.metadata[:federation_directives]
|
61
59
|
else
|
62
60
|
directives = []
|
63
61
|
end
|
@@ -8,11 +8,5 @@ module ApolloFederation
|
|
8
8
|
@federation_directives ||= []
|
9
9
|
@federation_directives << { name: name, arguments: arguments }
|
10
10
|
end
|
11
|
-
|
12
|
-
def to_graphql
|
13
|
-
field_defn = super # Returns a GraphQL::Field
|
14
|
-
field_defn.metadata[:federation_directives] = @federation_directives
|
15
|
-
field_defn
|
16
|
-
end
|
17
11
|
end
|
18
12
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apollo-federation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Noa Elad
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-03-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: graphql
|