lib/proxes/policies/request_policy.rb in proxes-0.8.2 vs lib/proxes/policies/request_policy.rb in proxes-0.8.3
- old
+ new
@@ -7,20 +7,21 @@
module ProxES
class RequestPolicy
include Helpers::Indices
attr_reader :user, :record
+ alias request record
def initialize(user, record)
@user = user
@record = record
end
def method_missing(method_sym, *arguments, &block)
return super if method_sym.to_s[-1] != '?'
- return true if record.indices? && index_allowed?
+ return false if request.indices? && !index_allowed?
action_allowed? method_sym[0..-2].upcase
end
def respond_to_missing?(name, _include_private = false)
name[-1] == '?'
@@ -28,17 +29,17 @@
def index_allowed?
patterns = patterns_for('INDEX').map do |permission|
permission.pattern.gsub(/\{user.(.*)\}/) { |_match| user.send(Regexp.last_match[1].to_sym) }
end
- filter(record.index, patterns).count > 0
+ filter(request.index, patterns).count > 0
end
def action_allowed?(action)
# Give me all the user's permissions that match the verb
patterns_for(action).each do |permission|
- return true if record.path =~ /#{permission.pattern}/
+ return true if request.path =~ /#{permission.pattern}/
end
false
end
def patterns_for(action)
@@ -52,9 +53,10 @@
class Scope
include Helpers::Indices
attr_reader :user, :scope
+ alias request scope
def initialize(user, scope)
@user = user
@scope = scope
end