Class: SRL::ResultSet

Inherits:
Object
  • Object
show all
Defined in:
lib/srl/result_set.rb

Overview

Wrapper around various calls to paginated data, such as past races. Contains pagination information, and information on all records, on top of the current page’s records.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(results, params = {}) ⇒ ResultSet

Returns a new instance of ResultSet.



26
27
28
29
30
31
# File 'lib/srl/result_set.rb', line 26

def initialize(results, params = {})
  @results = results
  @page = params.fetch(:page)
  @page_size = params.fetch(:page_size)
  @count = params.fetch(:count)
end

Instance Attribute Details

#countObject (readonly) Also known as: total_records, num_records

Total number of records matching the query for this result set.



22
23
24
# File 'lib/srl/result_set.rb', line 22

def count
  @count
end

#pageObject (readonly)

The page of this result set.



16
17
18
# File 'lib/srl/result_set.rb', line 16

def page
  @page
end

#page_sizeObject (readonly) Also known as: per_page

Returns the value of attribute page_size.



18
19
20
# File 'lib/srl/result_set.rb', line 18

def page_size
  @page_size
end

#resultsObject (readonly) Also known as: data, records, items

Records for this result set.

NOTE

Always an array, though the type of object contained in the array can vary depending on the query that spawned it.



10
11
12
# File 'lib/srl/result_set.rb', line 10

def results
  @results
end

Instance Method Details

#last_page?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/srl/result_set.rb', line 38

def last_page?
  page == num_pages
end

#num_pagesObject Also known as: pages



33
34
35
# File 'lib/srl/result_set.rb', line 33

def num_pages
  (count.to_f / page_size.to_f).ceil
end