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