PhpGitHooks\Module\Configuration\Service\PreCommitProcessor::process PHP Method

process() public method

public process ( PreCommit $preCommitData, Composer\IO\IOInterface $input ) : PreCommit
$preCommitData PhpGitHooks\Module\Configuration\Domain\PreCommit
$input Composer\IO\IOInterface
return PhpGitHooks\Module\Configuration\Domain\PreCommit
    public function process(PreCommit $preCommitData, IOInterface $input)
    {
        $this->io = $input;
        if (true === $preCommitData->isUndefined()) {
            $preCommitData = PreCommitConfigurator::configure($this->io, $preCommitData);
        }
        if (true === $preCommitData->isEnabled()) {
            $preCommitData = $preCommitData->setExecute($this->configTools($preCommitData->getExecute()));
        }
        return $preCommitData;
    }

Usage Example

 /**
  * @test
  */
 public function itShouldDisablePreCommitHook()
 {
     $this->shouldAsk(HookQuestions::PRE_COMMIT_HOOK, HookQuestions::DEFAULT_TOOL_ANSWER, 'n');
     $preCommitData = $this->preCommitProcessor->process(PreCommitStub::createUndefined(), $this->io);
     $this->assertFalse($preCommitData->isEnabled());
     $this->assertFalse($preCommitData->isUndefined());
     $this->assertNull($preCommitData->getMessages()->getRightMessage()->value());
     $this->assertNull($preCommitData->getMessages()->getErrorMessage()->value());
     /** @var Execute $execute */
     $execute = $preCommitData->getExecute();
     $tools = $execute->execute();
     $composer = $tools[0];
     $jsonLint = $tools[1];
     $phpLint = $tools[2];
     /** @var PhpUnitStrictCoverage $phpunitStrictCoverage */
     $phpunitStrictCoverage = $tools[7];
     $this->assertFalse($composer->isEnabled());
     $this->assertFalse($composer->isUndefined());
     $this->assertFalse($jsonLint->isEnabled());
     $this->assertFalse($jsonLint->isUndefined());
     $this->assertFalse($phpLint->isEnabled());
     $this->assertFalse($phpLint->isUndefined());
     $this->assertFalse($phpunitStrictCoverage->isUndefined());
 }
All Usage Examples Of PhpGitHooks\Module\Configuration\Service\PreCommitProcessor::process