class GraphQL::Schema::Field::DynamicResolve
def public_send_field(obj, method_name, graphql_args, field_ctx)
def public_send_field(obj, method_name, graphql_args, field_ctx) if graphql_args.any? || @extras.any? # Splat the GraphQL::Arguments to Ruby keyword arguments ruby_kwargs = {} graphql_args.keys.each do |key| ruby_kwargs[Schema::Member::BuildType.underscore(key).to_sym] = graphql_args[key] end if @connection # Remove pagination args before passing it to a user method ruby_kwargs.delete(:first) ruby_kwargs.delete(:last) ruby_kwargs.delete(:before) ruby_kwargs.delete(:after) end @extras.each do |extra_arg| # TODO: provide proper tests for `:ast_node`, `:irep_node`, `:parent`, others? ruby_kwargs[extra_arg] = field_ctx.public_send(extra_arg) end else ruby_kwargs = NO_ARGS end if ruby_kwargs.any? obj.public_send(method_name, ruby_kwargs) else obj.public_send(method_name) end end