Class: PivotalApi::Client::Pagination
- Inherits:
-
Object
- Object
- PivotalApi::Client::Pagination
- Defined in:
- lib/pivotal_api/client.rb
Instance Attribute Summary collapse
-
#headers ⇒ Object
Returns the value of attribute headers.
-
#limit ⇒ Object
Returns the value of attribute limit.
-
#offset ⇒ Object
Returns the value of attribute offset.
-
#returned ⇒ Object
Returns the value of attribute returned.
-
#total ⇒ Object
Returns the value of attribute total.
Instance Method Summary collapse
-
#initialize(headers) ⇒ Pagination
constructor
A new instance of Pagination.
- #more? ⇒ Boolean
- #next_offset ⇒ Object
- #next_page_params ⇒ Object
Constructor Details
#initialize(headers) ⇒ Pagination
Returns a new instance of Pagination.
187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/pivotal_api/client.rb', line 187 def initialize(headers) @headers = headers @total = headers['x-tracker-pagination-total'].to_i @limit = headers['x-tracker-pagination-limit'].to_i @offset = headers['x-tracker-pagination-offset'].to_i @returned = headers['x-tracker-pagination-returned'].to_i # if offset is negative (e.g. Iterations Endpoint). # For the 'Done' scope, negative numbers can be passed, which # specifies the number of iterations preceding the 'Current' iteration. # then need to adjust the negative offset to account for a smaller total, # and set total to zero since we are paginating from -X to 0. if @offset < 0 @offset = -@total if @offset.abs > @total @total = 0 end end |
Instance Attribute Details
#headers ⇒ Object
Returns the value of attribute headers.
185 186 187 |
# File 'lib/pivotal_api/client.rb', line 185 def headers @headers end |
#limit ⇒ Object
Returns the value of attribute limit.
185 186 187 |
# File 'lib/pivotal_api/client.rb', line 185 def limit @limit end |
#offset ⇒ Object
Returns the value of attribute offset.
185 186 187 |
# File 'lib/pivotal_api/client.rb', line 185 def offset @offset end |
#returned ⇒ Object
Returns the value of attribute returned.
185 186 187 |
# File 'lib/pivotal_api/client.rb', line 185 def returned @returned end |
#total ⇒ Object
Returns the value of attribute total.
185 186 187 |
# File 'lib/pivotal_api/client.rb', line 185 def total @total end |
Instance Method Details
#more? ⇒ Boolean
205 206 207 |
# File 'lib/pivotal_api/client.rb', line 205 def more? (offset + limit) < total end |
#next_offset ⇒ Object
209 210 211 |
# File 'lib/pivotal_api/client.rb', line 209 def next_offset offset + limit end |
#next_page_params ⇒ Object
213 214 215 |
# File 'lib/pivotal_api/client.rb', line 213 def next_page_params { limit: limit, offset: next_offset } end |