32 lines
526 B
Ruby
32 lines
526 B
Ruby
# frozen_string_literal: true
|
|
class AdminPolicy < Struct.new(:user, :dashboard)
|
|
attr_reader :user, :record
|
|
|
|
def initialize(user, record)
|
|
raise Pundit::NotAuthorizedError, "Must be logged in." unless user
|
|
@user = user
|
|
@record = record
|
|
end
|
|
|
|
def dashboard?
|
|
true
|
|
end
|
|
|
|
def scope
|
|
Pundit.policy_scope!(user, record.class)
|
|
end
|
|
|
|
class Scope
|
|
attr_reader :user, :scope
|
|
|
|
def initialize(user, scope)
|
|
@user = user
|
|
@scope = scope
|
|
end
|
|
|
|
def resolve
|
|
scope
|
|
end
|
|
end
|
|
end
|