* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class ResourceCommand extends Command { /** @var \PSX\Api\ListingInterface */ protected $listing; /** @var \PSX\Api\GeneratorFactoryInterface */ protected $factory; public function __construct(ListingInterface $listing, GeneratorFactoryInterface $factory) { parent::__construct(); $this->listing = $listing; $this->factory = $factory; } protected function configure() { $this ->setName('api:resource') ->setDescription('Outputs an API resource in a specific format') ->addArgument('path', InputArgument::REQUIRED, 'The path of the resource') ->addOption('format', 'f', InputOption::VALUE_REQUIRED, 'Optional the output format possible values are: ' . implode(', ', GeneratorFactory::getPossibleTypes())) ->addOption('config', 'c', InputOption::VALUE_REQUIRED, 'Optional a config value which gets passed to the generator') ->addOption('version', 'v', InputOption::VALUE_REQUIRED, 'Optional the version of the resource'); } protected function execute(InputInterface $input, OutputInterface $output) { $resource = $this->listing->find($input->getArgument('path'), $input->getOption('version')); $generator = $this->factory->getGenerator($input->getOption('format'), $input->getOption('config')); $response = $generator->generate($resource); OutputWriter::write($response, $output); return 0; } } __halt_compiler();----SIGNATURE:----cy4e1E9PZh5gcd5iaZ73yxiPAI4vyKSW45aYZ1iIN+OQdyXMJ9z0p+B10Cqc/0PpAIu2vA6DJVKmejD1J+ipo4COUjXoTOV/bYFh8E3CSXTeuW43PWLd8i+/0MdD+1YTOUPOvJqRLfsMRWyqOMbbeQzul4yVPYuSUZpZurrlAC0zLrzixu+Ko+I7/X1asbeWhgBm/zJU30MAj4p1B3ZbUkjzL9xVTe7OK0wICjOt7z0HIXjUQ5u/nRFIbGPY9BEOACNl1cyCNjssiYLrJG5STRQpUbX3Hn5jzPtq2KgTeAs2zfsCD0rY3DFDbxAEMTd1RtRRI2eVU4/ohUESTLQuw0qbomDnPJa5vp9UZcGpTt+4DKWWno22F4Gl0xiWTh9CQKC1pfqOS/6U/LgIOb6UTHvlFmT84n2YD/zB2BlsplWEl7CbEI4US2jf8MhN6EIBxMvMk7y5+StdRbEOIl6V6G7qi2tgpzzauP7MyYKj4IQnUUxAJEX0Ky2/vPQDmasGrym6vVcO9NkkQxaObJhioixiUInV+fvAEn0ogbO3MajGMMZNMnkNyXeq84r35kyWWwvdSunjeNHX+wSsxORRCL+gPNHYJ3HWv2Vyo9pjR5SiEU9iw0YdBEi/gNGYoEP8Vbq6tucgF8gjX5pEr46Q11oO0wNCiT4dUFd8VUXByNI=----ATTACHMENT:----OTc5NjI2MzE1MzM2NTcyMSA5MDQwMTg1MzAzMDYwMTI0IDExNjcyMDgzNTg2NDI2ODg=