N98\Magento\Modules::filterModules PHP Method

filterModules() public method

Filter modules by codepool, status and vendor if such options were inputted by user
public filterModules ( Symfony\Component\Console\Input\InputInterface $input ) : Modules
$input Symfony\Component\Console\Input\InputInterface
return Modules
    public function filterModules(InputInterface $input)
    {
        $filtered = $this->list;
        if ($input->getOption('codepool')) {
            $filtered = ArrayFunctions::matrixFilterByValue($filtered, "codePool", $input->getOption('codepool'));
        }
        if ($input->getOption('status')) {
            $filtered = ArrayFunctions::matrixFilterByValue($filtered, 'Status', $input->getOption('status'));
        }
        if ($input->getOption('vendor')) {
            $filtered = ArrayFunctions::matrixFilterStartswith($filtered, 'Name', $input->getOption('vendor'));
        }
        return new self($filtered);
    }

Usage Example

Example #1
0
 /**
  * @test
  */
 public function filteringCountAndIterating()
 {
     $modules = new Modules();
     $result = $modules->filterModules($this->filter());
     $this->assertInstanceOf(__NAMESPACE__ . '\\Modules', $result);
     $this->assertCount(0, $result);
     $this->assertCount(0, iterator_to_array($result));
 }