class FileUploadPolicy < ApplicationPolicy
def create?
can_create = false
FileUploadPolicy.creator_roles.each do |role|
can_create = can_create || @user.send("#{role}?".to_sym)
end
can_create
end
def self.creator_roles
[User::SUPER_ADMIN_ROLE, User::CATEGORY_MANAGER_ROLE, User::CATALOGUE_MANAGER_ROLE]
end
end
class User < AB
def self.uploaders
uploader_roles= FileUploadPolicy.creator_roles
matching_role_query = uploader_roles.map do |role|
"(roles like '%#{role}%')"
end.join(' or ')
self.where(matching_role_query)
end
end