From a8221d45154f9281e56ac95f275c5d02da4cbee5 Mon Sep 17 00:00:00 2001 From: Bez Hermoso Date: Mon, 28 Jul 2014 12:18:55 -0700 Subject: [PATCH] Post-parser support for response map models. --- Extractor/ApiDocExtractor.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Extractor/ApiDocExtractor.php b/Extractor/ApiDocExtractor.php index 8249ab0..133a2d5 100644 --- a/Extractor/ApiDocExtractor.php +++ b/Extractor/ApiDocExtractor.php @@ -306,8 +306,8 @@ class ApiDocExtractor } } - foreach($supportedParsers as $parser) { - if($parser instanceof PostParserInterface) { + foreach ($supportedParsers as $parser) { + if ($parser instanceof PostParserInterface) { $mp = $parser->postParse($normalizedOutput, $response); $response = $this->mergeParameters($response, $mp); } @@ -334,12 +334,21 @@ class ApiDocExtractor $normalizedModel = $this->normalizeClassParameter($modelName); $parameters = array(); + $supportedParsers = array(); foreach ($this->getParsers($normalizedModel) as $parser) { if ($parser->supports($normalizedModel)) { + $supportedParsers[] = $parser; $parameters = $this->mergeParameters($parameters, $parser->parse($normalizedModel)); } } + foreach ($supportedParsers as $parser) { + if ($parser instanceof PostParserInterface) { + $mp = $parser->postParse($normalizedModel, $parameters); + $parameters = $this->mergeParameters($parameters, $mp); + } + } + $parameters = $this->clearClasses($parameters); $parameters = $this->generateHumanReadableTypes($parameters);