class Alchemy::Permissions
## Alchemy’s permissions
These are CanCan abilities, but to prevent any naming collusions we named it permissions.
Alchemy
user rules are modules that can be included in your app’s/engine’s Ability class.
### Example:
# app/models/ability.rb class Ability include CanCan::Ability include Alchemy::Permissions::EditorUser def initialize(user) return if user.nil? @user ||= user if @user.has_role?(:demo) alchemy_editor_rules # alchemy editor roles # your own rules end end end
Public Class Methods
new(user)
click to toggle source
# File lib/alchemy/permissions.rb, line 30 def initialize(user) set_action_aliases @user ||= user @user ? user_role_rules : alchemy_guest_user_rules end
Private Instance Methods
exec_role_rules(role)
click to toggle source
# File lib/alchemy/permissions.rb, line 200 def exec_role_rules(role) meth = :"alchemy_#{role}_rules" send(meth) if respond_to?(meth) end
set_action_aliases()
click to toggle source
# File lib/alchemy/permissions.rb, line 205 def set_action_aliases alias_action :configure, :fold, :info, :link, :read, :update, :unlock, :visit, :tree, to: :edit_content end
user_role_rules()
click to toggle source
# File lib/alchemy/permissions.rb, line 192 def user_role_rules return alchemy_guest_user_rules if @user.alchemy_roles.blank? @user.alchemy_roles.each do |role| exec_role_rules(role) end end