class RectorResultController in Upgrade Rector 8
Hierarchy
- class \Drupal\Core\Controller\ControllerBase implements ContainerInjectionInterface uses LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\upgrade_rector\Controller\RectorResultController
Expanded class hierarchy of RectorResultController
File
- src/
Controller/ RectorResultController.php, line 12
Namespace
Drupal\upgrade_rector\ControllerView source
class RectorResultController extends ControllerBase {
/**
* The project collector service.
*
* @var \Drupal\upgrade_rector\ProjectCollector
*/
protected $projectCollector;
/**
* Rector result storage.
*
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $rectorResults;
/**
* Rector data processor.
*
* @var \Drupal\upgrade_rector\RectorProcessor
*/
protected $rectorProcessor;
/**
* Constructs a \Drupal\upgrade_rector\Controller\RectorResultController.
*
* @param \Drupal\Core\KeyValueStore\KeyValueFactoryInterface $key_value_factory
* The key/value factory.
* @param \Drupal\upgrade_rector\RectorProcessor $rector_processor
* The rector processor.
* @param \Drupal\upgrade_rector\ProjectCollector $project_collector
* The project collector service.
*/
public function __construct(KeyValueFactoryInterface $key_value_factory, RectorProcessor $rector_processor, ProjectCollector $project_collector) {
$this->rectorResults = $key_value_factory
->get('upgrade_status_rector_results');
$this->rectorProcessor = $rector_processor;
$this->projectCollector = $project_collector;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container
->get('keyvalue'), $container
->get('upgrade_rector.rector_processor'), $container
->get('upgrade_rector.project_collector'));
}
/**
* Builds content for patch review page/popup.
*
* @param string $type
* Type of the extension, it can be either 'module' or 'theme' or 'profile'.
* @param string $project_machine_name
* The machine name of the project.
*
* @return array
* Build array.
*/
public function resultPage(string $type, string $project_machine_name) {
$extension = $this->projectCollector
->loadProject($type, $project_machine_name);
// Extensions that don't have a project should be considered custom.
// Extensions that have the 'drupal' project are custom extensions
// that are running in a Drupal core git checkout, so also categorize
// them as custom.
$category = empty($extension->info['project']) || $extension->info['project'] === 'drupal' ? 'custom' : 'contrib';
$raw_rector_result = $this->rectorResults
->get($project_machine_name);
return $this->rectorProcessor
->formatResults($raw_rector_result, $extension, $category);
}
/**
* Generates single project export.
*
* @param string $type
* Type of the extension, it can be either 'module' or 'theme' or 'profile'.
* @param string $project_machine_name
* The machine name of the project.
*
* @return \Symfony\Component\HttpFoundation\Response
* Response object.
*/
public function resultExport(string $type, string $project_machine_name) {
$extension = $this->projectCollector
->loadProject($type, $project_machine_name);
$raw_rector_result = $this->rectorResults
->get($project_machine_name);
$processed_result = $this->rectorProcessor
->processResults($raw_rector_result, $extension);
if ($processed_result['state'] === 'fail') {
$extension = '-errors.txt';
$content = $raw_rector_result;
}
elseif ($processed_result['state'] === 'success' && empty($processed_result['patch'])) {
$extension = '-results.txt';
$content = 'Nothing to patch in ' . $project_machine_name;
}
else {
$extension = '-upgrade-rector.patch';
$content = $processed_result['patch'];
}
$filename = $project_machine_name . $extension;
$response = new Response($content);
$response->headers
->set('Content-Disposition', 'attachment; filename="' . $filename . '"');
return $response;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ControllerBase:: |
protected | property | The configuration factory. | |
ControllerBase:: |
protected | property | The current user service. | 1 |
ControllerBase:: |
protected | property | The entity form builder. | |
ControllerBase:: |
protected | property | The entity manager. | |
ControllerBase:: |
protected | property | The entity type manager. | |
ControllerBase:: |
protected | property | The form builder. | 2 |
ControllerBase:: |
protected | property | The key-value storage. | 1 |
ControllerBase:: |
protected | property | The language manager. | 1 |
ControllerBase:: |
protected | property | The module handler. | 2 |
ControllerBase:: |
protected | property | The state service. | |
ControllerBase:: |
protected | function | Returns the requested cache bin. | |
ControllerBase:: |
protected | function | Retrieves a configuration object. | |
ControllerBase:: |
private | function | Returns the service container. | |
ControllerBase:: |
protected | function | Returns the current user. | 1 |
ControllerBase:: |
protected | function | Retrieves the entity form builder. | |
ControllerBase:: |
protected | function | Retrieves the entity manager service. | |
ControllerBase:: |
protected | function | Retrieves the entity type manager. | |
ControllerBase:: |
protected | function | Returns the form builder service. | 2 |
ControllerBase:: |
protected | function | Returns a key/value storage collection. | 1 |
ControllerBase:: |
protected | function | Returns the language manager service. | 1 |
ControllerBase:: |
protected | function | Returns the module handler. | 2 |
ControllerBase:: |
protected | function |
Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait:: |
|
ControllerBase:: |
protected | function | Returns the state storage service. | |
LinkGeneratorTrait:: |
protected | property | The link generator. | 1 |
LinkGeneratorTrait:: |
protected | function | Returns the link generator. | |
LinkGeneratorTrait:: |
protected | function | Renders a link to a route given a route name and its parameters. | |
LinkGeneratorTrait:: |
public | function | Sets the link generator service. | |
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
RectorResultController:: |
protected | property | The project collector service. | |
RectorResultController:: |
protected | property | Rector data processor. | |
RectorResultController:: |
protected | property | Rector result storage. | |
RectorResultController:: |
public static | function |
Instantiates a new instance of this class. Overrides ControllerBase:: |
|
RectorResultController:: |
public | function | Generates single project export. | |
RectorResultController:: |
public | function | Builds content for patch review page/popup. | |
RectorResultController:: |
public | function | Constructs a \Drupal\upgrade_rector\Controller\RectorResultController. | |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
UrlGeneratorTrait:: |
protected | property | The url generator. | |
UrlGeneratorTrait:: |
protected | function | Returns the URL generator service. | |
UrlGeneratorTrait:: |
public | function | Sets the URL generator service. | |
UrlGeneratorTrait:: |
protected | function | Generates a URL or path for a specific route based on the given parameters. |