graphql 1.12.13 → 1.12.14

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.

Potentially problematic release.


This version of graphql might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2cad71b0084305ae219dd00e6c6ed48871f126d90c38cf47b9708db1eaf1feb6
4
- data.tar.gz: afe00c0b1f14134068015098392817c0c0f0841f8016863789d319590dc5a9ba
3
+ metadata.gz: 74f73ae15eae0c31b63558b5d038091006422534ebee13cafe25b0fe07d1349a
4
+ data.tar.gz: c6f454d12ae887420e98f4e0563d74d7bedfa350d6b6dcd66beedd43e9cd5f5a
5
5
  SHA512:
6
- metadata.gz: 8fc7bee0a1a2bdc836358338d41d56c394f495dcc78d17403c60efd47ae8f807ad447fcb96a9c270137fa247fde43b5936961436efb6d1276768f945bd5be077
7
- data.tar.gz: a0da8f32b54df7b1254dac3749ffe1e9a9b2d93ec273313280d755b5c2bf3910880f2a13f4861d7efb0b2e39a5aefc63491918a89bcdfa223893769a0a9a1ddf
6
+ metadata.gz: 333b8424cc0c6cf3caccf68b27a66bd555311255a83fd336b8ccd569edf6ab4020bb3459b7ce1c0ab26542f003cd12e7c3d312d8ea45c6c2d52fe81a94471536
7
+ data.tar.gz: e31d1e33bd7da992d866749f53fe05e417ac27ee6488d0bd7d5cf0e7316e57c6bec6154f496e09eb87eb830b8540eb1ecebde1384f50d7deb41244fdc07dc5b9
@@ -15,10 +15,13 @@ module GraphQL
15
15
  # No query context yet
16
16
  nil
17
17
  when "validate", "analyze_query", "execute_query", "execute_query_lazy"
18
- query = metadata[:query] || metadata[:queries].first
19
18
  push_key = []
20
- push_data = query
21
- multiplex = query.multiplex
19
+ if (query = metadata[:query]) || ((queries = metadata[:queries]) && (query = queries.first))
20
+ push_data = query
21
+ multiplex = query.multiplex
22
+ elsif (multiplex = metadata[:multiplex])
23
+ push_data = multiplex.queries.first
24
+ end
22
25
  when "execute_field", "execute_field_lazy"
23
26
  query = metadata[:query] || raise(ArgumentError, "Add `legacy: true` to use GraphQL::Backtrace without the interpreter runtime.")
24
27
  multiplex = query.multiplex
@@ -0,0 +1,28 @@
1
+ require "rubocop"
2
+
3
+ module GraphQL
4
+ module Cop
5
+ class Nullability < RuboCop::Cop::Base
6
+ extend AutoCorrector
7
+
8
+ NEEDLESS_NULL_FALSE = <<-ERR
9
+ `null: false` is the default, it can be removed.
10
+ ERR
11
+
12
+ NEEDLESS_REQUIRED_TRUE = <<-ERR
13
+ `required: true` is the default, it can be removed.
14
+ ERR
15
+
16
+ def on_send(node)
17
+ recv, method_name, args = *node
18
+ if recv.nil?
19
+ if method_name == :field
20
+
21
+ elsif method_name == :argument
22
+
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ require "rubocop"
2
+
3
+ module GraphQL
4
+ module Cop
5
+ class ResolveMethods < RuboCop::Cop::Base
6
+ extend AutoCorrector
7
+
8
+ NEEDLESS_NULL_FALSE = <<-ERR
9
+ `null: false` is the default, it can be removed.
10
+ ERR
11
+
12
+ NEEDLESS_REQUIRED_TRUE = <<-ERR
13
+ `required: true` is the default, it can be removed.
14
+ ERR
15
+
16
+ def on_send(node)
17
+ recv, method_name, args = *node
18
+ if recv.nil?
19
+ if method_name == :field
20
+
21
+ elsif method_name == :argument
22
+
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
data/lib/graphql/query.rb CHANGED
@@ -270,7 +270,7 @@ module GraphQL
270
270
  # @return [String, nil] Returns nil if the query is invalid.
271
271
  def sanitized_query_string(inline_variables: true)
272
272
  with_prepared_ast {
273
- GraphQL::Language::SanitizedPrinter.new(self, inline_variables: inline_variables).sanitized_query_string
273
+ schema.sanitized_printer.new(self, inline_variables: inline_variables).sanitized_query_string
274
274
  }
275
275
  end
276
276
 
@@ -1631,6 +1631,14 @@ module GraphQL
1631
1631
  find_inherited_value(:multiplex_analyzers, EMPTY_ARRAY) + own_multiplex_analyzers
1632
1632
  end
1633
1633
 
1634
+ def sanitized_printer(new_sanitized_printer = nil)
1635
+ if new_sanitized_printer
1636
+ @own_sanitized_printer = new_sanitized_printer
1637
+ else
1638
+ @own_sanitized_printer || GraphQL::Language::SanitizedPrinter
1639
+ end
1640
+ end
1641
+
1634
1642
  # Execute a query on itself.
1635
1643
  # @see {Query#initialize} for arguments.
1636
1644
  # @return [Hash] query result, ready to be serialized as JSON
@@ -47,10 +47,16 @@ module GraphQL
47
47
  # _while_ building the schema.
48
48
  # It will dig for a type if it encounters a custom type. This could be a problem if there are cycles.
49
49
  directive_type_resolver = nil
50
- directive_type_resolver = build_resolve_type(GraphQL::Schema::BUILT_IN_TYPES, directives, ->(type_name) {
50
+ directive_type_resolver = build_resolve_type(types, directives, ->(type_name) {
51
51
  types[type_name] ||= begin
52
52
  defn = document.definitions.find { |d| d.respond_to?(:name) && d.name == type_name }
53
- build_definition_from_node(defn, directive_type_resolver, default_resolve)
53
+ if defn
54
+ build_definition_from_node(defn, directive_type_resolver, default_resolve)
55
+ elsif (built_in_defn = GraphQL::Schema::BUILT_IN_TYPES[type_name])
56
+ built_in_defn
57
+ else
58
+ raise "No definition for #{type_name.inspect} found in schema document or built-in types. Add a definition for it or remove it."
59
+ end
54
60
  end
55
61
  })
56
62
 
@@ -124,6 +124,7 @@ module GraphQL
124
124
  end
125
125
 
126
126
  def camelize(string)
127
+ return string if string == '_'
127
128
  return string unless string.include?("_")
128
129
  camelized = string.split('_').map(&:capitalize).join
129
130
  camelized[0] = camelized[0].downcase
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module GraphQL
3
- VERSION = "1.12.13"
3
+ VERSION = "1.12.14"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.13
4
+ version: 1.12.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Mosolgo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-30 00:00:00.000000000 Z
11
+ date: 2021-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: benchmark-ips
@@ -318,6 +318,8 @@ files:
318
318
  - lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb
319
319
  - lib/graphql/compatibility/query_parser_specification/query_assertions.rb
320
320
  - lib/graphql/compatibility/schema_parser_specification.rb
321
+ - lib/graphql/cop/nullability.rb
322
+ - lib/graphql/cop/resolve_methods.rb
321
323
  - lib/graphql/dataloader.rb
322
324
  - lib/graphql/dataloader/null_dataloader.rb
323
325
  - lib/graphql/dataloader/request.rb