prophet 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/prophet/prophet.rb +15 -21
  3. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed9b0b0e2821b581f67b8a01188cd52dcd4c61df9c52c8aead49b31ef3a308bf
4
- data.tar.gz: a8a515670defc56c3783d1664cd800f6666c58bee95857c5410ef17f5daad521
3
+ metadata.gz: 63a3b73db0063a2926440a4e1f19a0ae76d62be4a5ae20e7a88fb677229000b5
4
+ data.tar.gz: 7fff7b419b81c22b5f612a3523a04a73b71c53f935d1bdd7f0aca05ec4470ee5
5
5
  SHA512:
6
- metadata.gz: b3588a318caa6750522714f552c1657e04b8c8b6bc96dde64819c284a691eb0ea1d03262a8986cbadd358f83c2174d5b07347e15255b87649148436999f66a55
7
- data.tar.gz: d9796bd8369db7d1e2c61da378a4dc4899a040ff296c1f12699457013e45c9c2b3a3928c870106580d34680eb37c1c54ccf1fc6ffec4deef5f4706ae5f9e4eca
6
+ metadata.gz: 12ce2eda7bcb9e7e401b32c0f28375a7e873188d41b83dc1a6ec892dc7f4f14f64daeb79f6e3509f918f086852368e0fb2ba0b8bc7310f00d7ec4e00621409e5
7
+ data.tar.gz: 0bd79da7a4d39026bc89e3cdb31a8efcc7109cf1c98948f57e915349fa4689a162c9ac6814b54156c480aabd7561bb9e4fe22d4580eadc195b912ac642d85840
@@ -3,10 +3,10 @@ require 'open3'
3
3
 
4
4
  class Prophet
5
5
 
6
- attr_accessor :username,
7
- :password,
6
+ attr_accessor :username_pass,
7
+ :access_token_pass,
8
8
  :username_fail,
9
- :password_fail,
9
+ :access_token_fail,
10
10
  :rerun_on_source_change,
11
11
  :rerun_on_target_change,
12
12
  :prepare_block,
@@ -100,11 +100,10 @@ class Prophet
100
100
  end
101
101
 
102
102
  def configure
103
+ self.username_fail ||= self.username_pass
104
+ self.access_token_fail ||= self.access_token_pass
105
+
103
106
  # Set default fall back values for options that aren't set.
104
- self.username ||= git_config['github.login']
105
- self.password ||= git_config['github.password']
106
- self.username_fail ||= self.username
107
- self.password_fail ||= self.password
108
107
  self.rerun_on_source_change = true if self.rerun_on_source_change.nil?
109
108
  self.rerun_on_target_change = true if self.rerun_on_target_change.nil?
110
109
  self.reuse_comments = false if self.reuse_comments.nil?
@@ -119,22 +118,17 @@ class Prophet
119
118
  # Find environment (tasks, project, ...).
120
119
  self.prepare_block ||= lambda {}
121
120
  self.exec_block ||= lambda { `rake` }
122
- @github = connect_to_github
123
- @github_fail = if self.username == self.username_fail
124
- @github
125
- else
126
- connect_to_github self.username_fail, self.password_fail
127
- end
121
+ @github = connect_to_github(access_token: access_token_pass)
122
+ @github_fail = connect_to_github(access_token: access_token_fail)
128
123
  end
129
124
 
130
- def connect_to_github(user = self.username, pass = self.password)
131
- github = Octokit::Client.new(
132
- :login => user,
133
- :password => pass
134
- )
125
+ def connect_to_github(access_token:)
126
+ github = Octokit::Client.new(access_token: access_token)
127
+
135
128
  # Check user login to GitHub.
136
129
  github.login
137
- logger.info "Successfully logged into GitHub with user '#{user}'."
130
+ logger.info "Successfully logged into GitHub with user '#{github.user.login}'."
131
+
138
132
  # Ensure the user has access to desired project.
139
133
  # NOTE: All three variants should work:
140
134
  # 'ssh://git@github.com:user/project.git'
@@ -146,7 +140,7 @@ class Prophet
146
140
  logger.info "Successfully accessed GitHub project '#{@project}'"
147
141
  github
148
142
  rescue Octokit::Unauthorized => e
149
- logger.error "Unable to access GitHub project with user '#{user}':\n#{e.message}"
143
+ logger.error "Unable to access GitHub project with user '#{github.user}':\n#{e.message}"
150
144
  abort
151
145
  end
152
146
  end
@@ -172,7 +166,7 @@ class Prophet
172
166
  # Compare current sha ids of target and source branch with those from the last test run.
173
167
  @request.target_head_sha = @github.commits(@project).first.sha
174
168
  comments = @github.issue_comments(@project, @request.id)
175
- comments = comments.select { |c| [username, username_fail].include?(c.user.login) }.reverse
169
+ comments = comments.select { |c| [username_pass, username_fail].include?(c.user.login) }.reverse
176
170
  comments.each do |comment|
177
171
  @request.comment = comment if /Merged ([\w]+) into ([\w]+)/.match(comment.body)
178
172
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prophet
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominik Bamberger
8
8
  - Thomas Schmidt
9
9
  - Jordi Massaguer Pla
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-10-25 00:00:00.000000000 Z
13
+ date: 2020-09-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: faraday_middleware
@@ -73,7 +73,7 @@ homepage: http://github.com/b4mboo/prophet
73
73
  licenses:
74
74
  - MIT
75
75
  metadata: {}
76
- post_install_message:
76
+ post_install_message:
77
77
  rdoc_options: []
78
78
  require_paths:
79
79
  - lib
@@ -88,8 +88,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  requirements: []
91
- rubygems_version: 3.0.6
92
- signing_key:
91
+ rubygems_version: 3.1.4
92
+ signing_key:
93
93
  specification_version: 4
94
94
  summary: An easy way to loop through open pull requests and run code onthe merged
95
95
  branch.