public function run() { switch ($this->mainArgv) { case 'generate': $gen = new Generators\Generator($this); $gen->parseCmd(); break; case 'assets': $rules = ['assets' => '', 'action' => '']; $opts = new Zend\Console\Getopt($rules); $argv = $opts->getArguments(); if (empty($argv[1])) { $this->terminate("Missing argument 2"); } \Rails::resetConfig('production'); switch ($argv[1]) { case 'compile:all': \Rails::assets()->setConsole($this); \Rails::assets()->compileAll(); break; case strpos($argv[1], 'compile:') === 0: $parts = explode(':', $argv[1]); if (empty($parts[1])) { $this->terminate("Missing asset name to compile"); } \Rails::assets()->setConsole($this); \Rails::assets()->compileFile($parts[1]); break; default: $this->terminate("Unknown action for assets"); break; } break; case 'routes': $routes = $this->createRoutes(); $rules = ['routes' => '', 'f-s' => '']; $opts = new Zend\Console\Getopt($rules); if ($filename = $opts->getOption('f')) { if (true === $filename) { $logFile = \Rails::config()->paths->log->concat('routes.log'); } else { $logFile = \Rails::root() . '/' . $filename; } file_put_contents($logFile, $routes); } $this->write($routes); break; /** * Install database. */ /** * Install database. */ case 'db:create': $m = new \Rails\ActiveRecord\Migration\Migrator(); $m->loadSchema(); break; /** * Run all/pending migrations. * Creates migrations table as well. */ /** * Run all/pending migrations. * Creates migrations table as well. */ case 'db:migrate': $m = new \Rails\ActiveRecord\Migration\Migrator(); $m->run(); break; /** * Runs seeds. */ /** * Runs seeds. */ case 'db:seed': $m = new \Rails\ActiveRecord\Migration\Migrator(); $m->runSeeds(); break; case 'db:schema:dump': $dumper = new \Rails\ActiveRecord\Schema\Dumper(\Rails\ActiveRecord\ActiveRecord::connection()); $dumper->export(\Rails::root() . '/db/schema.sql'); break; } }
echo $msg . PHP_EOL; echo $help; exit($code); } $rules = array('help|h' => 'Get usage message', 'title|t-s' => 'Document title: default = "Foo"'); try { $opts = new Getopt($rules); $opts->parse(); } catch (Console\Exception\RuntimeException $e) { exitWithMessage($e->getMessage(), $e->getUsageMessage(), 1); } if ($opts->getOption('h')) { exitWithMessage('tdconv <testdox.html.file.name> <output.file.name>', $opts->getUsageMessage(), 0); } $title = false; $args = $opts->getArguments(); if ($opts->getOption('t')) { $title = $opts->getOption('t'); unset($args['title']); } if (count($args) !== 2) { exitWithMessage('Expected exactly two arguments, got ' . count($args), $opts->getUsageMessage(), 1000); } $testdoxFile = $args[0]; $outputFile = $args[1]; //get the xml translation $xsldoc = new \DOMDocument(); $xsldoc->load(dirname(__FILE__) . '/xsl/tdconv.xsl'); $xmldoc = new \DOMDocument(); $xmldoc->loadHTMLFile($testdoxFile); $xsl = new \XSLTProcessor();