original_string: private function processRules(string $key, array $rules, array $insert): array
      {
          $status = true;
  
          if (!isset($insert[$key])) {
              $status  = false;
              $message = 'Schema key [%s] not present on insert.';
          }
  
          do {
              $r = array_shift($rules);
              $method = 'checkRule'. ucfirst($r);
  
              if (!in_array($r, $this->rules)) {
                  // There's no rule defined and allowed.
                  continue;
              }
  
              if (!$this->{$method}($insert[$key])) {
                  // When given key is not valid we need to stop process
                  // and set message related to validation error.
                  $status  = false;
                  $message = $this->messages()[$r];
                  break;
              }
  
          } while (count($rules));
  
          return compact('status', 'message');
      }
code: private function processRules(string $key, array $rules, array $insert): array
      {
          $status = true;
  
          if (!isset($insert[$key])) {
              $status  = false;
              $message = 'Schema key [%s] not present on insert.';
          }
  
          do {
              $r = array_shift($rules);
              $method = 'checkRule'. ucfirst($r);
  
              if (!in_array($r, $this->rules)) {
                  // There's no rule defined and allowed.
                  continue;
              }
  
              if (!$this->{$method}($insert[$key])) {
                  // When given key is not valid we need to stop process
                  // and set message related to validation error.
                  $status  = false;
                  $message = $this->messages()[$r];
                  break;
              }
  
          } while (count($rules));
  
          return compact('status', 'message');
      }
code_tokens: private function processRules ( string $ key , array $ rules , array $ insert ) : array { $ status = true ; if ( ! isset ( $ insert [ $ key ] ) ) { $ status = false ; $ message = 'Schema key [%s] not present on insert.' ; } do { $ r = array_shift ( $ rules ) ; $ method = 'checkRule' . ucfirst ( $ r ) ; if ( ! in_array ( $ r , $ this -> rules ) ) { // There's no rule defined and allowed. continue ; } if ( ! $ this -> { $ method } ( $ insert [ $ key ] ) ) { // When given key is not valid we need to stop process // and set message related to validation error. $ status = false ; $ message = $ this -> messages ( ) [ $ r ] ; break ; } } while ( count ( $ rules ) ) ; return compact ( 'status' , 'message' ) ; }
docstring: Parse each rules for given key of insert.
  
  @param  string $key
  @param  array  $rules
  @param  array  $insert
  @return array
docstring_tokens: Parse each rules for given key of insert .