| Conditions | 4 | 
| Paths | 4 | 
| Total Lines | 20 | 
| Code Lines | 11 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
| 1 | <?php | ||
| 40 | public function extract(): array | ||
| 41 |     { | ||
| 42 | $this->getDataFromDocument(); | ||
| 43 | |||
| 44 |         foreach ($this->dataTypes() as $type) { | ||
| 45 | $class = __NAMESPACE__.'\\Provides'.ucfirst($type).'Data'; | ||
| 46 | |||
| 47 |             if ($this instanceof $class) { | ||
| 48 | $method = 'extract'.ucfirst($type).'Data'; | ||
| 49 |                 try { | ||
| 50 | $this->$method(); | ||
| 51 |                 } catch (JournalTitleNotFoundException $e) { | ||
| 52 | $this->output['journal']['title'] = $this->output['journal']['publisher']; | ||
| 53 | } | ||
| 54 | } | ||
| 55 | } | ||
| 56 | |||
| 57 | $this->addOutputSource(); | ||
| 58 | |||
| 59 | return $this->output; | ||
| 60 | } | ||
| 89 |