metric; $metric->update($this->filter($command)); event(new MetricWasUpdatedEvent($metric)); return $metric; } /** * Filter the command data. * * @param \CachetHQ\Cachet\Bus\Commands\Metric\UpdateMetricCommand $command * * @return array */ protected function filter(UpdateMetricCommand $command) { $params = [ 'name' => $command->name, 'suffix' => $command->suffix, 'description' => $command->description, 'default_value' => $command->default_value, 'calc_type' => $command->calc_type, 'display_chart' => $command->display_chart, 'places' => $command->places, 'default_view' => $command->default_view, ]; return array_filter($params, function ($val) { return $val !== null; }); } }