reviewer-1.2.x-dev/src/Reviewer/Result/ResultFactory.php

src/Reviewer/Result/ResultFactory.php
<?php

declare(strict_types=1);

namespace Drupal\reviewer\Reviewer\Result;

use Drupal\reviewer\Reviewer\IgnorerInterface;
use Drupal\reviewer\Reviewer\Status\Status;
use Drupal\reviewer\Reviewer\Status\StatusFactoryInterface;

/**
 * Creates results.
 */
final readonly class ResultFactory implements ResultFactoryInterface {

  // phpcs:ignore Drupal.Commenting.FunctionComment.Missing
  public function __construct(
    private IgnorerInterface $ignorer,
    private StatusFactoryInterface $statusFactory,
  ) {}

  /**
   * {@inheritdoc}
   */
  public function createResult(
    string $id,
    Status $status,
    string $message,
    ?bool $fixable = NULL,
  ): IndividualResultInterface {
    if ($this->ignorer->isIgnored($id)) {
      $status = $this->statusFactory->createIgnored($status);
      $message = $this->ignorer->ignoredReason($id);
    }

    return new Result($id, $status, $message, $fixable);
  }

  /**
   * {@inheritdoc}
   */
  public function createCollection(
    string $id,
    array $results = [],
  ): CollectionResultInterface {
    return new CollectionResult($this->statusFactory, $id, $results);
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc