class Garage::Permissions
Attributes
resource_class[RW]
user[RW]
Public Class Methods
new(user, resource_class, permissions = { read: :forbidden, write: :forbidden })
click to toggle source
# File lib/garage/permissions.rb, line 28 def initialize(user, resource_class, permissions = { read: :forbidden, write: :forbidden }) @user = user @resource_class = resource_class @perms = permissions end
Public Instance Methods
deleted!()
click to toggle source
# File lib/garage/permissions.rb, line 43 def deleted! @perms[:deleted] = true end
exists?()
click to toggle source
# File lib/garage/permissions.rb, line 47 def exists? !@perms[:deleted] end
for(action)
click to toggle source
# File lib/garage/permissions.rb, line 39 def for(action) Permission.new(@user, action, @perms[action]) end
forbids!(*actions)
click to toggle source
# File lib/garage/permissions.rb, line 57 def forbids!(*actions) actions.each do |action| @perms[action] = :forbidden end end
permits!(*actions)
click to toggle source
# File lib/garage/permissions.rb, line 51 def permits!(*actions) actions.each do |action| @perms[action] = :ok end end
permits?(action)
click to toggle source
# File lib/garage/permissions.rb, line 63 def permits?(action) self.for(action).allowed? end
readable?()
click to toggle source
# File lib/garage/permissions.rb, line 67 def readable? permits? :read end
writable?()
click to toggle source
# File lib/garage/permissions.rb, line 71 def writable? permits? :write end