/** * @param string $content * @param string $filename */ public function processContent($content, $filename = null) { $data = $this->parseContent($content); $data += array('project' => basename($filename, '.info.yml'), 'version' => ''); $project = new Project($data['project'], $data['core'], $data['version']); $project->setDetails($data); if (!empty($filename)) { $project->setFilename(realpath($filename)); } $this->project = $project; }
/** * @param string $content * * @return void */ public function processContent($content) { $data = $this->parseContent($content); // Core attribute is mandatory since Drupal 7.x. $data += array('core' => '6.x', 'api' => '', 'projects' => array(), 'libraries' => array()); $this->core = $data['core']; $this->api = $data['api']; $this->projects = array(); $this->libraries = $data['libraries']; // Wrap project into objects. foreach ($data['projects'] as $project_name => $project_details) { $project_details['version'] = $this->getCore() . '-' . $project_details['version']; $project = new Project($project_name, $this->getCore(), $project_details['version']); $project->setDetails($project_details); $this->projects[$project_name] = $project; } // Todo: wrap libraries into objects. }