Sha256: 74e9834d076a7b60b104fe90d89560b5f4194154780357b4f590b5f1b5f5ad48

Contents?: true

Size: 588 Bytes

Versions: 2

Compression:

Stored size: 588 Bytes

Contents

# frozen_string_literal: true
module Shipit
  class OctokitIterator
    include Enumerable

    def initialize(relation = nil, github_api: nil)
      if relation
        @response = relation.get(per_page: 100)
      else
        data = yield github_api
        @response = github_api.last_response if data.present?
      end
    end

    def each(&block)
      response = @response

      loop do
        return unless response.present?

        response.data.each(&block)
        return unless response.rels[:next]
        response = response.rels[:next].get
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
shipit-engine-0.39.0 lib/shipit/octokit_iterator.rb
shipit-engine-0.38.0 lib/shipit/octokit_iterator.rb