danger-rubocop 0.7.1 → 0.7.2

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
  SHA256:
3
- metadata.gz: 7b288b71917f30ef97bf3fc0c1f8724b46a88e7df67b892b6150c61c17a7de98
4
- data.tar.gz: 0cfe9c4bab2641bca6fcc424d1fe696880b1707c6d95090f0daf3329c7dd1abf
3
+ metadata.gz: fc7db75b5f4eff3caf643f1c9cc45c5d9014e8361351b8868fb79a2082618507
4
+ data.tar.gz: 0bbc72b3cd32ad873d8137717ea82a0ed5fd630dbda61d46433c5cd4b5bf50a6
5
5
  SHA512:
6
- metadata.gz: f47e4da17133f200a872614aecafed97f9ea9cd7461e46c8389fbea70f9f8ebccc74d4910ac228b76caa90f8d112a553939741c98a61c5e073d135dae7330ef4
7
- data.tar.gz: 70268a8ab1c21d2b68ea5a4455177998562322cc3cf5d2d9b1decf710085bec6fd162bada84d1727420665d8ce49fa29afa0479921bd460775cffa76d7aa0d3b
6
+ metadata.gz: 272cbd2cdefced6ef5a1f0de44251ec358bbd37522c73035104294d320a0c0defdd95598bec5ce3973435c006b4583121a01f562e693dc699ed1c427ea5fbd18
7
+ data.tar.gz: 78750720159477b7db8d97a6d963f0443b16839785387682597aa4058e75a692132a09674516f02a561c6f228c4d21760498a4eb193dd53137a2eafc820db530
@@ -0,0 +1,30 @@
1
+ version: 2
2
+ jobs:
3
+ build:
4
+ docker:
5
+ - image: circleci/ruby:2.6
6
+
7
+ working_directory: ~/repo
8
+
9
+ steps:
10
+ - checkout
11
+
12
+ - restore_cache:
13
+ keys:
14
+ - v1-dependencies-{{ checksum "Gemfile.lock" }}
15
+ # fallback to using the latest cache if no exact match is found
16
+ - v1-dependencies-
17
+
18
+ - run:
19
+ name: install dependencies
20
+ command: |
21
+ bundle install --jobs=4 --retry=3 --path vendor/bundle
22
+
23
+ - save_cache:
24
+ paths:
25
+ - ./vendor/bundle
26
+ key: v1-dependencies-{{ checksum "Gemfile.lock" }}
27
+
28
+ - run:
29
+ name: run tests
30
+ command: bundle exec rake spec
@@ -91,7 +91,7 @@ GEM
91
91
  slop (~> 3.4)
92
92
  public_suffix (4.0.1)
93
93
  rainbow (3.0.0)
94
- rake (10.5.0)
94
+ rake (13.0.1)
95
95
  rb-fsevent (0.9.7)
96
96
  rb-inotify (0.9.7)
97
97
  ffi (>= 0.5.0)
@@ -141,7 +141,7 @@ DEPENDENCIES
141
141
  mocha-on-bacon
142
142
  prettybacon
143
143
  pry
144
- rake (~> 10.0)
144
+ rake (~> 13.0)
145
145
  rspec (~> 3.4)
146
146
  yard
147
147
 
data/README.md CHANGED
@@ -43,7 +43,7 @@ rubocop.lint inline_comment: true
43
43
 
44
44
  Runs Ruby files through Rubocop. Generates a `markdown` list of warnings.
45
45
 
46
- This method accepts configuration hash.
46
+ This method accepts a configuration hash.
47
47
  The following keys are supported:
48
48
 
49
49
  * `files`: array of file names or glob patterns to determine files to lint
@@ -56,6 +56,7 @@ The following keys are supported:
56
56
  * `config`: path to the `.rubocop.yml` file.
57
57
  * `only_report_new_offenses`: pass `true` to only report offenses that are in current user's scope.
58
58
  Note that this won't mark offenses for _Metrics/XXXLength_ if you add lines to an already existing scope.
59
+ * `include_cop_names`: Prepends cop names to the output messages. Example: "Layout/EmptyLinesAroundBlockBody: Extra empty line detected at block body end."
59
60
 
60
61
 
61
62
  Passing `files` as only argument is also supported for backward compatibility.
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  # General ruby development
24
24
  spec.add_development_dependency 'bundler', '~> 1.3'
25
- spec.add_development_dependency 'rake', '~> 10.0'
25
+ spec.add_development_dependency 'rake', '~> 13.0'
26
26
 
27
27
  # For validating the plugin lints
28
28
  spec.add_development_dependency 'yard'
@@ -35,6 +35,7 @@ module Danger
35
35
  only_report_new_offenses = config[:only_report_new_offenses] || false
36
36
  inline_comment = config[:inline_comment] || false
37
37
  fail_on_inline_comment = config[:fail_on_inline_comment] || false
38
+ include_cop_names = config[:include_cop_names] || false
38
39
 
39
40
  files_to_lint = fetch_files_to_lint(files)
40
41
  files_to_report = rubocop(files_to_lint, force_exclusion, only_report_new_offenses, config_path: config_path)
@@ -43,9 +44,9 @@ module Danger
43
44
  return report_failures files_to_report if report_danger
44
45
 
45
46
  if inline_comment
46
- add_violation_for_each_line(files_to_report, fail_on_inline_comment)
47
+ add_violation_for_each_line(files_to_report, fail_on_inline_comment, include_cop_names: include_cop_names)
47
48
  else
48
- markdown offenses_message(files_to_report)
49
+ markdown offenses_message(files_to_report, include_cop_names: include_cop_names)
49
50
  end
50
51
  end
51
52
 
@@ -93,7 +94,7 @@ module Danger
93
94
  end
94
95
  end
95
96
 
96
- def offenses_message(offending_files)
97
+ def offenses_message(offending_files, include_cop_names: false)
97
98
  require 'terminal-table'
98
99
 
99
100
  message = "### Rubocop violations\n\n"
@@ -102,7 +103,9 @@ module Danger
102
103
  style: { border_i: '|' },
103
104
  rows: offending_files.flat_map do |file|
104
105
  file['offenses'].map do |offense|
105
- [file['path'], offense['location']['line'], offense['message']]
106
+ offense_message = offense['message']
107
+ offense_message = offense['cop_name'] + ': ' + offense_message if include_cop_names
108
+ [file['path'], offense['location']['line'], offense_message]
106
109
  end
107
110
  end
108
111
  ).to_s
@@ -117,11 +120,13 @@ module Danger
117
120
  end
118
121
  end
119
122
 
120
- def add_violation_for_each_line(offending_files, fail_on_inline_comment)
123
+ def add_violation_for_each_line(offending_files, fail_on_inline_comment, include_cop_names: false)
121
124
  offending_files.flat_map do |file|
122
125
  file['offenses'].map do |offense|
126
+ offense_message = offense['message']
127
+ offense_message = offense['cop_name'] + ': ' + offense_message if include_cop_names
123
128
  arguments = [
124
- offense['message'],
129
+ offense_message,
125
130
  {
126
131
  file: file['path'],
127
132
  line: offense['location']['line']
@@ -1,3 +1,3 @@
1
1
  module DangerRubocop
2
- VERSION = '0.7.1'.freeze
2
+ VERSION = '0.7.2'.freeze
3
3
  end
@@ -117,6 +117,7 @@ module Danger
117
117
  'path' => 'spec/fixtures/ruby_file.rb',
118
118
  'offenses' => [
119
119
  {
120
+ 'cop_name' => 'Syntax/WhetherYouShouldDoThat',
120
121
  'message' => "Don't do that!",
121
122
  'location' => { 'line' => 13 }
122
123
  }
@@ -133,6 +134,7 @@ module Danger
133
134
  'path' => 'spec/fixtures/another_ruby_file.rb',
134
135
  'offenses' => [
135
136
  {
137
+ 'cop_name' => 'Syntax/WhetherYouShouldDoThat',
136
138
  'message' => "Don't do that!",
137
139
  'location' => { 'line' => 23 }
138
140
  }
@@ -158,6 +160,22 @@ module Danger
158
160
  expect(output).to include("spec/fixtures/ruby_file.rb | 13 | Don't do that!")
159
161
  end
160
162
 
163
+ it 'includes cop names when include_cop_names is set' do
164
+ allow(@rubocop).to receive(:`)
165
+ .with('bundle exec rubocop -f json --config path/to/rubocop.yml spec/fixtures/ruby_file.rb')
166
+ .and_return(response_ruby_file)
167
+
168
+ # Do it
169
+ @rubocop.lint(files: 'spec/fixtures/ruby*.rb', config: 'path/to/rubocop.yml', include_cop_names: true)
170
+
171
+ output = @rubocop.status_report[:markdowns].first.message
172
+
173
+ # A title
174
+ expect(output).to include('Rubocop violations')
175
+ # A warning
176
+ expect(output).to include("spec/fixtures/ruby_file.rb | 13 | Syntax/WhetherYouShouldDoThat: Don't do that!")
177
+ end
178
+
161
179
  it 'handles a rubocop report for specified files (legacy)' do
162
180
  allow(@rubocop).to receive(:`)
163
181
  .with('bundle exec rubocop -f json spec/fixtures/ruby_file.rb')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danger-rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ash Furrow
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-21 00:00:00.000000000 Z
11
+ date: 2020-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: danger
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '13.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: '13.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: yard
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -156,6 +156,7 @@ executables: []
156
156
  extensions: []
157
157
  extra_rdoc_files: []
158
158
  files:
159
+ - ".circleci/config.yml"
159
160
  - ".gitignore"
160
161
  - Gemfile
161
162
  - Gemfile.lock
@@ -163,7 +164,6 @@ files:
163
164
  - LICENSE
164
165
  - README.md
165
166
  - Rakefile
166
- - circle.yml
167
167
  - danger-rubocop.gemspec
168
168
  - lib/danger_plugin.rb
169
169
  - lib/version.rb
@@ -192,8 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
192
192
  - !ruby/object:Gem::Version
193
193
  version: '0'
194
194
  requirements: []
195
- rubyforge_project:
196
- rubygems_version: 2.7.6
195
+ rubygems_version: 3.0.6
197
196
  signing_key:
198
197
  specification_version: 4
199
198
  summary: A Danger plugin for running Ruby files through Rubocop.
data/circle.yml DELETED
@@ -1,3 +0,0 @@
1
- machine:
2
- ruby:
3
- version: "2.2.5"