class Paginator

Attributes

pagination[R]
record_limit[R]
site[R]

Public Class Methods

new(site, record_limit) click to toggle source
# File lib/rubyscraper/paginator.rb, line 4
def initialize(site, record_limit)
  @site         = site
  @pagination   = site["summary"]["pagination"]
  @record_limit = record_limit
end

Public Instance Methods

add_on() click to toggle source
# File lib/rubyscraper/paginator.rb, line 20
def add_on
  @add_on
end
define_pagination_params() click to toggle source
# File lib/rubyscraper/paginator.rb, line 10
def define_pagination_params
  if paginated_site?
    @steps  = url_page_addons
    @add_on = pagination["format"]
  else
    @steps  = [""]
    @add_on = ""
  end
end
steps() click to toggle source
# File lib/rubyscraper/paginator.rb, line 24
def steps
  @steps
end

Private Instance Methods

num_pages() click to toggle source
# File lib/rubyscraper/paginator.rb, line 38
def num_pages
  output = record_limit / records_per_page
  output += 1 if record_limit % records_per_page != 0
  output
end
paginated_site?() click to toggle source
# File lib/rubyscraper/paginator.rb, line 56
def paginated_site?
  site["summary"]["paginated"] == "true"
end
pagination_scale() click to toggle source
# File lib/rubyscraper/paginator.rb, line 52
def pagination_scale
  pagination["scale"].to_i
end
pagination_start() click to toggle source
# File lib/rubyscraper/paginator.rb, line 48
def pagination_start
  pagination["start"].to_i
end
records_per_page() click to toggle source
# File lib/rubyscraper/paginator.rb, line 44
def records_per_page
  pagination["records_per_page"].to_i
end
url_page_addons() click to toggle source
# File lib/rubyscraper/paginator.rb, line 30
def url_page_addons
  output = []
  num_pages.times do |i|
    output << pagination_start + pagination_scale * i
  end
  output
end