graphql 1.12.24 → 1.12.25

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: fee883bb45ad2391215f85a31ceec2f69b19c07c138708f002643c2fdf4c8a19
4
- data.tar.gz: 925fb0e6f0acbb8ceddb79ad2eec4e8cfcd73bdf5cb51ad708dd1d7ebb491e2d
3
+ metadata.gz: 582e38c72afb32d38c7a256d1eb811a7ef0e13b8984c10370e278f038c639343
4
+ data.tar.gz: 2fc62afb65909e4e08d5ad42c2c5c40a48a7acedca8afa5ac512a4aa60284a8e
5
5
  SHA512:
6
- metadata.gz: 480aba657ba456d83bc543132f730b56444068a8a14c054c5f7f98a3d7c87179d23d843cc862b4ba8388bdf020fcb3f231c4513a93c824cc7ce15e61a9160c67
7
- data.tar.gz: 5744a84a14e922b2b26984986351cab87e41da464b985b1b28d53c7c42a921b5dd53cadca09c8a1679a2af1f7ee40dd42894e32bee373b88c8c2fe6fa917a1e9
6
+ metadata.gz: 922e24767106339ff4e441cc9597a6a974814371180aa5bdaab2db7608ac590610199af451f0dfc85019dd4a531bb7934e57a60f7cf976be1c095f3722866474
7
+ data.tar.gz: dd2b9fb0f9f26dd8ad3b3841516eadd66b05765de3f0490eafce49fc29599cc6894f1a0d376b3f3bef47d850fd3948ff7b03256721575a2ae6b06f6fd6741736
@@ -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
@@ -276,6 +278,7 @@ module GraphQL
276
278
  RUBY
277
279
  end
278
280
  end
281
+ # rubocop:enable Development/NoEvalCop
279
282
  end
280
283
  end
281
284
 
@@ -55,6 +55,7 @@ module GraphQL
55
55
  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:, validates: nil, directives: nil, deprecation_reason: nil, &definition_block)
56
56
  arg_name ||= name
57
57
  @name = -(camelize ? Member::BuildType.camelize(arg_name.to_s) : arg_name.to_s)
58
+ NameValidator.validate!(@name)
58
59
  @type_expr = type_expr || type
59
60
  @description = desc || description
60
61
  @null = !required
@@ -78,11 +79,8 @@ module GraphQL
78
79
  self.validates(validates)
79
80
 
80
81
  if definition_block
81
- if definition_block.arity == 1
82
- instance_exec(self, &definition_block)
83
- else
84
- instance_eval(&definition_block)
85
- end
82
+ # `self` will still be self, it will also be the first argument to the block:
83
+ instance_exec(self, &definition_block)
86
84
  end
87
85
  end
88
86
 
@@ -426,17 +426,18 @@ module GraphQL
426
426
 
427
427
  # Don't do this for interfaces
428
428
  if default_resolve
429
- owner.class_eval <<-RUBY, __FILE__, __LINE__
430
- # frozen_string_literal: true
431
- def #{resolve_method_name}(**args)
432
- field_instance = self.class.get_field("#{field_definition.name}")
433
- context.schema.definition_default_resolve.call(self.class, field_instance, object, args, context)
434
- end
435
- RUBY
429
+ define_field_resolve_method(owner, resolve_method_name, field_definition.name)
436
430
  end
437
431
  end
438
432
  end
439
433
 
434
+ def define_field_resolve_method(owner, method_name, field_name)
435
+ owner.define_method(method_name) { |**args|
436
+ field_instance = self.class.get_field(field_name)
437
+ context.schema.definition_default_resolve.call(self.class, field_instance, object, args, context)
438
+ }
439
+ end
440
+
440
441
  def build_resolve_type(lookup_hash, directives, missing_type_handler)
441
442
  resolve_type_proc = nil
442
443
  resolve_type_proc = ->(ast_node) {
@@ -55,7 +55,7 @@ module GraphQL
55
55
  end
56
56
 
57
57
  if block_given?
58
- instance_eval(&block)
58
+ instance_exec(self, &block)
59
59
  end
60
60
  end
61
61
 
@@ -231,6 +231,7 @@ module GraphQL
231
231
  name_s = -name.to_s
232
232
  @underscored_name = -Member::BuildType.underscore(name_s)
233
233
  @name = -(camelize ? Member::BuildType.camelize(name_s) : name_s)
234
+ NameValidator.validate!(@name)
234
235
  @description = description
235
236
  if field.is_a?(GraphQL::Schema::Field)
236
237
  raise ArgumentError, "Instead of passing a field as `field:`, use `add_field(field)` to add an already-defined field."
@@ -123,12 +123,8 @@ module GraphQL
123
123
  def argument(*args, **kwargs, &block)
124
124
  argument_defn = super(*args, **kwargs, &block)
125
125
  # Add a method access
126
- method_name = argument_defn.keyword
127
- class_eval <<-RUBY, __FILE__, __LINE__
128
- def #{method_name}
129
- self[#{method_name.inspect}]
130
- end
131
- RUBY
126
+ define_accessor_method(argument_defn.keyword)
127
+ argument_defn
132
128
  end
133
129
 
134
130
  def to_graphql
@@ -236,6 +232,13 @@ module GraphQL
236
232
 
237
233
  result
238
234
  end
235
+
236
+ private
237
+
238
+ def define_accessor_method(method_name)
239
+ define_method(method_name) { self[method_name] }
240
+ alias_method(method_name, method_name)
241
+ end
239
242
  end
240
243
 
241
244
  private
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module GraphQL
3
- VERSION = "1.12.24"
3
+ VERSION = "1.12.25"
4
4
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.24
4
+ version: 1.12.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Mosolgo
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2022-02-04 00:00:00.000000000 Z
10
+ date: 2025-03-12 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: benchmark-ips
@@ -687,7 +686,6 @@ metadata:
687
686
  source_code_uri: https://github.com/rmosolgo/graphql-ruby
688
687
  bug_tracker_uri: https://github.com/rmosolgo/graphql-ruby/issues
689
688
  mailing_list_uri: https://tinyletter.com/graphql-ruby
690
- post_install_message:
691
689
  rdoc_options: []
692
690
  require_paths:
693
691
  - lib
@@ -702,8 +700,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
702
700
  - !ruby/object:Gem::Version
703
701
  version: '0'
704
702
  requirements: []
705
- rubygems_version: 3.1.6
706
- signing_key:
703
+ rubygems_version: 3.6.3
707
704
  specification_version: 4
708
705
  summary: A GraphQL language and runtime for Ruby
709
706
  test_files: []