Sha256: a34bf63727a2ea54d72207f26e7cfb47d4877e767cf2c97d4ca38bc83dfc222d

Contents?: true

Size: 1.46 KB

Versions: 48

Compression:

Stored size: 1.46 KB

Contents

# frozen_string_literal: true
require "graphql/query/serial_execution/value_resolution"
require "graphql/query/serial_execution/field_resolution"
require "graphql/query/serial_execution/operation_resolution"
require "graphql/query/serial_execution/selection_resolution"

module GraphQL
  class Query
    class SerialExecution
      # This is the only required method for an Execution strategy.
      # You could create a custom execution strategy and configure your schema to
      # use that custom strategy instead.
      #
      # @param ast_operation [GraphQL::Language::Nodes::OperationDefinition] The operation definition to run
      # @param root_type [GraphQL::ObjectType] either the query type or the mutation type
      # @param query_object [GraphQL::Query] the query object for this execution
      # @return [Hash] a spec-compliant GraphQL result, as a hash
      def execute(ast_operation, root_type, query_object)
        GraphQL::Deprecation.warn "#{self.class} will be removed in GraphQL-Ruby 2.0, please upgrade to the Interpreter: https://graphql-ruby.org/queries/interpreter.html"
        operation_resolution.resolve(
          query_object.irep_selection,
          root_type,
          query_object
        )
      end

      def field_resolution
        self.class::FieldResolution
      end

      def operation_resolution
        self.class::OperationResolution
      end

      def selection_resolution
        self.class::SelectionResolution
      end
    end
  end
end

Version data entries

48 entries across 48 versions & 2 rubygems

Version Path
graphql-1.13.23 lib/graphql/query/serial_execution.rb
graphql-1.13.22 lib/graphql/query/serial_execution.rb
graphql-1.13.21 lib/graphql/query/serial_execution.rb
graphql-1.13.20 lib/graphql/query/serial_execution.rb
graphql-1.13.19 lib/graphql/query/serial_execution.rb
graphql-1.13.18 lib/graphql/query/serial_execution.rb
graphql-1.13.17 lib/graphql/query/serial_execution.rb
graphql-1.13.16 lib/graphql/query/serial_execution.rb
graphql-1.13.15 lib/graphql/query/serial_execution.rb
graphql-1.13.14 lib/graphql/query/serial_execution.rb
graphql-1.13.13 lib/graphql/query/serial_execution.rb
graphql_cody-1.13.0 lib/graphql/query/serial_execution.rb
graphql-1.13.12 lib/graphql/query/serial_execution.rb
graphql-1.13.11 lib/graphql/query/serial_execution.rb
graphql-1.13.10 lib/graphql/query/serial_execution.rb
graphql-1.13.9 lib/graphql/query/serial_execution.rb
graphql-1.12.24 lib/graphql/query/serial_execution.rb
graphql-1.13.8 lib/graphql/query/serial_execution.rb
graphql-1.13.7 lib/graphql/query/serial_execution.rb
graphql-1.13.6 lib/graphql/query/serial_execution.rb