pronto 0.9.5 → 0.10.0

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
- SHA1:
3
- metadata.gz: 751d40e214f58802ae6f48a1c71a8bee1780dc81
4
- data.tar.gz: ab5ffa282a02e967c825120dda4b19cb0cd66439
2
+ SHA256:
3
+ metadata.gz: c46191096dc80dd16c7d74cb071776e3d527c58030b205f13ef7cdd814bc2a75
4
+ data.tar.gz: c0e30815ad2b8e4cc4dc5b0e3f020347346a2e27463855951399b270b136015b
5
5
  SHA512:
6
- metadata.gz: 6160600de386512e3924bcc578b83995cccbf5ca44b4a57ae2476828fde3c796783eadb3edeb88923efddd28bbc8d395d09797626c0b7fccd5a8388ae18cf507
7
- data.tar.gz: 180b4f95b5fa3407e3f04e6327327634b9bfe9b54a8feb52b95a2685918492512e0174770f5034c813bc225b43a3bc477e480a87161038604b94e02f7f038104
6
+ metadata.gz: 005ccdcd8d549c490828c473658708c273f982fca0923897444cb84d02e2757b539d1acdf2accbe87220e08a55d5d2b3168780090c996e0449416cde798eaf92
7
+ data.tar.gz: 4b3b8aefc717056f27840f5ad1693f6d053e4988c4d892b281dadb55ac6dbbe9824dd97bccc609caab3d2e772e60802bb45c0021772ef64fb19883219bd4f62e
@@ -2,6 +2,26 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ### New features
6
+
7
+ * [#301](https://github.com/prontolabs/pronto/pull/301): add ability to auto approve Bitbucket pull requests.
8
+ * [#331](https://github.com/prontolabs/pronto/pull/331): allow to specify PATH in "run" command.
9
+
10
+ ### Bugs fixed
11
+
12
+ * [#258](https://github.com/prontolabs/pronto/pull/258): fix blame returning nil when file does not exist in the git tree.
13
+ * [#270](https://github.com/prontolabs/pronto/pull/270): fix ${line} in text format to mean line number.
14
+ * [#282](https://github.com/prontolabs/pronto/issues/282): relax rainbow dependency.
15
+ * [#329](https://github.com/prontolabs/pronto/pull/329): correctly handle renamed-only files.
16
+
17
+ ### Changes
18
+
19
+ * Depend on thor `0.20.*`.
20
+ * [#298](https://github.com/prontolabs/pronto/pull/298): change default GitLab API endpoint to v4.
21
+ * [#332](https://github.com/prontolabs/pronto/pull/332): remove support for Ruby older than 2.3.0.
22
+
23
+ ## 0.9.5
24
+
5
25
  ### Bugs fixed
6
26
 
7
27
  * [#253](https://github.com/prontolabs/pronto/pull/253): fix an infinite loop when Bitbucket Server sends a paginated response.
@@ -51,7 +71,7 @@
51
71
  ### Changes
52
72
 
53
73
  * [#193](https://github.com/prontolabs/pronto/issues/193): rename `pronto run --index` option to `--unstaged`.
54
- * [#49](https://github.com/prontolabs/pronto/issues/49): handle non-existance of GitHub pull requests gracefully.
74
+ * [#49](https://github.com/prontolabs/pronto/issues/49): handle nonexistence of GitHub pull requests gracefully.
55
75
  * [#217](https://github.com/prontolabs/pronto/issues/217): depend on `octokit >= 4.7.0`.
56
76
  * [#224](https://github.com/prontolabs/pronto/issues/224): depend on `gitlab >= 4.0.0`.
57
77
  * [#222](https://github.com/prontolabs/pronto/pull/184): prefix PULL_REQUEST_ID env variable with `PRONTO_`.
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License
2
2
 
3
- Copyright (c) 2017 Mindaugas Mozūras
3
+ Copyright (c) 2018 Mindaugas Mozūras
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,10 +1,9 @@
1
1
  # Pronto
2
2
 
3
3
  [![Build Status](https://secure.travis-ci.org/prontolabs/pronto.svg)](http://travis-ci.org/prontolabs/pronto)
4
- [![Coverage Status](https://img.shields.io/codeclimate/coverage/github/prontolabs/pronto.svg)](https://codeclimate.com/github/prontolabs/pronto)
4
+ [![Coverage Status](https://img.shields.io/codeclimate/coverage/prontolabs/pronto.svg)](https://codeclimate.com/github/prontolabs/pronto)
5
5
  [![Code Climate](https://codeclimate.com/github/prontolabs/pronto.svg)](https://codeclimate.com/github/prontolabs/pronto)
6
6
  [![Gem Version](https://badge.fury.io/rb/pronto.svg)](http://badge.fury.io/rb/pronto)
7
- [![Dependency Status](https://gemnasium.com/prontolabs/pronto.svg)](https://gemnasium.com/prontolabs/pronto)
8
7
  [![Inline docs](http://inch-ci.org/github/prontolabs/pronto.svg)](http://inch-ci.org/github/prontolabs/pronto)
9
8
 
10
9
  **Pronto** runs analysis quickly by checking only the relevant changes. Created to
@@ -151,7 +150,7 @@ on GitLab commits using `GitlabFormatter`.
151
150
  Set the `PRONTO_GITLAB_API_ENDPOINT` environment variable or value in `.pronto.yml` to
152
151
  your API endpoint URL. If you are using Gitlab.com's hosted service your
153
152
  endpoint will be set by default.
154
- Set the `PRONTO_GITLAB_API_PRIVATE_TOKEN` environment variable or value in `.pronto.yml
153
+ Set the `PRONTO_GITLAB_API_PRIVATE_TOKEN` environment variable or value in `.pronto.yml`
155
154
  to your Gitlab private token which you can find in your account settings.
156
155
 
157
156
  Then just run it:
@@ -168,7 +167,6 @@ on Bitbucket commits using `BitbucketFormatter` or `BitbucketPullRequestFormatte
168
167
  Add Pronto runners you want to use to your Gemfile:
169
168
 
170
169
  Set the PRONTO_BITBUCKET_USERNAME and PRONTO_BITBUCKET_PASSWORD environment variables or values in `.pronto.yml`.
171
- .
172
170
 
173
171
  Then just run it:
174
172
 
@@ -262,20 +260,26 @@ The following values are available only to the text formatter:
262
260
  Pronto can run various tools and libraries, as long as there's a runner for it.
263
261
  Currently available:
264
262
 
263
+ * [pronto-blacklist](https://github.com/pbstriker38/pronto-blacklist)
265
264
  * [pronto-brakeman](https://github.com/prontolabs/pronto-brakeman)
266
265
  * [pronto-coffeelint](https://github.com/siebertm/pronto-coffeelint)
266
+ * [pronto-clang_format](https://github.com/micjabbour/pronto-clang_format)
267
+ * [pronto-clang_tidy](https://github.com/micjabbour/pronto-clang_tidy)
267
268
  * [pronto-clippy](https://github.com/hauleth/pronto-clippy)
268
269
  * [pronto-credo](https://github.com/carakan/pronto-credo)
269
270
  * [pronto-dialyzer](https://github.com/iurifq/pronto-dialyzer)
270
271
  * [pronto-dirty_words](https://github.com/kevinjalbert/pronto-dirty_words)
271
272
  * [pronto-dogma](https://github.com/iurifq/pronto-dogma)
273
+ * [pronto-erb_lint](https://github.com/tleish/pronto-erb_lint)
272
274
  * [pronto-eslint](https://github.com/prontolabs/pronto-eslint) (uses [eslintrb](https://github.com/zendesk/eslintrb))
273
275
  * [pronto-eslint_npm](https://github.com/doits/pronto-eslint_npm) (uses eslint installed from npm)
274
276
  * [pronto-fasterer](https://github.com/prontolabs/pronto-fasterer)
277
+ * [pronto-flake8](https://github.com/scoremedia/pronto-flake8)
275
278
  * [pronto-flay](https://github.com/prontolabs/pronto-flay)
276
279
  * [pronto-flow](https://github.com/kevinjalbert/pronto-flow)
277
280
  * [pronto-foodcritic](https://github.com/prontolabs/pronto-foodcritic)
278
281
  * [pronto-haml](https://github.com/prontolabs/pronto-haml)
282
+ * [pronto-inspec](https://github.com/stiller-leser/pronto-inspec)
279
283
  * [pronto-jscs](https://github.com/spajus/pronto-jscs)
280
284
  * [pronto-jshint](https://github.com/prontolabs/pronto-jshint)
281
285
  * [pronto-json](https://github.com/deees/pronto-json)
@@ -283,6 +287,7 @@ Currently available:
283
287
  * [pronto-perl_lint](https://github.com/bells17/pronto-perl_lint)
284
288
  * [pronto-phpcs](https://github.com/EllisV/pronto-phpcs)
285
289
  * [pronto-phpmd](https://github.com/EllisV/pronto-phpmd)
290
+ * [pronto-phpstan](https://github.com/Powerhamster/pronto-phpstan)
286
291
  * [pronto-poper](https://github.com/prontolabs/pronto-poper)
287
292
  * [pronto-rails_best_practices](https://github.com/prontolabs/pronto-rails_best_practices)
288
293
  * [pronto-rails_schema](https://github.com/raimondasv/pronto-rails_schema)
@@ -298,22 +303,28 @@ Currently available:
298
303
  * [pronto-tailor](https://github.com/ajanauskas/pronto-tailor)
299
304
  * [pronto-textlint](https://github.com/seikichi/pronto-textlint)
300
305
  * [pronto-tslint_npm](https://github.com/eprislac/pronto-tslint_npm)
306
+ * [pronto-yamllint](https://github.com/pauliusm/pronto-yamllint)
307
+ * [pronto-goodcheck](https://github.com/aergonaut/pronto-goodcheck)
308
+ * [pronto-undercover](https://github.com/grodowski/pronto-undercover)
301
309
 
302
310
  ## Articles
303
311
 
304
312
  Articles to help you to get started:
305
313
 
314
+ * [Effortless Code Conventions Review for Pull Request Changes](https://jtway.co/effortless-code-review-for-pull-request-changes-241206b1cb04)
306
315
  * [Automating code review with Pronto (and friends)](http://everydayrails.com/2015/02/17/pronto-ruby-code-review.html)
307
316
  * [Setup Pronto with CircleCI](https://medium.com/@MaximAbramchuk/circleci-github-pr-commenting-ruby-scss-coffeescript-javascript-git-and-etc-fbcbe2a378a5#.gk5f14p3j)
308
317
  * [Continuous Static Analysis using Pronto](http://codingfearlessly.com/2014/11/06/continuous-static-analysis/)
309
318
  * [Pronto and git hooks](http://elliotthilaire.net/gem-pronto-and-git-hooks/)
310
319
  * [How to end fruitless dev discussions about your project’s code style?](https://medium.com/appaloosa-store-engineering/how-to-end-fruitless-dev-discussions-about-your-project-s-code-style-245070bff6d4)
311
- * [Free automated code reviews using Pronto](https://hovancik.net/blog/2016/04/11/free-automated-code-reviews-using-pronto.html)
320
+ * [Free automated code reviews using Pronto](https://hovancik.net/blog/2016/04/11/free-automated-code-reviews-using-pronto/)
312
321
  * [Automated Elixir code review with Github, Credo and Travis CI](https://medium.com/fazibear/automated-elixir-code-review-with-github-credo-and-travis-ci-986cd56b8f02)
313
322
  * [Running Rubocop before git commit](https://christoph.luppri.ch/articles/2016/11/21/running-rubocop-before-git-commit/)
314
323
  * [Pronto, Codeship and GitHub for automatic code review](http://abinoam.tl1n.com/pronto-codeship-and-github-for-automatic-code-review/)
315
324
  * [How to automatically review your PRs for style violations with Pronto and RuboCop](https://christoph.luppri.ch/articles/2017/03/05/how-to-automatically-review-your-prs-for-style-violations-with-pronto-and-rubocop/)
316
325
  * [Create your own Pronto Runner](https://kevinjalbert.com/create-your-own-pronto-runner/)
326
+ * [Make Code Reviews A Little Bit Better With Automation](https://medium.com/jimmy-farrell/make-codes-reviews-a-little-bit-better-with-automation-35640df08a62)
327
+ * [Stop shipping untested Ruby code with undercover](https://medium.com/futuredev/stop-shipping-untested-ruby-code-with-undercover-1edc963be4a6)
317
328
 
318
329
  Make a Pull Request to add something you wrote or found useful.
319
330
 
@@ -323,4 +334,4 @@ Make a Pull Request to add something you wrote or found useful.
323
334
 
324
335
  ## Copyright
325
336
 
326
- Copyright (c) 2013-2017 Mindaugas Mozūras. See [LICENSE](LICENSE) for further details.
337
+ Copyright (c) 2013-2018 Mindaugas Mozūras. See [LICENSE](LICENSE) for further details.
@@ -32,6 +32,13 @@ module Pronto
32
32
  end
33
33
  end
34
34
 
35
+ def approve_pull_request
36
+ client.approve_pull_request(slug, pull_id)
37
+ end
38
+
39
+ def unapprove_pull_request
40
+ client.unapprove_pull_request(slug, pull_id)
41
+ end
35
42
  private
36
43
 
37
44
  def slug
@@ -12,7 +12,7 @@ module Pronto
12
12
  end
13
13
  end
14
14
 
15
- desc 'run', 'Run Pronto'
15
+ desc 'run [PATH]', 'Run Pronto'
16
16
 
17
17
  method_option :'exit-code',
18
18
  type: :boolean,
@@ -45,7 +45,9 @@ module Pronto
45
45
  aliases: ['formatter', '-f'],
46
46
  desc: "Pick output formatters. Available: #{::Pronto::Formatter.names.join(', ')}"
47
47
 
48
- def run(path = nil)
48
+ def run(path = '.')
49
+ path = File.expand_path(path)
50
+
49
51
  gem_names = options[:runner].any? ? options[:runner] : ::Pronto::GemNames.new.to_a
50
52
  gem_names.each do |gem_name|
51
53
  require "pronto/#{gem_name}"
@@ -56,16 +58,19 @@ module Pronto
56
58
  commit_options = %i[staged unstaged index]
57
59
  commit = commit_options.find { |o| options[o] } || options[:commit]
58
60
 
59
- repo_workdir = ::Rugged::Repository.discover('.').workdir
61
+ repo_workdir = ::Rugged::Repository.discover(path).workdir
62
+ relative = path.sub(repo_workdir, '')
63
+
60
64
  messages = Dir.chdir(repo_workdir) do
61
- ::Pronto.run(commit, '.', formatters, path)
65
+ file = relative.length != path.length ? relative : nil
66
+ ::Pronto.run(commit, '.', formatters, file)
62
67
  end
63
68
  if options[:'exit-code']
64
69
  error_messages_count = messages.count { |m| m.level != :info }
65
70
  exit(error_messages_count)
66
71
  end
67
72
  rescue Rugged::RepositoryError
68
- puts '"pronto" should be run from a git repository'
73
+ puts '"pronto" must be run from within a git repository or must be supplied the path to a git repository'
69
74
  rescue Pronto::Error => e
70
75
  $stderr.puts "Pronto errored: #{e.message}"
71
76
  end
@@ -21,8 +21,7 @@ class BitbucketClient
21
21
  end
22
22
 
23
23
  def pull_requests(slug)
24
- base = 'https://api.bitbucket.org/2.0/repositories'
25
- response = get("#{base}/#{slug}/pullrequests?state=OPEN")
24
+ response = get("#{pull_request_api(slug)}/pullrequests?state=OPEN")
26
25
  openstruct(response['values'])
27
26
  end
28
27
 
@@ -30,8 +29,20 @@ class BitbucketClient
30
29
  post("/#{slug}/pullrequests/#{pull_id}/comments", body, path, position)
31
30
  end
32
31
 
32
+ def approve_pull_request(slug, pull_id)
33
+ self.class.post("#{pull_request_api(slug)}/pullrequests/#{pull_id}/approve")
34
+ end
35
+
36
+ def unapprove_pull_request(slug, pull_id)
37
+ self.class.delete("#{pull_request_api(slug)}/pullrequests/#{pull_id}/approve")
38
+ end
39
+
33
40
  private
34
41
 
42
+ def pull_request_api(slug)
43
+ "https://api.bitbucket.org/2.0/repositories/#{slug}"
44
+ end
45
+
35
46
  def openstruct(response)
36
47
  response.map { |r| OpenStruct.new(r) }
37
48
  end
@@ -40,7 +40,7 @@ module Pronto
40
40
  end
41
41
 
42
42
  def max_warnings
43
- ENV['PRONTO_MAX_WARNINGS'] || @config_hash['max_warnings']
43
+ ENV['PRONTO_MAX_WARNINGS'] && Integer(ENV['PRONTO_MAX_WARNINGS']) || @config_hash['max_warnings']
44
44
  end
45
45
 
46
46
  def message_format(formatter)
@@ -16,13 +16,14 @@ module Pronto
16
16
  'gitlab' => {
17
17
  'slug' => nil,
18
18
  'api_private_token' => nil,
19
- 'api_endpoint' => 'https://gitlab.com/api/v3'
19
+ 'api_endpoint' => 'https://gitlab.com/api/v4'
20
20
  },
21
21
  'bitbucket' => {
22
22
  'slug' => nil,
23
23
  'username' => nil,
24
24
  'password' => nil,
25
25
  'api_endpoint' => nil,
26
+ 'auto_approve' => false,
26
27
  'web_endpoint' => 'https://bitbucket.org/'
27
28
  },
28
29
  'text' => {
@@ -12,6 +12,16 @@ module Pronto
12
12
  def line_number(message, _)
13
13
  message.line.line.new_lineno if message.line
14
14
  end
15
+
16
+ def approve_pull_request(comments_count, additions_count, client)
17
+ return if config.bitbucket_auto_approve == false
18
+
19
+ if comments_count > 0 && additions_count > 0
20
+ client.unapprove_pull_request
21
+ elsif comments_count == 0
22
+ client.approve_pull_request
23
+ end
24
+ end
15
25
  end
16
26
  end
17
27
  end
@@ -7,6 +7,8 @@ module Pronto
7
7
  comments = new_comments(messages, patches)
8
8
  additions = remove_duplicate_comments(existing, comments)
9
9
  submit_comments(client, additions)
10
+
11
+ approve_pull_request(comments.count, additions.count, client) if defined?(self.approve_pull_request)
10
12
 
11
13
  "#{additions.count} Pronto messages posted to #{pretty_name}"
12
14
  end
@@ -16,6 +16,7 @@ module Pronto
16
16
 
17
17
  def to_h
18
18
  original = __getobj__.to_h
19
+ original[:line] = __getobj__.line.new_lineno if __getobj__.line
19
20
  original[:color_level] = format_level(__getobj__)
20
21
  original[:color_location] = format_location(__getobj__)
21
22
  original
@@ -19,6 +19,7 @@ module Pronto
19
19
  [merge_base, patches]
20
20
  end
21
21
 
22
+ patches.find_similar!(renames: true)
22
23
  Patches.new(self, target, patches)
23
24
  end
24
25
 
@@ -49,6 +50,8 @@ module Pronto
49
50
  end
50
51
 
51
52
  def blame(path, lineno)
53
+ return if new_file?(path)
54
+
52
55
  Rugged::Blame.new(@repo, path, min_line: lineno, max_line: lineno,
53
56
  track_copies_same_file: true,
54
57
  track_copies_any_commit_copies: true)[0]
@@ -72,6 +75,10 @@ module Pronto
72
75
 
73
76
  private
74
77
 
78
+ def new_file?(path)
79
+ @repo.status(path).include?(:index_new)
80
+ end
81
+
75
82
  def empty_patches(sha)
76
83
  Patches.new(self, sha, [])
77
84
  end
@@ -1,5 +1,12 @@
1
+ require 'pronto/github_pull'
2
+
1
3
  module Pronto
2
4
  class Github < Client
5
+ def initialize(repo)
6
+ super(repo)
7
+ @github_pull = Pronto::GithubPull.new(client, slug)
8
+ end
9
+
3
10
  def pull_comments(sha)
4
11
  @comment_cache["#{pull_id}/#{sha}"] ||= begin
5
12
  client.pull_comments(slug, pull_id).map do |comment|
@@ -43,7 +50,7 @@ module Pronto
43
50
 
44
51
  options = {
45
52
  event: 'COMMENT',
46
- accept: 'application/vnd.github.black-cat-preview+json', # https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review
53
+ accept: 'application/vnd.github.v3.diff+json', # https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review
47
54
  comments: comments.map do |c|
48
55
  { path: c.path, position: c.position, body: c.body }
49
56
  end
@@ -80,7 +87,7 @@ module Pronto
80
87
  end
81
88
 
82
89
  def pull_id
83
- pull ? pull[:number].to_i : env_pull_id
90
+ env_pull_id || pull[:number].to_i
84
91
  end
85
92
 
86
93
  def pull_sha
@@ -89,18 +96,12 @@ module Pronto
89
96
 
90
97
  def pull
91
98
  @pull ||= if env_pull_id
92
- pull_requests.find { |pr| pr[:number].to_i == env_pull_id }
99
+ @github_pull.pull_by_id(env_pull_id)
93
100
  elsif @repo.branch
94
- pull_requests.find { |pr| pr[:head][:ref] == @repo.branch }
101
+ @github_pull.pull_by_branch(@repo.branch)
95
102
  elsif @repo.head_detached?
96
- pull_requests.find do |pr|
97
- pr[:head][:sha] == @repo.head_commit_sha
98
- end
103
+ @github_pull.pull_by_commit(@repo.head_commit_sha)
99
104
  end
100
105
  end
101
-
102
- def pull_requests
103
- @pull_requests ||= client.pull_requests(slug)
104
- end
105
106
  end
106
107
  end
@@ -0,0 +1,43 @@
1
+ module Pronto
2
+ # Provides strategies for finding corresponding PR on GitHub
3
+ class GithubPull
4
+ def initialize(client, slug)
5
+ @client = client
6
+ @slug = slug
7
+ end
8
+
9
+ def pull_requests
10
+ @pull_requests ||= @client.pull_requests(@slug)
11
+ end
12
+
13
+ def pull_by_id(pull_id)
14
+ result = pull_requests.find { |pr| pr[:number].to_i == pull_id }
15
+ unless result
16
+ message = "Pull request ##{pull_id} was not found in #{@slug}."
17
+ raise Pronto::Error, message
18
+ end
19
+ result
20
+ end
21
+
22
+ def pull_by_branch(branch)
23
+ result = pull_requests.find { |pr| pr[:head][:ref] == branch }
24
+ unless result
25
+ raise Pronto::Error, "Pull request for branch #{branch} " \
26
+ "was not found in #{@slug}."
27
+ end
28
+ result
29
+ end
30
+
31
+ def pull_by_commit(sha)
32
+ result = pull_requests.find do |pr|
33
+ pr[:head][:sha] == sha
34
+ end
35
+ unless result
36
+ message = "Pull request with head #{sha} " \
37
+ "was not found in #{@slug}."
38
+ raise Pronto::Error, message
39
+ end
40
+ result
41
+ end
42
+ end
43
+ end
@@ -1,6 +1,6 @@
1
1
  module Pronto
2
2
  module Version
3
- STRING = '0.9.5'.freeze
3
+ STRING = '0.10.0'.freeze
4
4
 
5
5
  MSG = '%s (running on %s %s %s)'.freeze
6
6
 
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
20
20
  EOF
21
21
 
22
22
  s.licenses = ['MIT']
23
- s.required_ruby_version = '>= 2.0.0'
23
+ s.required_ruby_version = '>= 2.3.0'
24
24
  s.rubygems_version = '1.8.23'
25
25
 
26
26
  s.files = `git ls-files`.split($RS).reject do |file|
@@ -40,19 +40,18 @@ Gem::Specification.new do |s|
40
40
  s.require_paths = ['lib']
41
41
  s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
42
42
 
43
- s.add_runtime_dependency('rugged', '~> 0.24', '>= 0.23.0')
44
- s.add_runtime_dependency('thor', '~> 0.19.0')
45
- s.add_runtime_dependency('octokit', '~> 4.7', '>= 4.7.0')
46
43
  s.add_runtime_dependency('gitlab', '~> 4.0', '>= 4.0.0')
47
44
  s.add_runtime_dependency('httparty', '>= 0.13.7')
48
- s.add_runtime_dependency('rainbow', '~> 2.1')
45
+ s.add_runtime_dependency('octokit', '~> 4.7', '>= 4.7.0')
46
+ s.add_runtime_dependency('rainbow', '>= 2.2', '< 4.0')
47
+ s.add_runtime_dependency('rugged', '~> 0.24', '>= 0.23.0')
48
+ s.add_runtime_dependency('thor', '~> 0.20.0')
49
+ s.add_development_dependency('bundler', '>= 1.15')
50
+ s.add_development_dependency('pronto-rubocop', '~> 0.9.0')
49
51
  s.add_development_dependency('rake', '~> 12.0')
50
52
  s.add_development_dependency('rspec', '~> 3.4')
51
53
  s.add_development_dependency('rspec-its', '~> 1.2')
52
54
  s.add_development_dependency('rspec-expectations', '~> 3.4')
53
- s.add_development_dependency('bundler', '~> 1.3')
55
+ s.add_development_dependency('rubocop', '~> 0.58')
54
56
  s.add_development_dependency('simplecov', '~> 0.14')
55
- s.add_development_dependency('rubocop', '~> 0.47')
56
- s.add_development_dependency('pronto-rubocop', '~> 0.9.0')
57
- s.add_development_dependency('codeclimate-test-reporter', '~> 1.0')
58
57
  end
metadata CHANGED
@@ -1,161 +1,167 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pronto
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.5
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mindaugas Mozūras
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-15 00:00:00.000000000 Z
11
+ date: 2019-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rugged
14
+ name: gitlab
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '0.24'
20
17
  - - ">="
21
18
  - !ruby/object:Gem::Version
22
- version: 0.23.0
19
+ version: 4.0.0
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '4.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '0.24'
30
27
  - - ">="
31
28
  - !ruby/object:Gem::Version
32
- version: 0.23.0
29
+ version: 4.0.0
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '4.0'
33
33
  - !ruby/object:Gem::Dependency
34
- name: thor
34
+ name: httparty
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 0.19.0
39
+ version: 0.13.7
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - "~>"
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 0.19.0
46
+ version: 0.13.7
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: octokit
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '4.7'
54
51
  - - ">="
55
52
  - !ruby/object:Gem::Version
56
53
  version: 4.7.0
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '4.7'
57
57
  type: :runtime
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - "~>"
62
- - !ruby/object:Gem::Version
63
- version: '4.7'
64
61
  - - ">="
65
62
  - !ruby/object:Gem::Version
66
63
  version: 4.7.0
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '4.7'
67
67
  - !ruby/object:Gem::Dependency
68
- name: gitlab
68
+ name: rainbow
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - "~>"
72
- - !ruby/object:Gem::Version
73
- version: '4.0'
74
71
  - - ">="
75
72
  - !ruby/object:Gem::Version
76
- version: 4.0.0
73
+ version: '2.2'
74
+ - - "<"
75
+ - !ruby/object:Gem::Version
76
+ version: '4.0'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - "~>"
82
- - !ruby/object:Gem::Version
83
- version: '4.0'
84
81
  - - ">="
85
82
  - !ruby/object:Gem::Version
86
- version: 4.0.0
83
+ version: '2.2'
84
+ - - "<"
85
+ - !ruby/object:Gem::Version
86
+ version: '4.0'
87
87
  - !ruby/object:Gem::Dependency
88
- name: httparty
88
+ name: rugged
89
89
  requirement: !ruby/object:Gem::Requirement
90
90
  requirements:
91
91
  - - ">="
92
92
  - !ruby/object:Gem::Version
93
- version: 0.13.7
93
+ version: 0.23.0
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.24'
94
97
  type: :runtime
95
98
  prerelease: false
96
99
  version_requirements: !ruby/object:Gem::Requirement
97
100
  requirements:
98
101
  - - ">="
99
102
  - !ruby/object:Gem::Version
100
- version: 0.13.7
103
+ version: 0.23.0
104
+ - - "~>"
105
+ - !ruby/object:Gem::Version
106
+ version: '0.24'
101
107
  - !ruby/object:Gem::Dependency
102
- name: rainbow
108
+ name: thor
103
109
  requirement: !ruby/object:Gem::Requirement
104
110
  requirements:
105
111
  - - "~>"
106
112
  - !ruby/object:Gem::Version
107
- version: '2.1'
113
+ version: 0.20.0
108
114
  type: :runtime
109
115
  prerelease: false
110
116
  version_requirements: !ruby/object:Gem::Requirement
111
117
  requirements:
112
118
  - - "~>"
113
119
  - !ruby/object:Gem::Version
114
- version: '2.1'
120
+ version: 0.20.0
115
121
  - !ruby/object:Gem::Dependency
116
- name: rake
122
+ name: bundler
117
123
  requirement: !ruby/object:Gem::Requirement
118
124
  requirements:
119
- - - "~>"
125
+ - - ">="
120
126
  - !ruby/object:Gem::Version
121
- version: '12.0'
127
+ version: '1.15'
122
128
  type: :development
123
129
  prerelease: false
124
130
  version_requirements: !ruby/object:Gem::Requirement
125
131
  requirements:
126
- - - "~>"
132
+ - - ">="
127
133
  - !ruby/object:Gem::Version
128
- version: '12.0'
134
+ version: '1.15'
129
135
  - !ruby/object:Gem::Dependency
130
- name: rspec
136
+ name: pronto-rubocop
131
137
  requirement: !ruby/object:Gem::Requirement
132
138
  requirements:
133
139
  - - "~>"
134
140
  - !ruby/object:Gem::Version
135
- version: '3.4'
141
+ version: 0.9.0
136
142
  type: :development
137
143
  prerelease: false
138
144
  version_requirements: !ruby/object:Gem::Requirement
139
145
  requirements:
140
146
  - - "~>"
141
147
  - !ruby/object:Gem::Version
142
- version: '3.4'
148
+ version: 0.9.0
143
149
  - !ruby/object:Gem::Dependency
144
- name: rspec-its
150
+ name: rake
145
151
  requirement: !ruby/object:Gem::Requirement
146
152
  requirements:
147
153
  - - "~>"
148
154
  - !ruby/object:Gem::Version
149
- version: '1.2'
155
+ version: '12.0'
150
156
  type: :development
151
157
  prerelease: false
152
158
  version_requirements: !ruby/object:Gem::Requirement
153
159
  requirements:
154
160
  - - "~>"
155
161
  - !ruby/object:Gem::Version
156
- version: '1.2'
162
+ version: '12.0'
157
163
  - !ruby/object:Gem::Dependency
158
- name: rspec-expectations
164
+ name: rspec
159
165
  requirement: !ruby/object:Gem::Requirement
160
166
  requirements:
161
167
  - - "~>"
@@ -169,75 +175,61 @@ dependencies:
169
175
  - !ruby/object:Gem::Version
170
176
  version: '3.4'
171
177
  - !ruby/object:Gem::Dependency
172
- name: bundler
178
+ name: rspec-its
173
179
  requirement: !ruby/object:Gem::Requirement
174
180
  requirements:
175
181
  - - "~>"
176
182
  - !ruby/object:Gem::Version
177
- version: '1.3'
183
+ version: '1.2'
178
184
  type: :development
179
185
  prerelease: false
180
186
  version_requirements: !ruby/object:Gem::Requirement
181
187
  requirements:
182
188
  - - "~>"
183
189
  - !ruby/object:Gem::Version
184
- version: '1.3'
190
+ version: '1.2'
185
191
  - !ruby/object:Gem::Dependency
186
- name: simplecov
192
+ name: rspec-expectations
187
193
  requirement: !ruby/object:Gem::Requirement
188
194
  requirements:
189
195
  - - "~>"
190
196
  - !ruby/object:Gem::Version
191
- version: '0.14'
197
+ version: '3.4'
192
198
  type: :development
193
199
  prerelease: false
194
200
  version_requirements: !ruby/object:Gem::Requirement
195
201
  requirements:
196
202
  - - "~>"
197
203
  - !ruby/object:Gem::Version
198
- version: '0.14'
204
+ version: '3.4'
199
205
  - !ruby/object:Gem::Dependency
200
206
  name: rubocop
201
207
  requirement: !ruby/object:Gem::Requirement
202
208
  requirements:
203
209
  - - "~>"
204
210
  - !ruby/object:Gem::Version
205
- version: '0.47'
206
- type: :development
207
- prerelease: false
208
- version_requirements: !ruby/object:Gem::Requirement
209
- requirements:
210
- - - "~>"
211
- - !ruby/object:Gem::Version
212
- version: '0.47'
213
- - !ruby/object:Gem::Dependency
214
- name: pronto-rubocop
215
- requirement: !ruby/object:Gem::Requirement
216
- requirements:
217
- - - "~>"
218
- - !ruby/object:Gem::Version
219
- version: 0.9.0
211
+ version: '0.58'
220
212
  type: :development
221
213
  prerelease: false
222
214
  version_requirements: !ruby/object:Gem::Requirement
223
215
  requirements:
224
216
  - - "~>"
225
217
  - !ruby/object:Gem::Version
226
- version: 0.9.0
218
+ version: '0.58'
227
219
  - !ruby/object:Gem::Dependency
228
- name: codeclimate-test-reporter
220
+ name: simplecov
229
221
  requirement: !ruby/object:Gem::Requirement
230
222
  requirements:
231
223
  - - "~>"
232
224
  - !ruby/object:Gem::Version
233
- version: '1.0'
225
+ version: '0.14'
234
226
  type: :development
235
227
  prerelease: false
236
228
  version_requirements: !ruby/object:Gem::Requirement
237
229
  requirements:
238
230
  - - "~>"
239
231
  - !ruby/object:Gem::Version
240
- version: '1.0'
232
+ version: '0.14'
241
233
  description: |2
242
234
  Pronto runs analysis quickly by checking only the relevant changes. Created
243
235
  to be used on pull requests, but suited for other scenarios as well. Perfect
@@ -294,6 +286,7 @@ files:
294
286
  - lib/pronto/git/patches.rb
295
287
  - lib/pronto/git/repository.rb
296
288
  - lib/pronto/github.rb
289
+ - lib/pronto/github_pull.rb
297
290
  - lib/pronto/gitlab.rb
298
291
  - lib/pronto/logger.rb
299
292
  - lib/pronto/message.rb
@@ -316,15 +309,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
316
309
  requirements:
317
310
  - - ">="
318
311
  - !ruby/object:Gem::Version
319
- version: 2.0.0
312
+ version: 2.3.0
320
313
  required_rubygems_version: !ruby/object:Gem::Requirement
321
314
  requirements:
322
315
  - - ">="
323
316
  - !ruby/object:Gem::Version
324
317
  version: '0'
325
318
  requirements: []
326
- rubyforge_project:
327
- rubygems_version: 2.6.11
319
+ rubygems_version: 3.0.1
328
320
  signing_key:
329
321
  specification_version: 4
330
322
  summary: Pronto runs analysis by checking only the introduced changes