/** * {@inheritdoc} */ public function formatStats(Model\Stats $model) { $users = ''; $numUsers = 0; foreach ($model->getUsers() as $user => $stats) { $users .= '<user publicKey="' . $user . '">' . $this->formatArray($stats) . '</user>'; $numUsers++; } $total = $this->formatArray(array('numImages' => $model->getNumImages(), 'numBytes' => $model->getNumBytes(), 'numUsers' => $numUsers)); $custom = $this->formatArray($model->getCustomStats() ?: array()); return <<<STATUS <?xml version="1.0" encoding="UTF-8"?> <imbo> <stats> <users>{$users}</users> <total>{$total}</total> <custom>{$custom}</custom> </stats> </imbo> STATUS; }
/** * @dataProvider getUsers * @covers Imbo\Model\Stats::getUsers * @covers Imbo\Model\Stats::setUsers */ public function testCanSetAndGetUsers(array $users, $numUsers, $images, $bytes) { $this->assertSame(array(), $this->model->getUsers()); $this->assertSame($this->model, $this->model->setUsers($users)); $this->assertSame($users, $this->model->getUsers()); }
/** * {@inheritdoc} */ public function formatStats(Model\Stats $model) { $data = array('users' => $model->getUsers(), 'total' => array('numImages' => $model->getNumImages(), 'numUsers' => $model->getNumUsers(), 'numBytes' => $model->getNumBytes()), 'custom' => $model->getCustomStats() ?: new stdClass()); return $this->encode($data); }