Scalr\Api\Service\User\V1beta0\Adapter\ScalingMetricAdapter::metricNameToData PHP Method

metricNameToData() public static method

Change metrics name used in api responses
public static metricNameToData ( string | string[] $name ) : string | string[]
$name string | string[] Metric's name or list of names
return string | string[]
    public static function metricNameToData($name)
    {
        if (is_array($name)) {
            return array_merge(array_keys(array_intersect(static::$nameMap, $name)), array_diff($name, static::$nameMap));
        }
        $nameMap = array_flip(static::$nameMap);
        return isset($nameMap[$name]) ? $nameMap[$name] : $name;
    }

Usage Example

コード例 #1
0
ファイル: ScalingRuleAdapter.php プロジェクト: scalr/scalr
 public function _name($from, $to, $action)
 {
     switch ($action) {
         case static::ACT_CONVERT_TO_OBJECT:
             /* @var $from Entity\FarmRoleScalingMetric */
             $to->name = ScalingMetricAdapter::metricNameToData($from->metric->name);
             break;
         case static::ACT_CONVERT_TO_ENTITY:
             $this->validateString($from->name, 'Property name contains invalid characters');
             /* @var $metric Entity\ScalingMetric */
             $metric = Entity\ScalingMetric::findOne([['name' => ScalingMetricAdapter::metricNameToEntity($from->name)]]);
             if (empty($metric)) {
                 throw new ApiErrorException(404, ErrorMessage::ERR_OBJECT_NOT_FOUND, sprintf('Scaling metric with name %s does not exist', $from->name));
             }
             /* @var $to Entity\FarmRoleScalingMetric */
             $to->metricId = $metric->id;
             $to->metric = $metric;
             break;
         case static::ACT_GET_FILTER_CRITERIA:
             return [[]];
     }
 }
All Usage Examples Of Scalr\Api\Service\User\V1beta0\Adapter\ScalingMetricAdapter::metricNameToData