for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php namespace Arcanedev\Composer\Entities\PackageTraits;
use Composer\Package\RootPackageInterface;
/**
* Trait SuggestsTrait
*
* @package Arcanedev\Composer\Entities\PackageTraits
* @author ARCANEDEV <[email protected]>
*/
trait SuggestsTrait
{
/* ------------------------------------------------------------------------------------------------
| Properties
| ------------------------------------------------------------------------------------------------
/** @var \Composer\Package\CompletePackage $package */
protected $package;
| Main Functions
* Merge suggested packages into a RootPackage.
* @param \Composer\Package\RootPackageInterface $root
protected function mergeSuggests(RootPackageInterface $root)
if ( ! empty($suggests = $this->package->getSuggests())) {
static::unwrapIfNeeded($root, 'setSuggests')
->setSuggests(array_merge($root->getSuggests(), $suggests));
}
| Other Functions
* Get a full featured Package from a RootPackageInterface.
* @param \Composer\Package\RootPackageInterface|\Composer\Package\RootPackage $root
* @param string $method
* @return \Composer\Package\RootPackageInterface|\Composer\Package\RootPackage
abstract protected function unwrapIfNeeded(
RootPackageInterface $root, $method = 'setExtra'
);