class GraphQL::AuthorizationHelper

Defines `authorize` and `authorize!` helpers

Attributes

raise_unauthorized[R]

Public Class Methods

new(raise_unauthorized) click to toggle source
# File lib/graphql-pundit.rb, line 17
def initialize(raise_unauthorized)
  @raise_unauthorized = raise_unauthorized
end

Public Instance Methods

call(defn, *args, policy: nil, record: nil) click to toggle source
# File lib/graphql-pundit.rb, line 21
def call(defn, *args, policy: nil, record: nil)
  query = args[0] || defn.name
  opts = {record: record,
          query: query,
          policy: policy,
          raise: raise_unauthorized}
  if query.respond_to?(:call)
    opts = {proc: query, raise: raise_unauthorized}
  end
  Define::InstanceDefinable::AssignMetadataKey.new(:authorize).
    call(defn, opts)
end