def sort_above(other = nil)
      other = @server.role(other.resolve_id) if other
      roles = @server.roles.sort_by(&:position)
      roles.delete_at(@position)

      index = other ? roles.index { |role| role.id == other.id } + 1 : 1
      roles.insert(index, self)

      updated_roles = roles.map.with_index { |role, position| { id: role.id, position: position } }
      @server.update_role_positions(updated_roles)
      index
    end
def sort_above(other = nil)
      other = @server.role(other.resolve_id) if other
      roles = @server.roles.sort_by(&:position)
      roles.delete_at(@position)

      index = other ? roles.index { |role| role.id == other.id } + 1 : 1
      roles.insert(index, self)

      updated_roles = roles.map.with_index { |role, position| { id: role.id, position: position } }
      @server.update_role_positions(updated_roles)
      index
    end
Moves this role above another role in the list.
 @param other [Role, #resolve_id, nil] The role above which this role should be moved. If it is `nil`,
   the role will be moved above the @everyone role.
 @return [Integer] the new position of this role