Sha256: 70aa85ea5eb40c5832dcc412897fb19d85680dd6f38bac8c41a1a90eae0cddbf

Contents?: true

Size: 796 Bytes

Versions: 6

Compression:

Stored size: 796 Bytes

Contents

# frozen_string_literal: true

module Rails # :nodoc:
  module GraphQL # :nodoc:
    class Request # :nodoc:
      # = GraphQl Sequenced Strategy
      #
      # This is the default resolution strategy, where each operation is
      # performed in sequece, and they don't relate to each other in any way.
      class Strategy::SequencedStrategy < Strategy
        def self.can_resolve?(_) # :nodoc:
          true
        end

        # Executes the strategy in the normal mode
        def resolve!
          response.with_stack(:data) do
            operations.each_value do |op|
              collect_listeners { op.organize! }
              collect_data      { op.prepare! }
              collect_response  { op.resolve! }
            end
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rails-graphql-0.2.1 lib/rails/graphql/request/strategy/sequenced_strategy.rb
rails-graphql-0.2.0 lib/rails/graphql/request/strategy/sequenced_strategy.rb
rails-graphql-0.1.3 lib/rails/graphql/request/strategy/sequenced_strategy.rb
rails-graphql-0.1.2 lib/rails/graphql/request/strategy/sequenced_strategy.rb
rails-graphql-0.1.1 lib/rails/graphql/request/strategy/sequenced_strategy.rb
rails-graphql-0.1.0 lib/rails/graphql/request/strategy/sequenced_strategy.rb