class NaturalResource::Policy
Attributes
record[R]
user[R]
Public Class Methods
new(user, record)
click to toggle source
# File lib/natural_resource/policy.rb, line 10 def initialize(user, record) @user = user @record = record @errors = Hash.new { |h,k| h[k]= Set.new([]) } @failure_status = nil end
Public Instance Methods
anon?()
click to toggle source
# File lib/natural_resource/policy.rb, line 61 def anon? user.nil? end
create?()
click to toggle source
# File lib/natural_resource/policy.rb, line 37 def create? false end
destroy?()
click to toggle source
# File lib/natural_resource/policy.rb, line 53 def destroy? false end
edit?()
click to toggle source
# File lib/natural_resource/policy.rb, line 49 def edit? update? end
errors()
click to toggle source
# File lib/natural_resource/policy.rb, line 21 def errors if @errors.keys.empty? {user: ['does not have permission to perform this action']} else @errors end end
failure_status()
click to toggle source
# File lib/natural_resource/policy.rb, line 17 def failure_status @failure_status.presence || :unauthorized end
index?()
click to toggle source
# File lib/natural_resource/policy.rb, line 29 def index? false end
new?()
click to toggle source
# File lib/natural_resource/policy.rb, line 41 def new? create? end
own_record?()
click to toggle source
# File lib/natural_resource/policy.rb, line 57 def own_record? user && record.user == user end
scope()
click to toggle source
# File lib/natural_resource/policy.rb, line 65 def scope Pundit.policy_scope!(user, record.class) end
show?()
click to toggle source
# File lib/natural_resource/policy.rb, line 33 def show? scope.where(id: record.id).exists? end
update?()
click to toggle source
# File lib/natural_resource/policy.rb, line 45 def update? false end