Sha256: 1bdc77c9541c5868e7014653df318dddcc6e80d03ca8f2fa2a38c67e8e84abc0
Contents?: true
Size: 729 Bytes
Versions: 7
Compression:
Stored size: 729 Bytes
Contents
# frozen_string_literal: true require 'ditty/db' require 'proxes/models/permission' require 'proxes/policies/request_policy' module ProxES class Request class IndexPolicy < RequestPolicy class Scope < RequestPolicy::Scope def resolve return [] if user.nil? patterns = Permission.for_user(user, 'INDEX').map do |permission| permission.pattern.gsub(/\{user.(.*)\}/) do |_match| user.send(Regexp.last_match[1].to_sym) end end result = filter(request.index, patterns) return [] unless result.count > 0 %w[POST PUT].include?(request.request_method) ? request.index : result end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems