original_string: private function cacheAttributeItems($attribute) {
  		$nameItems = [];
  		$unsupportItems = [];
  
  		$_attribute = lcfirst(str_replace(' ', '', ucwords(str_replace('_', ' ', $attribute)))) . 'Items';
  		if($this->hasMethod($_attribute)) {
  			$attributeitems = $this->$_attribute();
  
  			$_defaultNameItems = $attributeitems[0];
  			if($_defaultNameItems && is_array($_defaultNameItems)) {
  				$_scenario = [];
  				foreach($this->getActiveValidators($attribute) as $validator) {
  					if($validator instanceof RangeValidator) {
  						$_scenario = ArrayHelper::merge($_scenario, ArrayHelper::filter($_defaultNameItems, $validator->range));
  					}
  				}
  				$nameItems[$this->scenario] = array_unique($_scenario);
  				$nameItems['_default'] = $_defaultNameItems;
  			}
  
  			if(isset($attributeitems[1]) && is_array($attributeitems[1])) {
  				$unsupportItems = $attributeitems[1];
  			}
  		}
  
  		$this->_attributeNameItemsList[$attribute] = $nameItems;
  		$this->_attributeUnsupportItemsList[$attribute] = $unsupportItems;
  	}
code: private function cacheAttributeItems($attribute) {
  		$nameItems = [];
  		$unsupportItems = [];
  
  		$_attribute = lcfirst(str_replace(' ', '', ucwords(str_replace('_', ' ', $attribute)))) . 'Items';
  		if($this->hasMethod($_attribute)) {
  			$attributeitems = $this->$_attribute();
  
  			$_defaultNameItems = $attributeitems[0];
  			if($_defaultNameItems && is_array($_defaultNameItems)) {
  				$_scenario = [];
  				foreach($this->getActiveValidators($attribute) as $validator) {
  					if($validator instanceof RangeValidator) {
  						$_scenario = ArrayHelper::merge($_scenario, ArrayHelper::filter($_defaultNameItems, $validator->range));
  					}
  				}
  				$nameItems[$this->scenario] = array_unique($_scenario);
  				$nameItems['_default'] = $_defaultNameItems;
  			}
  
  			if(isset($attributeitems[1]) && is_array($attributeitems[1])) {
  				$unsupportItems = $attributeitems[1];
  			}
  		}
  
  		$this->_attributeNameItemsList[$attribute] = $nameItems;
  		$this->_attributeUnsupportItemsList[$attribute] = $unsupportItems;
  	}
code_tokens: private function cacheAttributeItems ( $ attribute ) { $ nameItems = [ ] ; $ unsupportItems = [ ] ; $ _attribute = lcfirst ( str_replace ( ' ' , '' , ucwords ( str_replace ( '_' , ' ' , $ attribute ) ) ) ) . 'Items' ; if ( $ this -> hasMethod ( $ _attribute ) ) { $ attributeitems = $ this -> $ _attribute ( ) ; $ _defaultNameItems = $ attributeitems [ 0 ] ; if ( $ _defaultNameItems && is_array ( $ _defaultNameItems ) ) { $ _scenario = [ ] ; foreach ( $ this -> getActiveValidators ( $ attribute ) as $ validator ) { if ( $ validator instanceof RangeValidator ) { $ _scenario = ArrayHelper :: merge ( $ _scenario , ArrayHelper :: filter ( $ _defaultNameItems , $ validator -> range ) ) ; } } $ nameItems [ $ this -> scenario ] = array_unique ( $ _scenario ) ; $ nameItems [ '_default' ] = $ _defaultNameItems ; } if ( isset ( $ attributeitems [ 1 ] ) && is_array ( $ attributeitems [ 1 ] ) ) { $ unsupportItems = $ attributeitems [ 1 ] ; } } $ this -> _attributeNameItemsList [ $ attribute ] = $ nameItems ; $ this -> _attributeUnsupportItemsList [ $ attribute ] = $ unsupportItems ; }
docstring: Cache attribute items
  
  @since 0.0.1
  @param {string} $attribute
  @return {none}
docstring_tokens: Cache attribute items