示例#1
0
 /**
  * Get the next items for a paged list.
  *
  * @param PagedList $pagedList
  *
  * @return Response
  */
 public function getNextItems(PagedList $pagedList)
 {
     if (!$pagedList->hasNext()) {
         throw new InvalidArgumentException('The list has no more items');
     }
     $items = $pagedList->items();
     if (empty($items)) {
         throw new InvalidArgumentException('Unable to detect object type because the list contains no items');
     }
     $item = reset($items);
     $objectClassName = get_class($item);
     $objectInstance = new $objectClassName();
     $request = $this->buildRequestForPagedList($pagedList);
     return $this->execute($request, function (Response $response) use($objectInstance) {
         $mapper = new Mapper($objectInstance);
         return $mapper->toList($response);
     });
 }
示例#2
0
 public function test_it_returns_the_items()
 {
     $items = array(new User(), new User());
     $pagedList = new PagedList($items);
     $this->assertSame($items, $pagedList->items());
 }