/** * Saves Event data * * @param Event $event * @return null * @throws \RuntimeException */ public function saveEvent(Event $event) { $filename = "{$this->baseDir}/{$event->getId()}.json"; $saved = file_put_contents($filename, $event->toJson()); if (false === $saved) { throw new \RuntimeException("Failed to write on the file {$event->getId()}.json"); } }
/** * @param OutputInterface $output */ private function doRaffle(OutputInterface $output) { while ($prizes = $this->event->getPrizes()) { $prize = $this->event->popPrize($this->selectPrize($prizes, $output)); $winner = $this->getRandomAttendee($output, $prize); $prize->setWinner($winner); $this->dataHandler->saveWinner($this->event->getId(), $prize); $this->dataHandler->saveEvent($this->event); $this->tweetWinner($output, $prize); } }