xambassador 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46429c5e1449e552ba2a27c14e0577e952dc1992
|
4
|
+
data.tar.gz: e9d84ecb7849c262d94fd6597f37d5d2e434b8a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d4c2995b1104c3dafa6c7d568c50e27d2af934d19343e9ae467446b3d9218397b4eaba4e651234e4ba6dc3daaa3e4f326bdf8a02b7788c586e868e4fd383d69
|
7
|
+
data.tar.gz: 4d485c34048d19b23d3956eb5414169ec276b038c5c7aec3c44ce85f4a719256b89e78a173c7c0950d1c6bbbcdd638e88c4ff58795c76c816c195770e773eefd
|
@@ -1,19 +1,19 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
1
|
+
require 'json'
|
2
|
+
require 'net/https'
|
3
|
+
require 'uri'
|
4
|
+
require 'renegade/branch_name'
|
5
|
+
require 'uri_template'
|
6
6
|
|
7
|
-
require_relative
|
7
|
+
require_relative '../status_check'
|
8
8
|
|
9
9
|
module Xambassador
|
10
10
|
# Check peer review status
|
11
11
|
class ProtectedFiles < StatusCheck
|
12
12
|
def initialize(connection, pull_request)
|
13
|
-
super(connection, pull_request,
|
13
|
+
super(connection, pull_request, 'No Protected Files')
|
14
14
|
|
15
|
-
@description_success =
|
16
|
-
@description_failure =
|
15
|
+
@description_success = ''
|
16
|
+
@description_failure = 'Edited protected files'
|
17
17
|
|
18
18
|
url = pull_request['head']['repo']['trees_url']
|
19
19
|
|
@@ -51,6 +51,32 @@ module Xambassador
|
|
51
51
|
def report_status(files)
|
52
52
|
if files.empty?
|
53
53
|
success
|
54
|
+
else
|
55
|
+
fetch_labels(@pull_request['issue_url'], files)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def fetch_labels(url, files)
|
60
|
+
uri = URI.parse(url)
|
61
|
+
|
62
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
63
|
+
http.use_ssl = true
|
64
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
65
|
+
response = http.request(Net::HTTP::Get.new(url))
|
66
|
+
|
67
|
+
body = JSON.parse(response.body)
|
68
|
+
check_labels(body['labels'], files)
|
69
|
+
end
|
70
|
+
|
71
|
+
def check_labels(labels, files)
|
72
|
+
pass = false
|
73
|
+
|
74
|
+
labels.each do |label|
|
75
|
+
pass = true if label['name'] == 'edited .config'
|
76
|
+
end
|
77
|
+
|
78
|
+
if pass
|
79
|
+
success
|
54
80
|
else
|
55
81
|
@description_failure = "You edited #{files}"
|
56
82
|
failure
|
data/lib/xambassador/version.rb
CHANGED