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