class Releaf::Permissions::AccessControl
Public Class Methods
draw_component_routes(router)
click to toggle source
# File lib/releaf/permissions/access_control.rb, line 12 def self.draw_component_routes(router) router.devise_for(Releaf.application.config.permissions.devise_for, path: "", controllers: { sessions: "releaf/permissions/sessions" }) end
initialize_component()
click to toggle source
# 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
Public Instance Methods
allowed_controllers()
click to toggle source
# File lib/releaf/permissions/access_control.rb, line 20 def allowed_controllers permanent_allowed_controllers + role_allowed_controllers end
controller_name_from_permission(permission)
click to toggle source
# File lib/releaf/permissions/access_control.rb, line 28 def controller_name_from_permission(permission) match = permission.match(/^controller\.(.+)/) match[1] if match end
controller_permitted?(controller_name)
click to toggle source
# File lib/releaf/permissions/access_control.rb, line 16 def controller_permitted?(controller_name) allowed_controllers.include?(controller_name) end
permanent_allowed_controllers()
click to toggle source
# File lib/releaf/permissions/access_control.rb, line 33 def permanent_allowed_controllers Releaf.application.config.permissions.permanent_allowed_controllers end
role_allowed_controllers()
click to toggle source
# File lib/releaf/permissions/access_control.rb, line 24 def role_allowed_controllers user.role.permissions.map{|permission| controller_name_from_permission(permission.permission) }.compact end