class ProxES::RequestPolicy::Scope

Attributes

request[R]
scope[R]
user[R]

Public Class Methods

new(user, scope) click to toggle source
# File lib/proxes/policies/request_policy.rb, line 44
def initialize(user, scope)
  @user = user || Ditty::User.anonymous_user
  @scope = scope
end

Public Instance Methods

permissions() click to toggle source
# File lib/proxes/policies/request_policy.rb, line 58
def permissions
  @permissions ||= Permission.for_user(user).for_request(request)
end
resolve() click to toggle source
# File lib/proxes/policies/request_policy.rb, line 49
def resolve
  return permissions.map(&:index) if request.indices == ['*'] || request.indices == ['_all'] || request.indices.blank?

  request.indices.select do |idx|
    idx = idx[1..-1] if idx[0] == '-'
    permissions.find { |perm| perm.index_regex.match idx }
  end
end