apollo-federation 2.2.4 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ba95ea6ff91193e1c977c0bd3eea9a5e9d697ae8f1fdf189823eb81d0a911bc3
4
- data.tar.gz: 51e4f2204aaab9ce67b3578454ec2d33b59ed9ffb90e73331a36b93e19b73dd9
3
+ metadata.gz: 97e0cffbe36d7e21115386a2c0cffa379b62eeff24922d1203a2abf1dbdf7059
4
+ data.tar.gz: 2220d5e08b981826d4494d98d9728a2bc4c1ef1a6aae9381f7f467204051c2c4
5
5
  SHA512:
6
- metadata.gz: 94cb699aa812877a646ded92f8fc1a4b12e8137410fea54c470e851e402110b8bb6b2c4ab1c42bb422e09616a910da90683e38ea69bf85365f3a86e9121aa3cc
7
- data.tar.gz: a74321947eb59666acd5420df26c554d48166f1f29aeaa4d3ce30d6e4f374090c7c7c83c4585c8fdbbad585adec8de6421f90c68072d0d144e33c73a6fa37bf4
6
+ metadata.gz: e30f475dfa19d57e26b9374b7e6b59b33ff7125fdd57e22014448e0f7aaa741c188b7f72bde98b20953d4519fbd4fb76585a0336757123d34a95dee87e2b6044
7
+ data.tar.gz: df9e6125583486cdba492c97376d6fea8a9ff31b7fb72f2940375f53b426ec8cc3109178e9a3ca9d23f261df4dc5acc94244cbf76f1be26281ad264e4e94a075
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ # [3.0.0](https://github.com/Gusto/apollo-federation-ruby/compare/v2.2.4...v3.0.0) (2022-04-05)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * camelize string fields to match sym behavior ([8f0382b](https://github.com/Gusto/apollo-federation-ruby/commit/8f0382b346d2cde5be252138275d67373b36acd7))
7
+
8
+
9
+ ### BREAKING CHANGES
10
+
11
+ * string fields will be camelized by default rather than passed as is.
12
+
1
13
  ## [2.2.4](https://github.com/Gusto/apollo-federation-ruby/compare/v2.2.3...v2.2.4) (2022-04-01)
2
14
 
3
15
 
@@ -16,7 +16,10 @@ module ApolloFederation
16
16
  name: 'requires',
17
17
  arguments: [
18
18
  name: 'fields',
19
- values: ApolloFederation::FieldSetSerializer.serialize(requires[:fields]),
19
+ values: ApolloFederation::FieldSetSerializer.serialize(
20
+ requires[:fields],
21
+ camelize: requires.fetch(:camelize, true),
22
+ ),
20
23
  ],
21
24
  )
22
25
  end
@@ -25,7 +28,10 @@ module ApolloFederation
25
28
  name: 'provides',
26
29
  arguments: [
27
30
  name: 'fields',
28
- values: ApolloFederation::FieldSetSerializer.serialize(provides[:fields]),
31
+ values: ApolloFederation::FieldSetSerializer.serialize(
32
+ provides[:fields],
33
+ camelize: provides.fetch(:camelize, true),
34
+ ),
29
35
  ],
30
36
  )
31
37
  end
@@ -6,20 +6,18 @@ module ApolloFederation
6
6
  module FieldSetSerializer
7
7
  extend self
8
8
 
9
- def serialize(fields)
9
+ def serialize(fields, camelize: true)
10
10
  case fields
11
11
  when Hash
12
12
  fields.map do |field, nested_selections|
13
- "#{camelize(field)} { #{serialize(nested_selections)} }"
13
+ "#{camelize(field, camelize)} { #{serialize(nested_selections, camelize: camelize)} }"
14
14
  end.join(' ')
15
15
  when Array
16
16
  fields.map do |field|
17
- serialize(field)
17
+ serialize(field, camelize: camelize)
18
18
  end.join(' ')
19
- when String
20
- fields
21
- when Symbol
22
- camelize(fields)
19
+ when Symbol, String
20
+ camelize(fields, camelize)
23
21
  else
24
22
  raise ArgumentError, "Unexpected field set type: #{fields.class}"
25
23
  end
@@ -27,8 +25,8 @@ module ApolloFederation
27
25
 
28
26
  private
29
27
 
30
- def camelize(field)
31
- GraphQL::Schema::Member::BuildType.camelize(field.to_s)
28
+ def camelize(field, camelize)
29
+ camelize ? GraphQL::Schema::Member::BuildType.camelize(field.to_s) : field.to_s
32
30
  end
33
31
  end
34
32
  end
@@ -18,12 +18,12 @@ module ApolloFederation
18
18
  add_directive(name: 'extends')
19
19
  end
20
20
 
21
- def key(fields:)
21
+ def key(fields:, camelize: true)
22
22
  add_directive(
23
23
  name: 'key',
24
24
  arguments: [
25
25
  name: 'fields',
26
- values: ApolloFederation::FieldSetSerializer.serialize(fields),
26
+ values: ApolloFederation::FieldSetSerializer.serialize(fields, camelize: camelize),
27
27
  ],
28
28
  )
29
29
  end
@@ -16,12 +16,12 @@ module ApolloFederation
16
16
  add_directive(name: 'extends')
17
17
  end
18
18
 
19
- def key(fields:)
19
+ def key(fields:, camelize: true)
20
20
  add_directive(
21
21
  name: 'key',
22
22
  arguments: [
23
23
  name: 'fields',
24
- values: ApolloFederation::FieldSetSerializer.serialize(fields),
24
+ values: ApolloFederation::FieldSetSerializer.serialize(fields, camelize: camelize),
25
25
  ],
26
26
  )
27
27
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ApolloFederation
4
- VERSION = '2.2.4'
4
+ VERSION = '3.0.0'
5
5
  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.2.4
4
+ version: 3.0.0
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-04-01 00:00:00.000000000 Z
12
+ date: 2022-04-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: graphql