Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-10-06 16:30:42 +0300
committerRémy Coutable <remy@rymai.me>2016-10-06 16:30:42 +0300
commit16b7a1648ca83c4394823b0c6f84af0cbdca52fc (patch)
treeaa4adeac946be56c7f28f7d4942af5e0e1e10d76
parent8a96910cf5b361295c52b1c3ee89fc7435ad5927 (diff)
parent0a7678b58ad6f17e78086c2e320647c3a4dd461f (diff)
Merge remote-tracking branch 'origin/master' into 8-13-stable
-rw-r--r--lib/gitlab/github_import/client.rb14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/gitlab/github_import/client.rb b/lib/gitlab/github_import/client.rb
index e33ac61f5ae..7f424b74efb 100644
--- a/lib/gitlab/github_import/client.rb
+++ b/lib/gitlab/github_import/client.rb
@@ -102,9 +102,19 @@ module Gitlab
def request(method, *args, &block)
sleep rate_limit_sleep_time if rate_limit_exceed?
- data = api.send(method, *args, &block)
- yield data
+ data = api.send(method, *args)
+ return data unless data.is_a?(Array)
+ if block_given?
+ yield data
+ each_response_page(&block)
+ else
+ each_response_page { |page| data.concat(page) }
+ data
+ end
+ end
+
+ def each_response_page
last_response = api.last_response
while last_response.rels[:next]