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