Sha256: 5188bf7c76a48cd9e8214a5fe2a75130c3abdd5d05ad1b7de9c4d86ab0e3054b

Contents?: true

Size: 1008 Bytes

Versions: 10

Compression:

Stored size: 1008 Bytes

Contents

module Github
  module PagedRequest
    include Github::Constants

    extend self

    FIRST_PAGE = 1 # Default request page if none provided

    PER_PAGE   = 30 # Default number of items as specified by API

    NOT_FOUND  = -1 # Either page or per_page parameter not present

    class << self
      attr_accessor :page, :per_page
    end

    def default_page_size
      Github.api_client.per_page ? Github.api_client.per_page : PER_PAGE
    end

    def default_page
      Github.api_client.page ? Github.api_client.page : FIRST_PAGE
    end

    def page_request(path, params={})
      if params[PARAM_PER_PAGE] == NOT_FOUND
        params[PARAM_PER_PAGE] = default_page_size
      end
      if params[PARAM_PAGE] && params[PARAM_PAGE] == NOT_FOUND
        params[PARAM_PAGE] = default_page
      end

      Github::PagedRequest.page = params[PARAM_PAGE]
      Github::PagedRequest.per_page = params[PARAM_PER_PAGE]

      Github.api_client.get path, params
    end

  end # PagedRequest
end # Github

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
github_api-0.4.11 lib/github_api/paged_request.rb
github_api-0.4.10 lib/github_api/paged_request.rb
github_api-0.4.9 lib/github_api/paged_request.rb
github_api-0.4.8 lib/github_api/paged_request.rb
github_api-0.4.7 lib/github_api/paged_request.rb
github_api-0.4.6 lib/github_api/paged_request.rb
github_api-0.4.5 lib/github_api/paged_request.rb
github_api-0.4.4 lib/github_api/paged_request.rb
github_api-0.4.3 lib/github_api/paged_request.rb
github_api-0.4.2 lib/github_api/paged_request.rb