2019-08-14 09:48:44 +00:00
|
|
|
class ApplicationPolicy
|
2020-05-26 17:08:48 +00:00
|
|
|
attr_reader :user_context, :user, :record, :account, :account_user
|
2019-08-14 09:48:44 +00:00
|
|
|
|
2020-05-26 17:08:48 +00:00
|
|
|
def initialize(user_context, record)
|
|
|
|
@user_context = user_context = user_context
|
|
|
|
@user = user_context[:user]
|
|
|
|
@account = user_context[:account]
|
|
|
|
@account_user = user_context[:account_user]
|
2019-08-14 09:48:44 +00:00
|
|
|
@record = record
|
|
|
|
end
|
|
|
|
|
|
|
|
def index?
|
|
|
|
false
|
|
|
|
end
|
|
|
|
|
|
|
|
def show?
|
2019-10-20 08:47:26 +00:00
|
|
|
scope.where(id: record.id).exists?
|
2019-08-14 09:48:44 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def create?
|
|
|
|
false
|
|
|
|
end
|
|
|
|
|
|
|
|
def new?
|
|
|
|
create?
|
|
|
|
end
|
|
|
|
|
|
|
|
def update?
|
|
|
|
false
|
|
|
|
end
|
|
|
|
|
|
|
|
def edit?
|
|
|
|
update?
|
|
|
|
end
|
|
|
|
|
|
|
|
def destroy?
|
|
|
|
false
|
|
|
|
end
|
|
|
|
|
|
|
|
def scope
|
2020-05-26 17:08:48 +00:00
|
|
|
Pundit.policy_scope!(user_context, record.class)
|
2019-08-14 09:48:44 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
class Scope
|
2020-05-26 17:08:48 +00:00
|
|
|
attr_reader :user_context, :user, :scope, :account, :account_user
|
2019-08-14 09:48:44 +00:00
|
|
|
|
2020-05-26 17:08:48 +00:00
|
|
|
def initialize(user_context, scope)
|
|
|
|
@user_context = user_context = user_context
|
|
|
|
@user = user_context[:user]
|
|
|
|
@account = user_context[:account]
|
|
|
|
@account_user = user_context[:account_user]
|
2019-08-14 09:48:44 +00:00
|
|
|
@scope = scope
|
|
|
|
end
|
|
|
|
|
|
|
|
def resolve
|
|
|
|
scope
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|