original_string: protected function isScopeMethodUsable(ReflectionMethod $method)
      {
          // Scope methods with more or less required parameters than the query, should not be used.
          if ($method->getNumberOfRequiredParameters() != 1) {
              return false;
          }
  
          // If the required parameter is not the first, don't use it (safeguard)
          if ( ! ($firstParameter = head($method->getParameters())) || $firstParameter->isOptional()) {
              // @codeCoverageIgnoreStart
              return false;
              // @codeCoverageIgnoreEnd
          }
  
          $scopeName = camel_case(substr($method->name, 5));
  
          // Ignore scope methods with an explicity ignore cms docblock tag
          $cmsTags = $this->getCmsDocBlockTags($method);
  
          if (    array_get($cmsTags, 'ignore')
              ||  (   ! array_get($cmsTags, 'scope')
                  &&  in_array($scopeName, $this->getIgnoredScopeNames() )
              )
          ) {
              return false;
          }
  
          return true;
      }
code: protected function isScopeMethodUsable(ReflectionMethod $method)
      {
          // Scope methods with more or less required parameters than the query, should not be used.
          if ($method->getNumberOfRequiredParameters() != 1) {
              return false;
          }
  
          // If the required parameter is not the first, don't use it (safeguard)
          if ( ! ($firstParameter = head($method->getParameters())) || $firstParameter->isOptional()) {
              // @codeCoverageIgnoreStart
              return false;
              // @codeCoverageIgnoreEnd
          }
  
          $scopeName = camel_case(substr($method->name, 5));
  
          // Ignore scope methods with an explicity ignore cms docblock tag
          $cmsTags = $this->getCmsDocBlockTags($method);
  
          if (    array_get($cmsTags, 'ignore')
              ||  (   ! array_get($cmsTags, 'scope')
                  &&  in_array($scopeName, $this->getIgnoredScopeNames() )
              )
          ) {
              return false;
          }
  
          return true;
      }
code_tokens: protected function isScopeMethodUsable ( ReflectionMethod $ method ) { // Scope methods with more or less required parameters than the query, should not be used. if ( $ method -> getNumberOfRequiredParameters ( ) != 1 ) { return false ; } // If the required parameter is not the first, don't use it (safeguard) if ( ! ( $ firstParameter = head ( $ method -> getParameters ( ) ) ) || $ firstParameter -> isOptional ( ) ) { // @codeCoverageIgnoreStart return false ; // @codeCoverageIgnoreEnd } $ scopeName = camel_case ( substr ( $ method -> name , 5 ) ) ; // Ignore scope methods with an explicity ignore cms docblock tag $ cmsTags = $ this -> getCmsDocBlockTags ( $ method ) ; if ( array_get ( $ cmsTags , 'ignore' ) || ( ! array_get ( $ cmsTags , 'scope' ) && in_array ( $ scopeName , $ this -> getIgnoredScopeNames ( ) ) ) ) { return false ; } return true ; }
docstring: Returns whether a reflection method is usabled as a CMS scope.
  
  @param ReflectionMethod $method
  @return bool
docstring_tokens: Returns whether a reflection method is usabled as a CMS scope .