graphql-client 0.0.10 → 0.0.11

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/graphql/client.rb +17 -12
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e4e9abe01489f5224ba5c84893f5ea903b005f60
4
- data.tar.gz: 713e06fac524292c381d2b83a9addb10cae3d3f7
3
+ metadata.gz: f53cb2d3442a4294ac55b34289a1a2ef3bc6804a
4
+ data.tar.gz: d3c548c975ec437f5cfde1b7bd79d1a39ae16331
5
5
  SHA512:
6
- metadata.gz: 38e2dd21778105c39cc58efcbf5799bb9bfb72b8243e827057794aeeec39966cca2ff2ad1b9f7c2b8b7facd109cb71e23c511fa1c2e1eb7a63c8ff351bcb339d
7
- data.tar.gz: b941fac81280d251fb0a8156917ff7cdb2e0179c95f935fe203c8336f671a396d398c29cae96b16dd6061846a190a3c6c3e21886cdc4cad9e191d05f9449c4df
6
+ metadata.gz: 9615af4a5f8f1bafd5e48d2dc26930119166b11743729145a53c2d7347a71245399cf5837cc53d5963c0948c8a15ce1a95f2602c4892094e42db5ea30b8e1779
7
+ data.tar.gz: 0c8a00f036cdf666351972a40e08522dd28dd0a2c12ccfd104a48863301dacdd8d374e0e548e55f3fc5faad27960e7c8ce998a95a1121c489d9e0049e15b25c8
@@ -11,7 +11,7 @@ module GraphQL
11
11
 
12
12
  attr_reader :schema
13
13
 
14
- def initialize(schema:)
14
+ def initialize(schema: nil)
15
15
  @schema = schema
16
16
  @document = GraphQL::Language::Nodes::Document.new(definitions: [])
17
17
  end
@@ -100,11 +100,27 @@ module GraphQL
100
100
 
101
101
  doc = GraphQL.parse(str)
102
102
 
103
+ doc.definitions.each do |node|
104
+ node.name ||= "__anonymous__"
105
+ end
106
+
103
107
  definition_dependencies.merge(doc.definitions)
104
108
  document_dependencies = Language::Nodes::Document.new(definitions: definition_dependencies.to_a)
105
109
 
110
+ if @schema
111
+ rules = GraphQL::StaticValidation::ALL_RULES - [GraphQL::StaticValidation::FragmentsAreUsed]
112
+ validator = GraphQL::StaticValidation::Validator.new(schema: @schema, rules: rules)
113
+ query = Query.new(@schema, document: document_dependencies)
114
+
115
+ errors = validator.validate(query)
116
+ errors.fetch(:errors).each do |error|
117
+ raise ValidationError, error["message"] + "\n\n" + str
118
+ end
119
+ end
120
+
106
121
  definitions = {}
107
122
  doc.definitions.each do |node|
123
+ node.name = nil if node.name == "__anonymous__"
108
124
  sliced_document = Language::OperationSlice.slice(document_dependencies, node.name)
109
125
  definition = Definition.for(node: node, document: sliced_document)
110
126
  definitions[node.name] = definition
@@ -141,17 +157,6 @@ module GraphQL
141
157
  @document
142
158
  end
143
159
 
144
- def validate!
145
- validator = StaticValidation::Validator.new(schema: @schema)
146
- query = Query.new(@schema, document: document)
147
-
148
- validator.validate(query).fetch(:errors).each do |error|
149
- raise ValidationError, error["message"]
150
- end
151
-
152
- nil
153
- end
154
-
155
160
  private
156
161
  module LazyName
157
162
  def name
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub
@@ -95,7 +95,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - ">="
97
97
  - !ruby/object:Gem::Version
98
- version: '0'
98
+ version: 2.1.0
99
99
  required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="