anchor.diff:    end
   
     def fetch_next_page
  -    response              = client.get(@path, @params)
  +    response              = client.get(@path, @params.merge(page: @page))
       @last_response_empty  = response.empty?
       @collection          += response
       @page                += 1
  +  end
  +
  +  MAX = 1000
  +  def last?
  +    @last_response_empty || @page * @limit >= MAX
     end
   end
   ```
  
positive.code: 
  We've got a few similarities with our first implementation. We still loop over repeated requests for successive pages until either the max is reach or no data is returned from the API. There are a few big differences though.
  
  First, you'll notice we've wrapped our expression in `Enumerator` which will serve as the return value for `paginated_get`.
  
  Using an enumerator may look strange but it offers a huge advantage over our first iteration. Enumerators allow callers to interact with data **as it is generated**. Conceptually, the enumerator represents the algorithm for retrieving or generating data in `Enumerable` form.
  An enumerator implements the `Enumerable` module which means we can call familiar methods like `map`, `select`, `take`, and so on.
  
  Instead of building up an internal array of results, enumerators provide a mechanism for yielding each element even though a block may not be given to the method (how mind blowing is that?).
  
negative.code: gem "http"
  ```
  
  To make things easier for the remainder, add the key and token as environment variables in your shell. For Mac/Linux users, something like this will work:
  
  ```
  # command line
  export TRELLO_APP_KEY=your-key
  export TRELLO_APP_TOKEN=your-token
  ```
  