Sha256: 8c2d454cf01a12bebfb1010b2273eb92803acc32d15e280ccfbfae6c1d94a36c
Contents?: true
Size: 1.16 KB
Versions: 2
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true require 'pundit' require 'graphql-pundit/instrumenters/authorization' 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, :before_scope_instrumenter, :after_scope_instrumenter def initialize(current_user = :current_user) @current_user = 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) 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
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
graphql-pundit2-1 | lib/graphql-pundit/instrumenter.rb |
graphql-pundit2-0.9.1 | lib/graphql-pundit/instrumenter.rb |