/**
  * @param IOInterface $input
  */
 public function process(IOInterface $input)
 {
     $this->io = $input;
     $configData = $this->configurationFileReader->getData();
     $preCommit = $this->preCommitProcess($configData);
     if (true === $preCommit->isEnabled()) {
         $this->hookCopier->copyPreCommitHook();
     }
     $commitMsg = $this->commitMsgProcess($configData);
     if (true === $commitMsg->isEnabled()) {
         $this->hookCopier->copyCommitMsgHook();
     }
     $prePush = $this->prePushProcess($configData);
     if (true === $prePush->isEnabled()) {
         $this->hookCopier->copyPrePushHook();
     }
     $configArray = ConfigurationArrayTransformer::transform($preCommit, $commitMsg, $prePush);
     $this->configurationFileWriter->write($configArray);
 }
 /**
  * @return ConfigurationDataResponse
  */
 public function find()
 {
     $data = $this->configurationFileReader->getData();
     return $this->getConfigurationDataResponse($data);
 }