original_string: protected function revokeFailedAssignment(Assignment $assignment)
      {
          if ($assignment->failedAt === null) {
              return false;
          }
          if (strtotime($assignment->failedAt) < strtotime(gmdate('Y-m-d H:i:s'))) {
              $role = $this->getRole($assignment->roleName);
              if (!$role) {
                  return true;
              }
              $this->revoke($role->name, $assignment->userGuid);
              return true;
          }
          return false;
      }
code: protected function revokeFailedAssignment(Assignment $assignment)
      {
          if ($assignment->failedAt === null) {
              return false;
          }
          if (strtotime($assignment->failedAt) < strtotime(gmdate('Y-m-d H:i:s'))) {
              $role = $this->getRole($assignment->roleName);
              if (!$role) {
                  return true;
              }
              $this->revoke($role->name, $assignment->userGuid);
              return true;
          }
          return false;
      }
code_tokens: protected function revokeFailedAssignment ( Assignment $ assignment ) { if ( $ assignment -> failedAt === null ) { return false ; } if ( strtotime ( $ assignment -> failedAt ) < strtotime ( gmdate ( 'Y-m-d H:i:s' ) ) ) { $ role = $ this -> getRole ( $ assignment -> roleName ) ; if ( ! $ role ) { return true ; } $ this -> revoke ( $ role -> name , $ assignment -> userGuid ) ; return true ; } return false ; }
docstring: Revoke failed assignment.
  If assignment's `failedAt` attribute is `null`, false will be given directly.
  @param Assignment $assignment
  @return boolean
docstring_tokens: Revoke failed assignment . If assignment s failedAt attribute is null false will be given directly .