class ActionPolicy::GraphQL::AuthorizedField::AuthorizeFieldExtension

Public Instance Methods

apply() click to toggle source
# File lib/action_policy/graphql/authorized_field.rb, line 95
def apply
  @to = extract_option(:to) { underscored_field_name }
  @raise = extract_option(:raise) { ::ActionPolicy::GraphQL.authorize_raise_exception }
end
resolve(context:, object:, arguments:, **_rest) { |object, arguments| ... } click to toggle source
# File lib/action_policy/graphql/authorized_field.rb, line 100
def resolve(context:, object:, arguments:, **_rest)
  if @raise
    object.authorize! object.object, to: @to, **options
    yield object, arguments
  elsif object.allowed_to?(@to, object.object, **options)
    yield object, arguments
  end
end

Private Instance Methods

underscored_field_name() click to toggle source
# File lib/action_policy/graphql/authorized_field.rb, line 111
def underscored_field_name
  "#{field.instance_variable_get(:@underscored_name)}?".to_sym
end