trabajo-afectivo/app/policies/pundit_policy.rb

33 lines
534 B
Ruby
Raw Normal View History

module PunditPolicy
attr_reader :user, :custom_exception
def initialize(user, context)
@user = user
user_required! if user_required?
initialize_context(context)
end
def user_required?
true
end
def user_required!
return if user
raise Exceptions::NotAuthorized, 'authentication failed'
end
private
def not_authorized(details = nil)
if details
details = "Not authorized (#{details})!"
end
@custom_exception = Exceptions::NotAuthorized.new(details)
false
end
end