| Total Complexity | 5 |
| Total Lines | 40 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 8 | class IrcMessageParser |
||
| 9 | { |
||
| 10 | /** |
||
| 11 | * Parse one ore more irc messages |
||
| 12 | * |
||
| 13 | * @param string $message A string received from the irc server |
||
| 14 | * |
||
| 15 | * @return IrcMessage[] |
||
| 16 | */ |
||
| 17 | public function parse(string $message) |
||
| 18 | { |
||
| 19 | if ($messages = preg_split('/\r?\n\r?/', $message, -1, PREG_SPLIT_NO_EMPTY)) { |
||
| 20 | foreach ($messages as $msg) { |
||
| 21 | yield $this->parseSingle($msg); |
||
|
|
|||
| 22 | } |
||
| 23 | } |
||
| 24 | } |
||
| 25 | |||
| 26 | /** |
||
| 27 | * Parse a single message to a corresponding object |
||
| 28 | * |
||
| 29 | * @param string $message |
||
| 30 | * |
||
| 31 | * @return IrcMessage |
||
| 32 | */ |
||
| 33 | private function parseSingle(string $message): IrcMessage |
||
| 48 | } |
||
| 49 | } |
||
| 50 |