Это первый раз, когда я использую Pundit, и я не очень знаком с ним.Я хочу проверить свою политику приложения, чтобы убедиться, что все методы вызывают NotImplementError, поскольку я хочу убедиться, что все методы реализованы в политике подкласса.
Я пытался смоделировать подкласс, но я не уверен в том, что я делаю, любойпомощь будет оценена.
# frozen_string_literal: true
# This class wrap the application policy
# and raise NotImplementedError if a method is not implemented
class ApplicationPolicy
attr_reader :user, :record
def initialize(user, record)
@user = user
@record = record
end
def index?
raise NotImplementedError
end
def show?
raise NotImplementedError
end
def create?
raise NotImplementedError
end
def new?
raise NotImplementedError
end
def update?
raise NotImplementedError
end
def edit?
raise NotImplementedError
end
def destroy?
raise NotImplementedError
end
# Scopes are used to define view listing records
# which a particular user has access to.
class Scope
attr_reader :user, :scope
def initialize(user, scope)
@user = user
@scope = scope
end
def resolve
scope.all
end
end
end
Я ожидаю, что подкласс вызовет NotImplementedError при регулярном тестировании с Rpsec.
Любая помощь / предложение будет высоко оценена!