universal-git-client 1.2.4 → 1.2.9
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 +4 -4
- data/VERSION +1 -1
- data/lib/universal-git-client/client.rb +2 -1
- data/lib/universal-git-client/http/base.rb +7 -1
- data/lib/universal-git-client/http/bitbucket.rb +17 -14
- data/lib/universal-git-client/http/github.rb +2 -1
- data/lib/universal-git-client/http/gitlab.rb +2 -1
- data/lib/universal-git-client/http/response_validation.rb +2 -0
- data/lib/universal-git-client/normalizers/base.rb +6 -4
- data/lib/universal-git-client/normalizers/bitbucket.rb +4 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d586b92fbf25a887fd3d22be2102eeb6cd43707e43210259dd29b01f5ee83f91
|
4
|
+
data.tar.gz: 1e63b3f3ec9d2eab5cbb089ec8d95264413bc467ca9e9e9a382bcc5fdabe7028
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca113697918244cb981c8e4ea760233a74f5d2a9a027b56cc8f639bc297709f84ee77439911e6db11600043880253d638728a1ab8566a01e6b8fbb6a216a0b75
|
7
|
+
data.tar.gz: 3842d99fbbb97fa1f42e849b8def3c0d0313f21a1ecc2e8bec1699447f004145b4dd83441a8280759702d94ed4978dfe406a0e4aede4862c36d7adb1000bd306
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.9
|
@@ -1,9 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'universal-git-client/normalizers/github'
|
2
4
|
require 'universal-git-client/normalizers/gitlab'
|
3
5
|
require 'universal-git-client/normalizers/bitbucket'
|
4
6
|
require 'universal-git-client/normalizers/bitbucket_server'
|
5
7
|
|
6
|
-
|
7
8
|
module UniversalGitClient
|
8
9
|
class Client
|
9
10
|
attr_reader :provider, :http_client
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'universal-git-client/http/response_validation'
|
2
4
|
require 'httparty'
|
3
5
|
require 'down'
|
@@ -62,7 +64,11 @@ module UniversalGitClient
|
|
62
64
|
|
63
65
|
def down_default_options
|
64
66
|
options = default_options[:headers].reject { |k, _v| %w[Accept Content-Type].include?(k) }
|
65
|
-
options.reject { |k, _v| [
|
67
|
+
options.reject { |k, _v| %i[base_uri logger log_level log_format].include?(k) }
|
68
|
+
# By default Down allows 2 redirections before raising.
|
69
|
+
# We're cranking this up as Bitbucket seems to do more redirects
|
70
|
+
# when a project has moved.
|
71
|
+
options.merge(max_redirects: 5)
|
66
72
|
end
|
67
73
|
end
|
68
74
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'universal-git-client/http/base'
|
2
4
|
require 'uri'
|
3
5
|
|
@@ -13,28 +15,28 @@ module UniversalGitClient
|
|
13
15
|
def organizations(page: 1, per_page: nil)
|
14
16
|
with_response_validation! do
|
15
17
|
self.class.get(
|
16
|
-
'/
|
18
|
+
'/workspaces',
|
17
19
|
default_options.merge(
|
18
20
|
query: {
|
19
|
-
role: 'member',
|
20
21
|
page: page,
|
21
22
|
pagelen: per_page || default_elements_per_page,
|
22
|
-
|
23
|
+
q: %(uuid!="#{user['uuid']}")
|
24
|
+
}
|
23
25
|
)
|
24
26
|
)
|
25
27
|
end
|
26
28
|
end
|
27
29
|
|
28
30
|
def user_repos(page: 1, per_page: nil)
|
29
|
-
current_user_uuid = URI.encode_www_form_component(
|
31
|
+
current_user_uuid = URI.encode_www_form_component(user['uuid'])
|
30
32
|
with_response_validation! do
|
31
33
|
self.class.get(
|
32
34
|
"/repositories/#{current_user_uuid}",
|
33
35
|
default_options.merge(
|
34
36
|
query: {
|
35
37
|
page: page,
|
36
|
-
pagelen: per_page || default_elements_per_page
|
37
|
-
}
|
38
|
+
pagelen: per_page || default_elements_per_page
|
39
|
+
}
|
38
40
|
)
|
39
41
|
)
|
40
42
|
end
|
@@ -47,8 +49,8 @@ module UniversalGitClient
|
|
47
49
|
default_options.merge(
|
48
50
|
query: {
|
49
51
|
page: page,
|
50
|
-
pagelen: per_page || default_elements_per_page
|
51
|
-
}
|
52
|
+
pagelen: per_page || default_elements_per_page
|
53
|
+
}
|
52
54
|
)
|
53
55
|
)
|
54
56
|
end
|
@@ -67,17 +69,18 @@ module UniversalGitClient
|
|
67
69
|
default_options.merge(
|
68
70
|
query: {
|
69
71
|
page: page,
|
70
|
-
pagelen: per_page || default_elements_per_page
|
71
|
-
}
|
72
|
+
pagelen: per_page || default_elements_per_page
|
73
|
+
}
|
72
74
|
)
|
73
75
|
)
|
74
76
|
end
|
75
77
|
end
|
76
78
|
|
77
79
|
def branch(owner:, repo:, branch:)
|
80
|
+
encoded_branch = URI.encode_www_form_component(branch)
|
78
81
|
with_response_validation! do
|
79
82
|
self.class.get(
|
80
|
-
"/repositories/#{owner}/#{repo}/refs/branches/#{
|
83
|
+
"/repositories/#{owner}/#{repo}/refs/branches/#{encoded_branch}",
|
81
84
|
default_options
|
82
85
|
)
|
83
86
|
end
|
@@ -97,9 +100,9 @@ module UniversalGitClient
|
|
97
100
|
url: webhook_secret ? "#{webhook_url}?secret=#{webhook_secret}" : webhook_url,
|
98
101
|
active: true,
|
99
102
|
events: [
|
100
|
-
'repo:push'
|
101
|
-
]
|
102
|
-
}.to_json
|
103
|
+
'repo:push'
|
104
|
+
]
|
105
|
+
}.to_json
|
103
106
|
)
|
104
107
|
)
|
105
108
|
end
|
@@ -74,9 +74,10 @@ module UniversalGitClient
|
|
74
74
|
end
|
75
75
|
|
76
76
|
def branch(owner:, repo:, branch:)
|
77
|
+
encoded_branch = URI.encode_www_form_component(branch)
|
77
78
|
with_response_validation! do
|
78
79
|
self.class.get(
|
79
|
-
"/repos/#{owner}/#{repo}/branches/#{
|
80
|
+
"/repos/#{owner}/#{repo}/branches/#{encoded_branch}",
|
80
81
|
default_options
|
81
82
|
)
|
82
83
|
end
|
@@ -78,9 +78,10 @@ module UniversalGitClient
|
|
78
78
|
|
79
79
|
def branch(owner:, repo:, branch:)
|
80
80
|
encoded_namespace = encode_namespace(owner, repo)
|
81
|
+
encoded_branch = URI.encode_www_form_component(branch)
|
81
82
|
with_response_validation! do
|
82
83
|
self.class.get(
|
83
|
-
"/projects/#{encoded_namespace}/repository/branches/#{
|
84
|
+
"/projects/#{encoded_namespace}/repository/branches/#{encoded_branch}",
|
84
85
|
default_options
|
85
86
|
)
|
86
87
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'json'
|
2
4
|
require 'fast_jsonapi'
|
3
5
|
require 'deep_merge'
|
@@ -49,9 +51,9 @@ module UniversalGitClient
|
|
49
51
|
prev: prev_page_index,
|
50
52
|
next: next_page_index,
|
51
53
|
last: last_page_index,
|
52
|
-
per_page: per_page_index
|
53
|
-
}
|
54
|
-
}
|
54
|
+
per_page: per_page_index
|
55
|
+
}
|
56
|
+
}
|
55
57
|
}
|
56
58
|
end
|
57
59
|
|
@@ -86,7 +88,7 @@ module UniversalGitClient
|
|
86
88
|
private
|
87
89
|
|
88
90
|
def fetch_rel_value(rel)
|
89
|
-
Hash[URI
|
91
|
+
Hash[URI.decode_www_form(links.by_rel(rel).target.query)]['page']
|
90
92
|
rescue StandardError
|
91
93
|
nil
|
92
94
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'universal-git-client/normalizers/base'
|
2
4
|
|
3
5
|
module UniversalGitClient
|
@@ -29,7 +31,7 @@ module UniversalGitClient
|
|
29
31
|
|
30
32
|
def get_page_index(rel)
|
31
33
|
Hash[
|
32
|
-
URI
|
34
|
+
URI.decode_www_form(
|
33
35
|
URI.parse(response[rel]).query
|
34
36
|
)
|
35
37
|
]['page']
|
@@ -49,7 +51,7 @@ module UniversalGitClient
|
|
49
51
|
|
50
52
|
class OrganizationSerializer < BaseSerializer
|
51
53
|
set_id :uuid
|
52
|
-
attribute :login, &:
|
54
|
+
attribute :login, &:slug
|
53
55
|
|
54
56
|
attribute :avatar_url do |object|
|
55
57
|
object.links.avatar.href
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: universal-git-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- HipTest
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: deep_merge
|
@@ -298,7 +298,7 @@ homepage: https://github.com/SmartBear/universal-git-client
|
|
298
298
|
licenses:
|
299
299
|
- MIT
|
300
300
|
metadata: {}
|
301
|
-
post_install_message:
|
301
|
+
post_install_message:
|
302
302
|
rdoc_options: []
|
303
303
|
require_paths:
|
304
304
|
- lib
|
@@ -314,7 +314,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
314
314
|
version: '0'
|
315
315
|
requirements: []
|
316
316
|
rubygems_version: 3.0.3
|
317
|
-
signing_key:
|
317
|
+
signing_key:
|
318
318
|
specification_version: 4
|
319
319
|
summary: Use this gem to normalize git providers api responses
|
320
320
|
test_files: []
|