app/policies/application_policy.rb
# frozen_string_literal: true
class ApplicationPolicy
attr_reader :user, :record
delegate :admin?, to: :user
def initialize(user, record)
@user = user
@record = record
end
def index?
admin?
end
def show?
admin?
end
def create?
admin?
end
def new?
create?
end
def update?
admin?
end
def edit?
update?
end
def destroy?
admin?
end
class Scope
attr_reader :user, :scope
def initialize(user, scope)
@user = user
@scope = scope
end
def resolve
scope.all
end
end
end