Class: RailsAdmin::Extensions::CanCanCan::AuthorizationAdapter

Inherits:
RailsAdmin::Extensions::CanCan::AuthorizationAdapter show all
Defined in:
lib/rails_admin/extensions/cancancan/authorization_adapter.rb

Overview

This adapter is for the CanCanCan authorization library.

Instance Method Summary collapse

Methods inherited from RailsAdmin::Extensions::CanCan::AuthorizationAdapter

#attributes_for, #initialize, #query

Constructor Details

This class inherits a constructor from RailsAdmin::Extensions::CanCan::AuthorizationAdapter

Instance Method Details

#authorize(action, abstract_model = nil, model_object = nil) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/rails_admin/extensions/cancancan/authorization_adapter.rb', line 6

def authorize(action, abstract_model = nil, model_object = nil)
  return unless action
  subject = model_object || abstract_model && abstract_model.model
  if authorized_for_dashboard_in_legacy_way?(action)
    subject
  else
    @controller.current_ability.authorize!(*resolve_with_compatibility(action, subject))
  end
end

#authorized?(action, abstract_model = nil, model_object = nil) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
# File 'lib/rails_admin/extensions/cancancan/authorization_adapter.rb', line 16

def authorized?(action, abstract_model = nil, model_object = nil)
  return unless action
  subject = model_object || abstract_model && abstract_model.model
  authorized_for_dashboard_in_legacy_way?(action, true) ||
    @controller.current_ability.can?(*resolve_with_compatibility(action, subject))
end