graphql 1.11.10 → 1.11.12

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: edd6b4edae07b6c52383810319efb2cdd19a8f818639dda22c79308620330274
4
- data.tar.gz: '09869b52706e249e6e41282e9e06243547db556d42410c4e2d0cb9abf00d7e3f'
3
+ metadata.gz: ee8b1fd3f821af97c7baeab840141edf4251ad4cf2edd538d204b230d73d3388
4
+ data.tar.gz: a72a7d21e223f349f75f66e28e0a3cb421dceb21ad9085aca804ed912cba142f
5
5
  SHA512:
6
- metadata.gz: d5c8e1b96dea2f3ac9c8c93639e6b0c9763984c9af6ca09201ef89bfbbfd2ff61cd622417d04f5624fb6c679822d8a58c1a148c5139e1e1e51bf03eb5aaaaa4a
7
- data.tar.gz: 07c12d4dd5b50d5b36a3c8e298ae663969e203ce6103c449ec0b599c5960c145b34dd9c023986c5d3cb2f0d6169b5395530bca6d07985152fb12505dc1af6036
6
+ metadata.gz: 71bf8a12a950c16ca7f2fdd5ffc752a469088926bab9955bf6df406dd2a264994506ed98f144ca0b1c5e6dea45f387f3e8c97091bfb1e9e829f2d815c10beac8
7
+ data.tar.gz: ef9a2d5ca4e871099e11f39601431968c38f8af288f92de0c50e571dc5088171b9dbbee55602e9d68000036ab6c530a297c57b1945d1b96eff76136b0142531d
@@ -133,6 +133,8 @@ module GraphQL
133
133
  end
134
134
 
135
135
  class << self
136
+ # rubocop:disable Development/NoEvalCop This eval takes static inputs at load-time
137
+
136
138
  # Add a default `#visit_method` and `#children_method_name` using the class name
137
139
  def inherited(child_class)
138
140
  super
@@ -265,8 +267,11 @@ module GraphQL
265
267
  #{assignments.join("\n")}
266
268
  end
267
269
  RUBY
270
+
271
+ # rubocop:enable Development/NoEvalCop
268
272
  end
269
273
  end
274
+ # rubocop:enable Development/NoEvalCop
270
275
  end
271
276
  end
272
277
 
@@ -73,6 +73,7 @@ module GraphQL
73
73
  @document
74
74
  end
75
75
  end
76
+ # rubocop:disable Development/NoEvalCop This eval takes static inputs at load-time
76
77
 
77
78
  # Call the user-defined handler for `node`.
78
79
  def visit_node(node, parent)
@@ -49,6 +49,7 @@ module GraphQL
49
49
  def initialize(arg_name = nil, type_expr = nil, desc = nil, required:, type: nil, name: nil, loads: nil, description: nil, ast_node: nil, default_value: NO_DEFAULT, as: nil, from_resolver: false, camelize: true, prepare: nil, method_access: true, owner:, deprecation_reason: nil, &definition_block)
50
50
  arg_name ||= name
51
51
  @name = -(camelize ? Member::BuildType.camelize(arg_name.to_s) : arg_name.to_s)
52
+ NameValidator.validate!(@name)
52
53
  @type_expr = type_expr || type
53
54
  @description = desc || description
54
55
  @null = !required
@@ -64,11 +65,8 @@ module GraphQL
64
65
  self.deprecation_reason = deprecation_reason
65
66
 
66
67
  if definition_block
67
- if definition_block.arity == 1
68
- instance_exec(self, &definition_block)
69
- else
70
- instance_eval(&definition_block)
71
- end
68
+ # `self` will still be self, it will also be the first argument to the block:
69
+ instance_exec(self, &definition_block)
72
70
  end
73
71
  end
74
72
 
@@ -342,13 +342,7 @@ module GraphQL
342
342
 
343
343
  # Don't do this for interfaces
344
344
  if default_resolve
345
- owner.class_eval <<-RUBY, __FILE__, __LINE__
346
- # frozen_string_literal: true
347
- def #{resolve_method_name}(**args)
348
- field_instance = self.class.get_field("#{field_definition.name}")
349
- context.schema.definition_default_resolve.call(self.class, field_instance, object, args, context)
350
- end
351
- RUBY
345
+ define_field_resolve_method(owner, resolve_method_name, field_definition.name)
352
346
  end
353
347
  end
354
348
  end
@@ -367,6 +361,13 @@ module GraphQL
367
361
  end
368
362
  end
369
363
 
364
+ def define_field_resolve_method(owner, method_name, field_name)
365
+ owner.define_method(method_name) { |**args|
366
+ field_instance = self.class.get_field(field_name)
367
+ context.schema.definition_default_resolve.call(self.class, field_instance, object, args, context)
368
+ }
369
+ end
370
+
370
371
  def resolve_type_name(type)
371
372
  case type
372
373
  when GraphQL::Language::Nodes::TypeName
@@ -49,7 +49,7 @@ module GraphQL
49
49
  @ast_node = ast_node
50
50
 
51
51
  if block_given?
52
- instance_eval(&block)
52
+ instance_exec(self, &block)
53
53
  end
54
54
  end
55
55
 
@@ -222,6 +222,7 @@ module GraphQL
222
222
  name_s = -name.to_s
223
223
  @underscored_name = -Member::BuildType.underscore(name_s)
224
224
  @name = -(camelize ? Member::BuildType.camelize(name_s) : name_s)
225
+ NameValidator.validate!(@name)
225
226
  @description = description
226
227
  if field.is_a?(GraphQL::Schema::Field)
227
228
  raise ArgumentError, "Instead of passing a field as `field:`, use `add_field(field)` to add an already-defined field."
@@ -125,12 +125,8 @@ module GraphQL
125
125
  def argument(*args, **kwargs, &block)
126
126
  argument_defn = super(*args, **kwargs, &block)
127
127
  # Add a method access
128
- method_name = argument_defn.keyword
129
- class_eval <<-RUBY, __FILE__, __LINE__
130
- def #{method_name}
131
- self[#{method_name.inspect}]
132
- end
133
- RUBY
128
+ define_accessor_method(argument_defn.keyword)
129
+ argument_defn
134
130
  end
135
131
 
136
132
  def to_graphql
@@ -239,6 +235,13 @@ module GraphQL
239
235
 
240
236
  result
241
237
  end
238
+
239
+ private
240
+
241
+ def define_accessor_method(method_name)
242
+ define_method(method_name) { self[method_name] }
243
+ alias_method(method_name, method_name)
244
+ end
242
245
  end
243
246
  end
244
247
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module GraphQL
3
- VERSION = "1.11.10"
3
+ VERSION = "1.11.12"
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.11.10
4
+ version: 1.11.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Mosolgo
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-05 00:00:00.000000000 Z
11
+ date: 2025-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: benchmark-ips
@@ -741,7 +741,7 @@ metadata:
741
741
  source_code_uri: https://github.com/rmosolgo/graphql-ruby
742
742
  bug_tracker_uri: https://github.com/rmosolgo/graphql-ruby/issues
743
743
  mailing_list_uri: https://tinyletter.com/graphql-ruby
744
- post_install_message:
744
+ post_install_message:
745
745
  rdoc_options: []
746
746
  require_paths:
747
747
  - lib
@@ -756,8 +756,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
756
756
  - !ruby/object:Gem::Version
757
757
  version: '0'
758
758
  requirements: []
759
- rubygems_version: 3.2.22
760
- signing_key:
759
+ rubygems_version: 3.1.6
760
+ signing_key:
761
761
  specification_version: 4
762
762
  summary: A GraphQL language and runtime for Ruby
763
763
  test_files: []