Sha256: b509e423c45f53395ef81c8fe39165ac9d60839000f52feb1d56119337160490
Contents?: true
Size: 600 Bytes
Versions: 10
Compression:
Stored size: 600 Bytes
Contents
require "godmin/authorization/policy" require "godmin/authorization/policy_finder" module Godmin module Authorization extend ActiveSupport::Concern included do helper_method :policy end def authorize(record) policy = policy(record) unless policy.public_send(action_name + "?") raise NotAuthorizedError end end def policy(record) policies[record] ||= PolicyFinder.find(record).constantize.new(admin_user, record) end def policies @_policies ||= {} end class NotAuthorizedError < StandardError; end end end
Version data entries
10 entries across 10 versions & 1 rubygems