graphql-client 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
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
  - - ">="