Class: Releaf::Permissions::AccessControl
- Inherits:
-
Object
- Object
- Releaf::Permissions::AccessControl
- Defined in:
- lib/releaf/permissions/access_control.rb
Class Method Summary collapse
Instance Method Summary collapse
- #allowed_controllers ⇒ Object
- #controller_name_from_permission(permission) ⇒ Object
- #controller_permitted?(controller_name) ⇒ Boolean
- #permanent_allowed_controllers ⇒ Object
- #role_allowed_controllers ⇒ Object
Class Method Details
.draw_component_routes(router) ⇒ Object
12 13 14 |
# File 'lib/releaf/permissions/access_control.rb', line 12 def self.draw_component_routes(router) router.devise_for(Releaf.application.config..devise_for, path: "", controllers: { sessions: "releaf/permissions/sessions" }) end |
.initialize_component ⇒ Object
6 7 8 9 10 |
# File 'lib/releaf/permissions/access_control.rb', line 6 def self.initialize_component ActiveSupport.on_load :base_controller do Releaf::ActionController.send(:include, Releaf::Permissions::ControllerSupport) end end |
Instance Method Details
#allowed_controllers ⇒ Object
20 21 22 |
# File 'lib/releaf/permissions/access_control.rb', line 20 def allowed_controllers permanent_allowed_controllers + role_allowed_controllers end |
#controller_name_from_permission(permission) ⇒ Object
28 29 30 31 |
# File 'lib/releaf/permissions/access_control.rb', line 28 def () match = .match(/^controller\.(.+)/) match[1] if match end |
#controller_permitted?(controller_name) ⇒ Boolean
16 17 18 |
# File 'lib/releaf/permissions/access_control.rb', line 16 def controller_permitted?(controller_name) allowed_controllers.include?(controller_name) end |
#permanent_allowed_controllers ⇒ Object
33 34 35 |
# File 'lib/releaf/permissions/access_control.rb', line 33 def permanent_allowed_controllers Releaf.application.config..permanent_allowed_controllers end |
#role_allowed_controllers ⇒ Object
24 25 26 |
# File 'lib/releaf/permissions/access_control.rb', line 24 def role_allowed_controllers user.role..map{|| (.) }.compact end |