Class: SimpleCrud::Authorization::PunditAdapter
- Inherits:
-
Object
- Object
- SimpleCrud::Authorization::PunditAdapter
- Includes:
- Adapter
- Defined in:
- lib/simple_crud/authorization/pundit_adapter.rb
Overview
Default authorization adapter: standard Pundit #{Model}Policy classes.
Instance Method Summary collapse
- #authorize(controller, record) ⇒ Object
- #policy_defined?(model_class) ⇒ Boolean
- #policy_scope(controller, model_class) ⇒ Object
Instance Method Details
#authorize(controller, record) ⇒ Object
11 12 13 14 |
# File 'lib/simple_crud/authorization/pundit_adapter.rb', line 11 def (controller, record) # Pundit::Authorization#authorize is protected, hence send. controller.send(:authorize, record) end |
#policy_defined?(model_class) ⇒ Boolean
16 17 18 |
# File 'lib/simple_crud/authorization/pundit_adapter.rb', line 16 def policy_defined?(model_class) Kernel.const_defined?("#{model_class}Policy") end |
#policy_scope(controller, model_class) ⇒ Object
20 21 22 23 24 |
# File 'lib/simple_crud/authorization/pundit_adapter.rb', line 20 def policy_scope(controller, model_class) controller.send(:policy_scope, model_class) rescue Pundit::NotDefinedError model_class.all end |