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