class GH::Pagination::Paginated

Public Class Methods

new(page, url, gh) click to toggle source
# File lib/gh/pagination.rb, line 6
def initialize(page, url, gh)
  @page, @next_url, @gh = page, url, gh
end

Public Instance Methods

[](value) click to toggle source
# File lib/gh/pagination.rb, line 20
def [](value)
  raise TypeError, "index has to be an Integer, got #{value.class}" unless value.is_a? Integer
  return @page[value] if value < @page.size
  next_page[value - @page.size]
end
each(&block) click to toggle source
# File lib/gh/pagination.rb, line 10
def each(&block)
  return enum_for(:each) unless block
  @page.each(&block)
  next_page.each(&block)
end
headers() click to toggle source
# File lib/gh/pagination.rb, line 30
def headers
  @page.headers
end
inspect() click to toggle source
# File lib/gh/pagination.rb, line 16
def inspect
  "[#{first.inspect}, ...]"
end
to_ary() click to toggle source
# File lib/gh/pagination.rb, line 26
def to_ary
  to_a # replace with better implementation (use in_parallel)
end

Private Instance Methods

next_page() click to toggle source
# File lib/gh/pagination.rb, line 36
def next_page
  @next_page ||= @gh[@next_url]
end