/**
  * 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();
 }
Example #2
0
 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();
Example #4
0
 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);
 }