class GraphQL::Pundit::Instrumenters::Scope
Base instrumenter for `before_scope` and `after_scope`
Attributes
current_user[R]
Public Class Methods
new(current_user = :current_user)
click to toggle source
# File lib/graphql-pundit/instrumenters/scope.rb, line 65 def initialize(current_user = :current_user) @current_user = current_user end
Public Instance Methods
instrument(_type, field)
click to toggle source
rubocop:disable Metrics/MethodLength
# File lib/graphql-pundit/instrumenters/scope.rb, line 70 def instrument(_type, field) # rubocop:enable Metrics/MethodLength scope_metadata = field.metadata[self.class::SCOPE_KEY] return field unless scope_metadata scope = scope_metadata[:proc] old_resolver = field.resolve_proc resolver = self.class::ScopeResolver.new(current_user, scope, old_resolver, field) field.redefine do resolve resolver end end