Sha256: 0951aae834cae26af577d4fa2b90f8b8d3739792d16a10173fc4a81cdae4e8ae

Contents?: true

Size: 508 Bytes

Versions: 5

Compression:

Stored size: 508 Bytes

Contents

# frozen_string_literal: true

require 'proxes/policies/request_policy'

module ProxES
  class Request
    class CatPolicy < RequestPolicy
      class Scope < RequestPolicy::Scope
        def resolve
          return [] if user.nil?

          patterns = Permission.for_user(user, 'INDEX').map do |permission|
            permission.pattern.gsub(/\{user.(.*)\}/) { |_match| user.send(Regexp.last_match[1].to_sym) }
          end
          filter scope.index, patterns
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
proxes-0.8.2 lib/proxes/policies/request/cat_policy.rb
proxes-0.8.1 lib/proxes/policies/request/cat_policy.rb
proxes-0.8.0 lib/proxes/policies/request/cat_policy.rb
proxes-0.7.1 lib/proxes/policies/request/cat_policy.rb
proxes-0.7.0 lib/proxes/policies/request/cat_policy.rb