xambassador 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: 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