/** * @param array $data * * @return self */ public static function create(array $data) { Assert::string($data['time']); Assert::isArray($data['accepted']); Assert::isArray($data['delivered']); Assert::isArray($data['failed']); return new self(new \DateTime($data['time']), $data['accepted'], $data['delivered'], $data['failed']); }
/** * @param array $data * * @return self */ public static function create(array $data) { Assert::string($data['id']); Assert::string($data['event']); Assert::string($data['total_count']); Assert::isArray($data['tags']); Assert::string($data['created_at']); return new self($data['id'], $data['event'], $data['total_count'], $data['tags'], new \DateTime($data['created_at'])); }
/** * @param array $data * * @return self */ public static function create(array $data) { $name = isset($data['name']) ? $data['name'] : null; $priority = isset($data['priority']) ? $data['priority'] : null; Assert::nullOrString($name); Assert::string($data['record_type']); Assert::string($data['value']); Assert::nullOrString($priority); Assert::string($data['valid']); return new self($name, $data['record_type'], $data['value'], $priority, $data['valid']); }
/** * @param array $data * * @return self */ public static function create(array $data) { Assert::keyExists($data, 'created_at'); Assert::keyExists($data, 'mailbox'); Assert::keyExists($data, 'login'); $sizeBytes = array_key_exists('size_bytes', $data) ? $data['size_bytes'] : null; $createdAt = new \DateTime($data['created_at']); $mailbox = $data['mailbox']; $login = $data['login']; Assert::nullOrInteger($sizeBytes); Assert::isInstanceOf($createdAt, '\\DateTime'); Assert::string($mailbox); Assert::string($login); return new self($sizeBytes, $createdAt, $mailbox, $login); }