graphql_grpc 0.1.8 → 0.1.9
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/Guardfile +1 -1
- data/lib/graphql_grpc/resolver.rb +9 -4
- data/lib/graphql_grpc/type_library.rb +5 -4
- data/lib/graphql_grpc/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: 55decad51b1fe59ba29cd95b3dd7bf6c93a1417fd8fcc663735d6069d3560090
|
4
|
+
data.tar.gz: 3ca7a9a20df756213f8da850a9b2a36d4b1940eed229ef2305f1aa66608cb7e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4cacb192944e825d29bfaf6922706f4fe82b4bc5dd11ba8f9efe1a789554147e30d914b3e4ea35ca4f4b689f6cbbed471d8f2ac21b9dee57452be778d02461ec
|
7
|
+
data.tar.gz: c16e2b65c23e2408bb8d1a5614a15a29a0a5b388a3f32c2e7920781905a031718d4a38886e71dc134e98385c4483e9b05e1266047f3977d72c655e0346499f3d
|
data/Guardfile
CHANGED
@@ -64,7 +64,7 @@ guard :rspec, cmd: 'bundle exec rspec' do
|
|
64
64
|
watch(rails.view_dirs) { |m| rspec.spec.call("features/#{m[1]}") }
|
65
65
|
watch(rails.layouts) { |m| rspec.spec.call("features/#{m[1]}") }
|
66
66
|
|
67
|
-
watch(%r{^lib/graphql_grpc
|
67
|
+
watch(%r{^lib/graphql_grpc/(.+)\.rb}) { |_m| rspec.spec.call('graphql_grpc') }
|
68
68
|
watch(%r{^doc/(.+)}) { |_m| rspec.spec.call('graphql_grpc') }
|
69
69
|
|
70
70
|
# Turnip features and steps
|
@@ -9,10 +9,15 @@ module GraphqlGrpc
|
|
9
9
|
def call(_type, field, obj, args, ctx)
|
10
10
|
if obj
|
11
11
|
field_sym = field.name.to_sym
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
12
|
+
# Try to access the field as a method, then with Hash notation using
|
13
|
+
# a Symbol and finally as a String.
|
14
|
+
|
15
|
+
value = if obj.is_a?(Hash)
|
16
|
+
# Prefer Hash value over method in case Hash keys conflict
|
17
|
+
# with method names on Hash.
|
18
|
+
obj[field_sym] || obj.try(field_sym)
|
19
|
+
else
|
20
|
+
obj[field_sym.to_s]
|
16
21
|
end
|
17
22
|
return value.is_a?(Symbol) ? value.to_s : value
|
18
23
|
end
|
@@ -34,7 +34,9 @@ module GraphqlGrpc
|
|
34
34
|
#
|
35
35
|
# Return an array of all (recursive) types known within this type
|
36
36
|
#
|
37
|
-
def sub_types
|
37
|
+
def sub_types(known_types=[])
|
38
|
+
return known_types if known_types.include?(name)
|
39
|
+
|
38
40
|
# Iterate through the Google::Protobuf::FieldDescriptor list
|
39
41
|
entries.map do |fd|
|
40
42
|
# fd.name = 'current_entity_to_update'
|
@@ -43,12 +45,11 @@ module GraphqlGrpc
|
|
43
45
|
# fd.submsg_name = "com.foo.bar.Baz"
|
44
46
|
# fd.subtype = #<Google::Protobuf::Descriptor:0x007fabb3947f08>
|
45
47
|
if fd.subtype.class == Google::Protobuf::Descriptor
|
46
|
-
|
47
|
-
[name, fd.submsg_name] + fd.subtype.sub_types
|
48
|
+
[name, fd.subtype.sub_types(known_types + [name])].flatten
|
48
49
|
else
|
49
50
|
[name, fd.submsg_name]
|
50
51
|
end
|
51
|
-
end.flatten.compact
|
52
|
+
end.flatten.compact.uniq
|
52
53
|
end
|
53
54
|
|
54
55
|
def type_name
|
data/lib/graphql_grpc/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graphql_grpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zane Claes
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-06-
|
12
|
+
date: 2019-06-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|