Class: Adeia::Authorization
Instance Method Summary
collapse
Methods inherited from Database
#action_rights, #create_rights, #destroy_rights, #initialize, #owners, #read_rights, #token_rights, #update_rights, #user_groups
Instance Method Details
#authorize! ⇒ Object
8
9
10
11
12
13
14
|
# File 'lib/adeia/authorization.rb', line 8
def authorize!
token_rights = token_rights(right_name)
raise LoginRequired if token_rights[:rights].empty? && @user.nil?
action_rights = @user.nil? ? {} : send("#{right_name}_rights")
merge_permissions(token_rights, action_rights)
raise AccessDenied unless @rights.any? && authorize?
end
|
#can? ⇒ Boolean
30
31
32
|
# File 'lib/adeia/authorization.rb', line 30
def can?
rights? && authorize?
end
|
#check_permissions! ⇒ Object
16
17
18
19
20
21
22
|
# File 'lib/adeia/authorization.rb', line 16
def check_permissions!
if !@user
raise LoginRequired
elsif load_permissions && @rights.empty?
raise AccessDenied
end
end
|
#rights? ⇒ Boolean
24
25
26
27
28
|
# File 'lib/adeia/authorization.rb', line 24
def rights?
action_rights = @user.nil? ? {} : send("#{right_name}_rights")
merge_permissions(token_rights(right_name), action_rights)
@rights.any?
end
|