Sha256: 3b07863d913f8d668e5df6302f5c7e7fe62c2d2503bce0b09973cab2adee9c92

Contents?: true

Size: 645 Bytes

Versions: 2

Compression:

Stored size: 645 Bytes

Contents

# frozen_string_literal: true

module GraphQL
  module Pundit
    # Common methods used for authorization and scopes
    module Common
      # Class methods to be included in the Field class
      module ClassMethods
        def current_user(current_user = nil)
          return @current_user unless current_user
          @current_user = current_user
        end
      end

      def self.included(base)
        @current_user = :current_user
        base.extend(ClassMethods)
      end

      def callable?(thing)
        thing.respond_to?(:call)
      end

      def model?(thing)
        thing.respond_to?(:model)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
graphql-pundit-387-0.7.1 lib/graphql-pundit/common.rb
graphql-pundit-0.7.1 lib/graphql-pundit/common.rb