class GraphqlAuthorize::AuthAdapters::CanCanCan

Public Instance Methods

authorize() click to toggle source
# File lib/graphql_authorize/auth_adapters/can_can_can.rb, line 6
def authorize
  unless field_definition.authorize.is_a?(Array)
    raise ArgumentError, I18n.t("graphql_authorize.auth.arrayargs")
  end

  unless source.respond_to?(:can?)
    raise ArgumentError, I18n.t("graphql_authorize.auth.canrespond")
  end

  source.can?(*field_definition.authorize)
end

Private Instance Methods

auth_adapter_source() click to toggle source
# File lib/graphql_authorize/auth_adapters/can_can_can.rb, line 20
def auth_adapter_source
  GraphqlAuthorize.config.auth_adapter_source
end
source() click to toggle source
# File lib/graphql_authorize/auth_adapters/can_can_can.rb, line 24
def source
  @source ||=
    if auth_adapter_source
      auth_adapter_source.call(context)
    else
      Ability.new(context[:current_user])
    end
end