Module: Glib::Auth::Policy::Overrides
- Defined in:
- app/controllers/concerns/glib/auth/policy.rb
Instance Method Summary collapse
- #policy(record, policy_name = nil, attributes = {}) ⇒ Object
-
#policy_scope(*args) ⇒ Object
Override.
Instance Method Details
#policy(record, policy_name = nil, attributes = {}) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/controllers/concerns/glib/auth/policy.rb', line 23 def policy(record, policy_name = nil, attributes = {}) policy_name ||= record @__pundit_policies ||= {} return @__pundit_policies[policy_name] if @__pundit_policies[policy_name] if policy_name.is_a?(Symbol) && policy_name.to_s.ends_with?('_admin') policy_class = CommonAdminPolicy else policy_class = Pundit::PolicyFinder.new(policy_name).policy end raise "Policy not found for #{policy_name.is_a?(Symbol) || policy_name.is_a?(Class) ? policy_name : policy_name.class}" unless policy_class @__pundit_policies[policy_name] = policy_class.new(current_user, record, policy_name, self, request, params, attributes: attributes) end |
#policy_scope(*args) ⇒ Object
Override
42 43 44 |
# File 'app/controllers/concerns/glib/auth/policy.rb', line 42 def policy_scope(*args) super end |