Object
Setup attribute accesor for all the link types
# File lib/github_api/page_iterator.rb, line 30 def count return nil unless last_page_uri parse_query(URI(last_page_uri).query)['page'] end
Perform http get request for the first resource
# File lib/github_api/page_iterator.rb, line 37 def first return nil unless first_page_uri page_uri = URI(first_page_uri) params = parse_query(page_uri.query) if next_page < 1 params['sha'] = 'master' if params.keys.include?('sha') params['per_page'] = parse_per_page_number(first_page_uri) else params['page'] = parse_page_number(first_page_uri) params['per_page'] = parse_per_page_number(first_page_uri) end response = page_request(page_uri.path, params) update_page_links response.links response end
Returns the result for a specific page.
# File lib/github_api/page_iterator.rb, line 103 def get_page(page_number) # Find URI that we can work with, if we cannot get the first or the # last page URI then there is only one page. page_uri = first_page_uri || last_page_uri return nil unless page_uri params = parse_query URI(page_uri).query params['page'] = page_number params['per_page'] = parse_per_page_number(page_uri) response = page_request URI(page_uri).path, params update_page_links response.links response end
# File lib/github_api/page_iterator.rb, line 26 def has_next? next_page == 0 || !next_page_uri.nil? end
Perform http get request for the last resource
# File lib/github_api/page_iterator.rb, line 89 def last return nil unless last_page_uri page_uri = URI(last_page_uri) params = parse_query(page_uri.query) params['page'] = parse_page_number(last_page_uri) params['per_page'] = parse_per_page_number(last_page_uri) response = page_request(page_uri.path, params) update_page_links response.links response end
Perform http get request for the next resource
# File lib/github_api/page_iterator.rb, line 56 def next return nil unless has_next? page_uri = URI(next_page_uri) params = parse_query(page_uri.query) if next_page < 1 params['sha'] = params['last_sha'] if params.keys.include?('last_sha') params['per_page'] = parse_per_page_number(next_page_uri) else params['page'] = parse_page_number(next_page_uri) params['per_page'] = parse_per_page_number(next_page_uri) end response = page_request(page_uri.path, params) update_page_links response.links response end
Perform http get request for the previous resource
# File lib/github_api/page_iterator.rb, line 75 def prev return nil unless prev_page_uri page_uri = URI(prev_page_uri) params = parse_query(page_uri.query) params['page'] = parse_page_number(prev_page_uri) params['per_page'] = parse_per_page_number(prev_page_uri) response = page_request(page_uri.path, params) update_page_links response.links response end
Generated with the Darkfish Rdoc Generator 2.