46 lines
727 B
Ruby
46 lines
727 B
Ruby
class TablePolicy
|
|
attr_reader :current_user, :model
|
|
|
|
def initialize(current_user, model)
|
|
@current_user = current_user || User.new
|
|
@table = model
|
|
end
|
|
|
|
def index?
|
|
false
|
|
end
|
|
|
|
def show?
|
|
@current_user.admin? || @current_user == @user
|
|
end
|
|
|
|
def create?
|
|
@current_user.admin?
|
|
end
|
|
|
|
def new?
|
|
@current_user.admin?
|
|
end
|
|
|
|
def edit?
|
|
@current_user.admin?
|
|
end
|
|
|
|
def update?
|
|
@current_user.admin? # TODO: Allow table owner to edit || @table.owner == @current_user
|
|
end
|
|
|
|
def destroy?
|
|
return false if @current_user == @user
|
|
@current_user.admin?
|
|
end
|
|
|
|
def play_now?
|
|
@current_user.admin? || @current_user.email == "bort@13.24x7.hk"
|
|
end
|
|
|
|
def new_game?
|
|
true
|
|
end
|
|
end
|