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: 6a240785e687da761f19a1a64ba22f71887c56ff
4
- data.tar.gz: 5d77f2c3c0a8c3d9c0b2a55dbe70daffa479fc0f
3
+ metadata.gz: 46429c5e1449e552ba2a27c14e0577e952dc1992
4
+ data.tar.gz: e9d84ecb7849c262d94fd6597f37d5d2e434b8a9
5
5
  SHA512:
6
- metadata.gz: a12bca389829fc66814b5bdfcbabc56ed97f814dc5c243e7df03095a71fec016b8d046f530455c3b82e6e626537c4dd83dd1ed5085b18be7c5e9f439fd315de5
7
- data.tar.gz: b4f0fc74b6983df57057973a5b0fdb3c8dfa05de7406b6213ead872a20bd6b482d235f717e952732327c4aa9f70ea396ce54743f4e2efd329b70f4d8568067e8
6
+ metadata.gz: 1d4c2995b1104c3dafa6c7d568c50e27d2af934d19343e9ae467446b3d9218397b4eaba4e651234e4ba6dc3daaa3e4f326bdf8a02b7788c586e868e4fd383d69
7
+ data.tar.gz: 4d485c34048d19b23d3956eb5414169ec276b038c5c7aec3c44ce85f4a719256b89e78a173c7c0950d1c6bbbcdd638e88c4ff58795c76c816c195770e773eefd
@@ -2,6 +2,7 @@ module Xambassador
2
2
  # Status Check class
3
3
  class StatusCheck
4
4
  def initialize(connection, pull_request, context)
5
+ @pull_request = pull_request
5
6
  @name = pull_request["base"]["repo"]["full_name"]
6
7
  @sha = pull_request["head"]["sha"]
7
8
 
@@ -1,19 +1,19 @@
1
- require "json"
2
- require "net/https"
3
- require "uri"
4
- require "renegade/branch_name"
5
- require "uri_template"
1
+ require 'json'
2
+ require 'net/https'
3
+ require 'uri'
4
+ require 'renegade/branch_name'
5
+ require 'uri_template'
6
6
 
7
- require_relative "../status_check"
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, "No Protected Files")
13
+ super(connection, pull_request, 'No Protected Files')
14
14
 
15
- @description_success = ""
16
- @description_failure = "Edited protected files"
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
@@ -1,4 +1,4 @@
1
1
  # Xambassador version
2
2
  module Xambassador
3
- VERSION = "0.0.4".freeze
3
+ VERSION = "0.0.5".freeze
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xambassador
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
  - Rather Blue