gitrob 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 81f068944463add65ad8508310610cba768c41bd
4
- data.tar.gz: c5f00cff14c11e36f8a2335e471b897a8317a08e
3
+ metadata.gz: 90f04895ed250caafe2dd882ad64aa517647d92b
4
+ data.tar.gz: d47a5bf63fde5b24bb0735f6ba4b3d473bd3604c
5
5
  SHA512:
6
- metadata.gz: 7e2397c9c5d6a4ae6aa1f5f87ebb145202eb8549f3182baa8f3b3b1a4bc81d587d2d590b2b2d990cfd63d20dbee0d0291d979c52f06e0dbbade31b88696ff14d
7
- data.tar.gz: c171532f79547e5a9822123f96973a21b35c4e332ccbfcdbbe7041778853cbfbbe8540954f0048b1937dfb1a123f78362af4ba603f90fa2349f72f4db64cdae1
6
+ metadata.gz: c6d01493289fedd10935a1d1fc86b4ff34e4d8277049738a3f3a722a91946de3a6c5ab67d60039b04967a8eb38fe273490a6b35c47ce4907489c7e068f8bed5c
7
+ data.tar.gz: b411388a1d96baad65f1531c09bf2736946745e4cbffadac2c3b510b4f8d0a291cf6cfc49558f8f6a81db0691f19b7a30d06419d70e66a3486ee5d6353d8c341
@@ -36,18 +36,10 @@ module Gitrob
36
36
  end
37
37
 
38
38
  def repositories
39
- if !@repositories
40
- @repositories = []
41
- response = JSON.parse(http_client.do_get("/orgs/#{name}/repos").body)
42
- response.each do |repo|
43
- next if repo['fork']
44
- @repositories << Repository.new(name, repo['name'], http_client)
45
- end
46
- end
47
- @repositories
39
+ @repositories ||= recursive_repositories
48
40
  end
49
41
 
50
- def members()
42
+ def members
51
43
  @members ||= recursive_members
52
44
  end
53
45
 
@@ -82,6 +74,20 @@ module Gitrob
82
74
  members
83
75
  end
84
76
 
77
+ def recursive_repositories(page = 1)
78
+ repositories = Array.new
79
+ response = http_client.do_get("/orgs/#{name}/repos?page=#{page.to_i}")
80
+ JSON.parse(response.body).each do |repo|
81
+ next if repo['fork']
82
+ repositories << Repository.new(name, repo['name'], http_client)
83
+ end
84
+
85
+ if response.headers.include?('link') && response.headers['link'].include?('rel="next"')
86
+ repositories += recursive_repositories(page + 1)
87
+ end
88
+ repositories
89
+ end
90
+
85
91
  def info
86
92
  if !@info
87
93
  @info = JSON.parse(http_client.do_get("/orgs/#{name}").body)
@@ -37,15 +37,7 @@ module Gitrob
37
37
  end
38
38
 
39
39
  def repositories
40
- if !@repositories
41
- @repositories = []
42
- response = JSON.parse(http_client.do_get("/users/#{username}/repos").body)
43
- response.each do |repo|
44
- next if repo['fork']
45
- @repositories << Repository.new(username, repo['name'], http_client)
46
- end
47
- end
48
- @repositories
40
+ @repositories ||= recursive_repositories
49
41
  end
50
42
 
51
43
  def to_model(organization)
@@ -67,6 +59,20 @@ module Gitrob
67
59
 
68
60
  private
69
61
 
62
+ def recursive_repositories(page = 1)
63
+ repositories = Array.new
64
+ response = http_client.do_get("/users/#{username}/repos?page=#{page.to_i}")
65
+ JSON.parse(response.body).each do |repo|
66
+ next if repo['fork']
67
+ repositories << Repository.new(username, repo['name'], http_client)
68
+ end
69
+
70
+ if response.headers.include?('link') && response.headers['link'].include?('rel="next"')
71
+ repositories += recursive_repositories(page + 1)
72
+ end
73
+ repositories
74
+ end
75
+
70
76
  def info
71
77
  if !@info
72
78
  @info = JSON.parse(http_client.do_get("/users/#{username}").body)
@@ -1,3 +1,3 @@
1
1
  module Gitrob
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitrob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Henriksen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-17 00:00:00.000000000 Z
11
+ date: 2015-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty