/** * Execute the console command. * * @return void */ public function fire() { // Get the schema $schema = \Config::get('laravel-mandango::mandango.schema'); $mondator = new Mondator(); $mondator->setConfigClasses($schema); $directory = app_path() . '/mandango'; $this->info('Writing Mondango classes to ' . $directory); $mondator->setExtensions(array(new \Mandango\Extension\Core(array('metadata_factory_class' => 'Model\\Mapping\\Metadata', 'metadata_factory_output' => $directory . '/models/Mapping', 'default_output' => $directory . '/models')), new \Mandango\Extension\DocumentPropertyOverloading(), new \Mandango\Extension\DocumentArrayAccess())); $mondator->process(); }
public function mondatorProcessAction() { // Config $config = $this->getServiceLocator()->get('Config'); $configMandango = $config['skar']['mandango']; // Start Mondator $mondator = new Mondator(); // Assign the config classes if (is_array($configMandango['config_classes'])) { $mondator->setConfigClasses($configMandango['config_classes']); } else { $mondator->setConfigClasses($config[$configMandango['config_classes']]); } // Assign extensions $mondator->setExtensions(array(new MandangoCore(array('metadata_factory_class' => $configMandango['metadata_factory_class'], 'metadata_factory_output' => $configMandango['metadata_factory_output'], 'default_output' => $configMandango['default_output'])))); // Process $mondator->process(); }
<?php $loader = (require __DIR__ . '/../vendor/.composer/autoload.php'); $loader->add('Mandango\\Tests', __DIR__); $loader->add('Model', __DIR__); // mondator $configClasses = (require __DIR__ . '/config_classes.php'); use Mandango\Mondator\Mondator; $mondator = new Mondator(); $mondator->setConfigClasses($configClasses); $mondator->setExtensions(array(new Mandango\Extension\Core(array('metadata_factory_class' => 'Model\\Mapping\\MetadataFactory', 'metadata_factory_output' => __DIR__ . '/Model/Mapping', 'default_output' => __DIR__ . '/Model')))); $mondator->process();
public function testProcessUsesNamespaceSeparatorForNestingClassFilesInDirectories() { $tmpDir = sys_get_temp_dir(); $expectedFile = $tmpDir . '/MiClase/Test.php'; if (file_exists($expectedFile)) { unlink($expectedFile); } $mondator = new Mondator(); $mondator->setConfigClass('Foo', array()); $mondator->setExtensions(array(new \Mandango\Mondator\Tests\Fixtures\Extension\InitDefinition(array('definition_name' => 'myclass', 'class_name' => 'MiClase\\Test', 'output_dir' => $tmpDir)), new \Mandango\Mondator\Extension\NamespaceSeparatorOutputFixerExtension())); $mondator->process(); $this->assertFileExists($expectedFile); }