dry-graphql 2.0.1 → 2.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +24 -15
- data/.tool-versions +1 -0
- data/dry-graphql.gemspec +2 -2
- data/lib/dry/graphql/schema_builder.rb +6 -6
- data/lib/dry/graphql/version.rb +1 -1
- data/lib/dry/graphql.rb +10 -3
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50b33624e7670ba0827d9a279a1bafd83843bc2bd30de4f5cad7f3c8e1479bca
|
4
|
+
data.tar.gz: 8cbe479cbb31730a82cd1ea2a87141b3833267c39f14bf1e98fbd0a622b90097
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6e83d9f2135ed50f15eebe41ed9fd19373221405ea6fdf8a9ecb8ace6d551657ce2942ef8246427e8b2227f53df628afe23867a1f6e07c01239dc1495ca8e0d
|
7
|
+
data.tar.gz: f43d96f254186e5e67c096908c740a17b5831c24f6cdc2904641259b2aa922e37f2b1bdbf507a9153c13a388e9cd2e39640cdef319eb62b36fe1cfbe961f850b
|
data/.rubocop_todo.yml
CHANGED
@@ -1,39 +1,48 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2021-06-10 20:11:40 UTC using RuboCop version 1.16.1.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
# Offense count:
|
9
|
+
# Offense count: 1
|
10
|
+
# Configuration parameters: Include.
|
11
|
+
# Include: **/*.gemspec
|
12
|
+
Gemspec/RequiredRubyVersion:
|
13
|
+
Exclude:
|
14
|
+
- 'dry-graphql.gemspec'
|
15
|
+
|
16
|
+
# Offense count: 2
|
17
|
+
# Configuration parameters: AllowedMethods.
|
18
|
+
# AllowedMethods: enums
|
19
|
+
Lint/ConstantDefinitionInBlock:
|
20
|
+
Exclude:
|
21
|
+
- 'spec/dry/graphql_spec.rb'
|
22
|
+
|
23
|
+
# Offense count: 2
|
24
|
+
# Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
|
10
25
|
Metrics/AbcSize:
|
11
|
-
Max:
|
26
|
+
Max: 45
|
12
27
|
|
13
28
|
# Offense count: 1
|
14
|
-
# Configuration parameters: CountComments.
|
29
|
+
# Configuration parameters: CountComments, CountAsOne.
|
15
30
|
Metrics/ClassLength:
|
16
31
|
Max: 151
|
17
32
|
|
18
|
-
# Offense count:
|
33
|
+
# Offense count: 1
|
34
|
+
# Configuration parameters: IgnoredMethods.
|
19
35
|
Metrics/CyclomaticComplexity:
|
20
|
-
Max:
|
36
|
+
Max: 15
|
21
37
|
|
22
38
|
# Offense count: 2
|
23
|
-
# Configuration parameters: CountComments, ExcludedMethods.
|
39
|
+
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
|
24
40
|
Metrics/MethodLength:
|
25
41
|
Max: 12
|
26
42
|
|
27
43
|
# Offense count: 1
|
28
|
-
# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms.
|
44
|
+
# Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, Regex, IgnoreExecutableScripts, AllowedAcronyms.
|
29
45
|
# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
|
30
46
|
Naming/FileName:
|
31
47
|
Exclude:
|
32
48
|
- 'lib/dry-graphql.rb'
|
33
|
-
|
34
|
-
# Offense count: 17
|
35
|
-
# Cop supports --auto-correct.
|
36
|
-
# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
37
|
-
# URISchemes: http, https
|
38
|
-
Metrics/LineLength:
|
39
|
-
Max: 105
|
data/.tool-versions
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby 2.7.2
|
data/dry-graphql.gemspec
CHANGED
@@ -35,10 +35,10 @@ Gem::Specification.new do |spec|
|
|
35
35
|
|
36
36
|
spec.add_runtime_dependency 'dry-struct', '~> 1.0'
|
37
37
|
spec.add_runtime_dependency 'dry-types', '~> 1.1'
|
38
|
-
spec.add_runtime_dependency 'graphql', '~> 1.
|
38
|
+
spec.add_runtime_dependency 'graphql', '~> 1.10'
|
39
39
|
|
40
40
|
spec.add_development_dependency 'appraisal'
|
41
|
-
spec.add_development_dependency 'bundler', '~>
|
41
|
+
spec.add_development_dependency 'bundler', '~> 2.2.16'
|
42
42
|
spec.add_development_dependency 'rake', '~> 10.0'
|
43
43
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
44
44
|
end
|
@@ -17,6 +17,7 @@ module Dry
|
|
17
17
|
attr_reader :field, :type, :options, :schema, :name, :parent
|
18
18
|
|
19
19
|
class TypeMappingError < StandardError; end
|
20
|
+
|
20
21
|
class NameGenerationError < StandardError; end
|
21
22
|
|
22
23
|
def initialize(name: nil, type: nil, schema: nil, parent: nil, options: {})
|
@@ -28,7 +29,7 @@ module Dry
|
|
28
29
|
end
|
29
30
|
|
30
31
|
def with(opts)
|
31
|
-
self.class.new({
|
32
|
+
self.class.new(**{
|
32
33
|
name: @name, type: @type, schema: @schema, options: @options,
|
33
34
|
parent: self
|
34
35
|
}.merge(opts))
|
@@ -44,9 +45,8 @@ module Dry
|
|
44
45
|
|
45
46
|
def self.build_graphql_schema_class(name)
|
46
47
|
Dry::Core::ClassBuilder.new(
|
47
|
-
name: name,
|
48
|
-
parent: ::Dry::GraphQL::BaseObject
|
49
|
-
namespace: Dry::GraphQL::GeneratedTypes
|
48
|
+
name: "DryGraphQLGeneratedTypeFor#{name}",
|
49
|
+
parent: ::Dry::GraphQL::BaseObject
|
50
50
|
).call
|
51
51
|
end
|
52
52
|
|
@@ -166,7 +166,7 @@ module Dry
|
|
166
166
|
def map_schema(type)
|
167
167
|
graphql_name = generate_name
|
168
168
|
graphql_schema = self.class.build_graphql_schema_class(graphql_name)
|
169
|
-
graphql_schema.graphql_name
|
169
|
+
graphql_schema.graphql_name(graphql_name)
|
170
170
|
type_to_map = if type.respond_to?(:schema) && type.method(:schema).arity.zero?
|
171
171
|
type.schema
|
172
172
|
elsif type.respond_to?(:attributes)
|
@@ -184,7 +184,7 @@ module Dry
|
|
184
184
|
loop do
|
185
185
|
break if cursor.nil?
|
186
186
|
|
187
|
-
sanitized_name =
|
187
|
+
sanitized_name = Dry::GraphQL.generate_graphql_name(cursor)
|
188
188
|
name_tree.unshift(sanitized_name)
|
189
189
|
cursor = cursor.parent
|
190
190
|
end
|
data/lib/dry/graphql/version.rb
CHANGED
data/lib/dry/graphql.rb
CHANGED
@@ -7,20 +7,27 @@ require 'dry/graphql/schema_builder'
|
|
7
7
|
module Dry
|
8
8
|
# Module containing GraphQL enhancements
|
9
9
|
module GraphQL
|
10
|
+
# Generates a graphql_name from a class name
|
11
|
+
def self.generate_graphql_name(obj)
|
12
|
+
return obj.graphql_name if obj.respond_to?(:graphql_name)
|
13
|
+
|
14
|
+
obj.name.to_s.capitalize.gsub('DryGraphQLGeneratedTypeForUser', '').gsub('::', '__')
|
15
|
+
end
|
16
|
+
|
10
17
|
# Extends Dry::Struct functionality
|
11
18
|
module Struct
|
12
19
|
def graphql_type(options = {})
|
13
20
|
return @graphql_type if @graphql_type
|
14
21
|
|
15
|
-
graphql_name =
|
22
|
+
graphql_name = Dry::GraphQL.generate_graphql_name(self)
|
16
23
|
graphql_schema = SchemaBuilder.build_graphql_schema_class(name)
|
17
|
-
graphql_schema.graphql_name(
|
24
|
+
graphql_schema.graphql_name(graphql_name)
|
18
25
|
schema_hash = schema.each_with_object({}) do |type, memo|
|
19
26
|
memo[type.name] = type.type
|
20
27
|
end
|
21
28
|
|
22
29
|
opts = { name: graphql_name, type: schema_hash, schema: graphql_schema, options: options }
|
23
|
-
@graphql_type ||= SchemaBuilder.new(opts).graphql_type
|
30
|
+
@graphql_type ||= SchemaBuilder.new(**opts).graphql_type
|
24
31
|
end
|
25
32
|
end
|
26
33
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dry-graphql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian Ker-Seymer
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-struct
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
47
|
+
version: '1.10'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
54
|
+
version: '1.10'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: appraisal
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 2.2.16
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 2.2.16
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -119,6 +119,7 @@ files:
|
|
119
119
|
- ".rspec"
|
120
120
|
- ".rubocop.yml"
|
121
121
|
- ".rubocop_todo.yml"
|
122
|
+
- ".tool-versions"
|
122
123
|
- ".travis.yml"
|
123
124
|
- Appraisals
|
124
125
|
- CODE_OF_CONDUCT.md
|
@@ -151,7 +152,7 @@ homepage: https://github.com/adhawk/dry-graphql
|
|
151
152
|
licenses:
|
152
153
|
- MIT
|
153
154
|
metadata: {}
|
154
|
-
post_install_message:
|
155
|
+
post_install_message:
|
155
156
|
rdoc_options: []
|
156
157
|
require_paths:
|
157
158
|
- lib
|
@@ -166,9 +167,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
166
167
|
- !ruby/object:Gem::Version
|
167
168
|
version: '0'
|
168
169
|
requirements: []
|
169
|
-
|
170
|
-
|
171
|
-
signing_key:
|
170
|
+
rubygems_version: 3.1.4
|
171
|
+
signing_key:
|
172
172
|
specification_version: 4
|
173
173
|
summary: Integrate dry-types/dry-struct with graphql-ruby
|
174
174
|
test_files: []
|