Remove duplication from Guardian

This commit is contained in:
Giuseppe Capizzi 2013-08-16 14:24:29 +02:00
parent 946b02533b
commit eaede108c7
1 changed files with 9 additions and 8 deletions

View File

@ -46,18 +46,12 @@ class Guardian
# Can the user edit the obj # Can the user edit the obj
def can_edit?(obj) def can_edit?(obj)
if obj && authenticated? can_do?(:edit, obj)
edit_method = method_name_for :edit, obj
return (edit_method ? send(edit_method, obj) : true)
end
end end
# Can we delete the object # Can we delete the object
def can_delete?(obj) def can_delete?(obj)
if obj && authenticated? can_do?(:delete, obj)
delete_method = method_name_for :delete, obj
return (delete_method ? send(delete_method, obj) : true)
end
end end
def can_moderate?(obj) def can_moderate?(obj)
@ -428,4 +422,11 @@ class Guardian
return method_name if respond_to?(method_name) return method_name if respond_to?(method_name)
end end
def can_do?(action, obj)
if obj && authenticated?
action_method = method_name_for action, obj
return (action_method ? send(action_method, obj) : true)
end
end
end end