lib/graphql-pundit/instrumenter.rb in graphql-pundit-0.5.1 vs lib/graphql-pundit/instrumenter.rb in graphql-pundit-0.6.0

- old
+ new

@@ -1,28 +1,34 @@ # frozen_string_literal: true require 'pundit' require 'graphql-pundit/instrumenters/authorization' -require 'graphql-pundit/instrumenters/scope' +require 'graphql-pundit/instrumenters/before_scope' +require 'graphql-pundit/instrumenters/after_scope' module GraphQL module Pundit # Intrumenter combining the authorization and scope instrumenters class Instrumenter attr_reader :current_user, :authorization_instrumenter, - :scope_instrumenter + :before_scope_instrumenter, + :after_scope_instrumenter def initialize(current_user = :current_user) @current_user = current_user - @authorization_instrumenter = Instrumenters::Authorization. - new(current_user) - @scope_instrumenter = Instrumenters::Scope.new(current_user) + @authorization_instrumenter = + Instrumenters::Authorization.new(current_user) + @before_scope_instrumenter = + Instrumenters::BeforeScope.new(current_user) + @after_scope_instrumenter = Instrumenters::AfterScope.new(current_user) end def instrument(type, field) - scoped_field = scope_instrumenter.instrument(type, field) - authorization_instrumenter.instrument(type, scoped_field) + before_scoped_field = before_scope_instrumenter.instrument(type, field) + after_scoped_field = after_scope_instrumenter. + instrument(type, before_scoped_field) + authorization_instrumenter.instrument(type, after_scoped_field) end end end end