protected function execute(InputInterface $input, OutputInterface $output)
 {
     $config = new Config();
     $config->setBasePath(getcwd());
     $config->setFromArray($input->getArguments());
     $config->setFromArray(array('bare' => $input->getOption('bare')));
     $moduleConfig = new ConfigWriter($config);
     $state = new State($moduleConfig);
     $builder = new FullContainer($config);
     $builder->prepare($state);
     $builder->build($state);
     $writeState = new State($moduleConfig);
     $models = array('service' => $state->getServiceModel(), 'factory' => $state->getModel('service-factory'), 'trait' => $state->getModel('service-trait'), 'test' => $state->getModel('service-test'));
     foreach (array_keys($models) as $key) {
         if ($input->getOption('no-' . $key)) {
             $models[$key] = false;
         }
         if ($input->getOption('only-' . $key)) {
             foreach (array_keys($models) as $index) {
                 if ($key != $index) {
                     $models[$index] = false;
                 }
             }
         }
     }
     foreach ($models as $model) {
         if ($model) {
             $writeState->addModel($model);
         }
     }
     $writer = new ModelWriter($config);
     $writer->write($writeState, $output);
     $moduleConfig->save($output);
 }
 public function testMergeConfig()
 {
     $writer = new ModelWriter(new Config());
     $model = new Model();
     $model->setServiceConfig(array('test' => 1));
     $state = new State(new ConfigWriter(new Config()));
     $writer->mergeConfig($state, $model, new NullOutput());
     $this->assertSame(['test' => 1], $state->getModuleConfig()->getModuleConfig());
 }
Example #3
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $config = new Config();
     $config->setBasePath(getcwd());
     $config->setFromArray($input->getArguments());
     $config->setFromArray($input->getOptions());
     $moduleConfig = new ConfigWriter($config);
     $state = new State($moduleConfig);
     $builder = new ModuleContainer($config);
     $builder->prepare($state);
     $builder->build($state);
     $writer = new ModelWriter($config);
     $writer->write($state, $output);
 }
 /**
  * @param State $state
  * @param InputInterface $input
  * @param OutputInterface $output
  */
 protected function write(State $state, InputInterface $input, OutputInterface $output)
 {
     $writer = new ModelWriter($this->config);
     $writer->write($state, $output);
 }