Raml\Parser::parseRamlData PHP Method

parseRamlData() private method

Parse RAML data
private parseRamlData ( string $ramlData, string $rootDir ) : ApiDefinition
$ramlData string
$rootDir string
return ApiDefinition
    private function parseRamlData($ramlData, $rootDir)
    {
        if (!isset($ramlData['title'])) {
            throw new RamlParserException();
        }
        $ramlData = $this->parseTraits($ramlData);
        $ramlData = $this->parseResourceTypes($ramlData);
        if ($this->configuration->isSchemaParsingEnabled()) {
            if (isset($ramlData['schemas'])) {
                $schemas = [];
                foreach ($ramlData['schemas'] as $schemaCollection) {
                    foreach ($schemaCollection as $schemaName => $schema) {
                        $schemas[$schemaName] = $schema;
                    }
                }
            }
            foreach ($ramlData as $key => $value) {
                if (0 === strpos($key, '/')) {
                    if (isset($schemas)) {
                        $value = $this->replaceSchemas($value, $schemas);
                    }
                    if (is_array($value)) {
                        $value = $this->recurseAndParseSchemas($value, $rootDir);
                    }
                    $ramlData[$key] = $value;
                }
            }
        }
        if (isset($ramlData['securitySchemes'])) {
            $ramlData['securitySchemes'] = $this->parseSecuritySettings($ramlData['securitySchemes']);
        }
        return ApiDefinition::createFromArray($ramlData['title'], $ramlData);
    }