graphql-client 0.12.1 → 0.12.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/lib/graphql/client/collocated_enforcement.rb +1 -1
- data/lib/graphql/client/errors.rb +2 -2
- data/lib/graphql/client/erubi_enhancer.rb +1 -1
- data/lib/graphql/client/erubis.rb +1 -1
- data/lib/graphql/client/erubis_enhancer.rb +1 -1
- data/lib/graphql/client/hash_with_indifferent_access.rb +5 -1
- data/lib/graphql/client/schema.rb +24 -2
- data/lib/graphql/client/schema/interface_type.rb +1 -1
- data/lib/graphql/client/schema/union_type.rb +1 -1
- data/lib/rubocop/cop/graphql/heredoc.rb +2 -2
- data/lib/rubocop/cop/graphql/overfetch.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00141a0b18656c8a3134bf9b441598ce97eeb1ae
|
4
|
+
data.tar.gz: 749d8bc7f60581177c4c7ea012b6d515180a87e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea43f83a968fa438728cb3316f220a4bc58d206b56af5e2dbaee8709b9717ac6e744594e25e69db1bd1250409cdd8021d503e42f287b5dae97fdf70d51c6e37b
|
7
|
+
data.tar.gz: 3dbab0f1dfd017a1a97aaff1410cbc9971211cf0d507dd6a9b31f19ede515de638e387fc792d6e2f8a4c613624ee867789b3daec4bff5137b021e515b1f44f5c
|
@@ -4,7 +4,7 @@ require "graphql/client/error"
|
|
4
4
|
module GraphQL
|
5
5
|
class Client
|
6
6
|
|
7
|
-
#
|
7
|
+
# Collocation will not be enforced if a stack trace includes any of these gems.
|
8
8
|
WHITELISTED_GEM_NAMES = %w{pry byebug}
|
9
9
|
|
10
10
|
# Raised when method is called from outside the expected file scope.
|
@@ -31,7 +31,7 @@ module GraphQL
|
|
31
31
|
errors
|
32
32
|
end
|
33
33
|
|
34
|
-
# Internal:
|
34
|
+
# Internal: Initialize from collection of errors.
|
35
35
|
#
|
36
36
|
# errors - Array of GraphQL Hash error objects
|
37
37
|
# path - Array of String|Integer fields to data
|
@@ -129,7 +129,7 @@ module GraphQL
|
|
129
129
|
# message.
|
130
130
|
def each
|
131
131
|
return enum_for(:each) unless block_given?
|
132
|
-
messages.
|
132
|
+
messages.each_key do |field|
|
133
133
|
messages[field].each { |error| yield field, error }
|
134
134
|
end
|
135
135
|
end
|
@@ -16,7 +16,7 @@ module GraphQL
|
|
16
16
|
@hash = hash
|
17
17
|
@aliases = {}
|
18
18
|
|
19
|
-
hash.
|
19
|
+
hash.each_key do |key|
|
20
20
|
if key.is_a?(String)
|
21
21
|
key_alias = ActiveSupport::Inflector.underscore(key)
|
22
22
|
@aliases[key_alias] = key if key != key_alias
|
@@ -43,6 +43,10 @@ module GraphQL
|
|
43
43
|
alias has_key? key?
|
44
44
|
alias member? key?
|
45
45
|
|
46
|
+
def each_key(&block)
|
47
|
+
@hash.each_key { |key| yield convert_value(key) }
|
48
|
+
end
|
49
|
+
|
46
50
|
private
|
47
51
|
|
48
52
|
def convert_value(key)
|
@@ -22,7 +22,7 @@ module GraphQL
|
|
22
22
|
when GraphQL::ListType
|
23
23
|
define_class(definition, irep_node, type.of_type).to_list_type
|
24
24
|
else
|
25
|
-
|
25
|
+
get_class(type.name).define_class(definition, irep_node)
|
26
26
|
end
|
27
27
|
|
28
28
|
irep_node.ast_node.directives.inject(type_klass) do |klass, directive|
|
@@ -33,6 +33,28 @@ module GraphQL
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
36
|
+
|
37
|
+
def get_class(type_name)
|
38
|
+
const_get(normalize_type_name(type_name))
|
39
|
+
end
|
40
|
+
|
41
|
+
def set_class(type_name, klass)
|
42
|
+
class_name = normalize_type_name(type_name)
|
43
|
+
|
44
|
+
if constants.include?(class_name.to_sym)
|
45
|
+
raise ArgumentError,
|
46
|
+
"Can't define #{class_name} to represent type #{type_name} " \
|
47
|
+
"because it's already defined"
|
48
|
+
end
|
49
|
+
|
50
|
+
const_set(class_name, klass)
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def normalize_type_name(type_name)
|
56
|
+
type_name =~ /\A[A-Z]/ ? type_name : type_name.camelize
|
57
|
+
end
|
36
58
|
end
|
37
59
|
|
38
60
|
def self.generate(schema)
|
@@ -48,7 +70,7 @@ module GraphQL
|
|
48
70
|
next if name.start_with?("__")
|
49
71
|
if klass = class_for(schema, type, cache)
|
50
72
|
klass.schema_module = mod
|
51
|
-
mod.
|
73
|
+
mod.set_class(name, klass)
|
52
74
|
end
|
53
75
|
end
|
54
76
|
|
@@ -22,7 +22,7 @@ module GraphQL
|
|
22
22
|
|
23
23
|
def define_class(definition, irep_node)
|
24
24
|
new(irep_node.typed_children.keys.map { |ctype|
|
25
|
-
schema_module.
|
25
|
+
schema_module.get_class(ctype.name).define_class(definition, irep_node)
|
26
26
|
})
|
27
27
|
end
|
28
28
|
end
|
@@ -22,7 +22,7 @@ module GraphQL
|
|
22
22
|
|
23
23
|
def define_class(definition, irep_node)
|
24
24
|
new(irep_node.typed_children.keys.map { |ctype|
|
25
|
-
schema_module.
|
25
|
+
schema_module.get_class(ctype.name).define_class(definition, irep_node)
|
26
26
|
})
|
27
27
|
end
|
28
28
|
end
|
@@ -19,11 +19,11 @@ module RuboCop
|
|
19
19
|
return unless node.location.expression.source =~ /^<<(-|~)?GRAPHQL/
|
20
20
|
|
21
21
|
node.each_child_node(:begin) do |begin_node|
|
22
|
-
add_offense(begin_node, :expression, "Do not interpolate variables into GraphQL queries, " \
|
22
|
+
add_offense(begin_node, location: :expression, message: "Do not interpolate variables into GraphQL queries, " \
|
23
23
|
"used variables instead.")
|
24
24
|
end
|
25
25
|
|
26
|
-
add_offense(node, :expression, "GraphQL heredocs should be quoted. <<-'GRAPHQL'")
|
26
|
+
add_offense(node, location: :expression, message: "GraphQL heredocs should be quoted. <<-'GRAPHQL'")
|
27
27
|
end
|
28
28
|
|
29
29
|
def autocorrect(node)
|
@@ -44,7 +44,7 @@ module RuboCop
|
|
44
44
|
|
45
45
|
fields.each do |field, count|
|
46
46
|
next if count > 0
|
47
|
-
add_offense(nil, ranges[field], "GraphQL field '#{field}' query but was not used in template.")
|
47
|
+
add_offense(nil, location: ranges[field], message: "GraphQL field '#{field}' query but was not used in template.")
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graphql-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitHub
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -126,28 +126,28 @@ dependencies:
|
|
126
126
|
requirements:
|
127
127
|
- - "~>"
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
version: '0.
|
129
|
+
version: '0.6'
|
130
130
|
type: :development
|
131
131
|
prerelease: false
|
132
132
|
version_requirements: !ruby/object:Gem::Requirement
|
133
133
|
requirements:
|
134
134
|
- - "~>"
|
135
135
|
- !ruby/object:Gem::Version
|
136
|
-
version: '0.
|
136
|
+
version: '0.6'
|
137
137
|
- !ruby/object:Gem::Dependency
|
138
138
|
name: rubocop
|
139
139
|
requirement: !ruby/object:Gem::Requirement
|
140
140
|
requirements:
|
141
141
|
- - "~>"
|
142
142
|
- !ruby/object:Gem::Version
|
143
|
-
version: '0.
|
143
|
+
version: '0.49'
|
144
144
|
type: :development
|
145
145
|
prerelease: false
|
146
146
|
version_requirements: !ruby/object:Gem::Requirement
|
147
147
|
requirements:
|
148
148
|
- - "~>"
|
149
149
|
- !ruby/object:Gem::Version
|
150
|
-
version: '0.
|
150
|
+
version: '0.49'
|
151
151
|
description: A Ruby library for declaring, composing and executing GraphQL queries
|
152
152
|
email: engineering@github.com
|
153
153
|
executables: []
|
@@ -211,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
211
211
|
version: '0'
|
212
212
|
requirements: []
|
213
213
|
rubyforge_project:
|
214
|
-
rubygems_version: 2.6.
|
214
|
+
rubygems_version: 2.6.12
|
215
215
|
signing_key:
|
216
216
|
specification_version: 4
|
217
217
|
summary: GraphQL Client
|