guard-rubocop 1.1.0 → 1.5.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 +5 -5
- data/.github/workflows/ci.yml +30 -0
- data/.gitignore +1 -0
- data/.rspec +1 -0
- data/.rubocop.yml +36 -4
- data/.rubocop_todo.yml +12 -0
- data/CHANGELOG.md +18 -0
- data/Gemfile +3 -10
- data/Guardfile +4 -2
- data/README.md +27 -10
- data/Rakefile +4 -17
- data/guard-rubocop.gemspec +17 -14
- data/lib/guard/rubocop/runner.rb +29 -18
- data/lib/guard/rubocop/templates/Guardfile +1 -1
- data/lib/guard/rubocop/version.rb +10 -12
- data/lib/guard/rubocop.rb +8 -6
- data/spec/guard/rubocop/runner_spec.rb +93 -48
- data/spec/guard/rubocop_spec.rb +21 -23
- data/spec/spec_helper.rb +20 -20
- data/spec/support/silence_output.rb +6 -2
- data/spec/support/simplecov.rb +19 -0
- metadata +50 -49
- data/.travis.yml +0 -10
- data/spec/.rubocop.yml +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f4fd50bb78f68a751f5fcc10f383377a222c9929ed882c62e44a93f15de13054
|
4
|
+
data.tar.gz: 0ec423fa69f1af3cc9e784a576ecd6c91995f3ab03afdb5ea54226a7bdf97a0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de52917c49a6988e46ab3c8c2a933e6c590df311252c0d0e8a5828113242448c8f0f1deeaa7c4c57a1290a91f8ae9869bafa73a36c9fdf74c840d1b199fd5f84
|
7
|
+
data.tar.gz: 8a9f56e402052cdbe167ddf27fd6f736e659a1dd864861d7aef07017e3c3f88b3395ac7b9e2ee2eecb57dc4fb84d72720845d2a86f3ae47b7b165ba603b7dd87
|
@@ -0,0 +1,30 @@
|
|
1
|
+
name: CI
|
2
|
+
on: [push, pull_request]
|
3
|
+
jobs:
|
4
|
+
rspec:
|
5
|
+
name: RSpec
|
6
|
+
runs-on: ubuntu-latest
|
7
|
+
strategy:
|
8
|
+
matrix:
|
9
|
+
ruby: ['2.5', '2.6', '2.7', '3.0']
|
10
|
+
steps:
|
11
|
+
- uses: actions/checkout@v2
|
12
|
+
- uses: ruby/setup-ruby@v1
|
13
|
+
with:
|
14
|
+
ruby-version: ${{ matrix.ruby }}
|
15
|
+
- run: bundle install
|
16
|
+
- run: bundle exec rspec
|
17
|
+
# FIXME: https://github.com/rubocop/guard-rubocop/pull/48#issuecomment-906893891
|
18
|
+
# - uses: coverallsapp/github-action@master
|
19
|
+
# with:
|
20
|
+
# github-token: ${{ secrets.GITHUB_TOKEN }}
|
21
|
+
rubocop:
|
22
|
+
name: RuboCop
|
23
|
+
runs-on: ubuntu-latest
|
24
|
+
steps:
|
25
|
+
- uses: actions/checkout@v2
|
26
|
+
- uses: ruby/setup-ruby@v1
|
27
|
+
with:
|
28
|
+
ruby-version: 2.5
|
29
|
+
- run: bundle install
|
30
|
+
- run: bundle exec rubocop
|
data/.gitignore
CHANGED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--require spec_helper
|
data/.rubocop.yml
CHANGED
@@ -1,7 +1,39 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
inherit_from: .rubocop_todo.yml
|
2
|
+
|
3
|
+
AllCops:
|
4
|
+
TargetRubyVersion: 2.5
|
5
|
+
|
6
|
+
Layout/FirstArrayElementIndentation:
|
7
|
+
EnforcedStyle: consistent
|
8
|
+
|
9
|
+
Layout/LineLength:
|
3
10
|
Max: 100
|
4
11
|
|
5
|
-
|
6
|
-
|
12
|
+
Lint/MissingSuper:
|
13
|
+
Exclude:
|
14
|
+
- spec/support/silence_output.rb
|
15
|
+
|
16
|
+
Metrics/BlockLength:
|
17
|
+
Exclude:
|
18
|
+
- 'spec/**/*.rb'
|
19
|
+
|
20
|
+
Metrics/MethodLength:
|
7
21
|
Max: 15
|
22
|
+
|
23
|
+
Naming/HeredocDelimiterNaming:
|
24
|
+
Enabled: false
|
25
|
+
|
26
|
+
Naming/RescuedExceptionsVariableName:
|
27
|
+
PreferredName: error
|
28
|
+
|
29
|
+
Style/EmptyMethod:
|
30
|
+
EnforcedStyle: expanded
|
31
|
+
|
32
|
+
Style/FrozenStringLiteralComment:
|
33
|
+
Exclude:
|
34
|
+
- lib/guard/rubocop/templates/Guardfile
|
35
|
+
|
36
|
+
Style/RegexpLiteral:
|
37
|
+
Exclude:
|
38
|
+
- '**/*.gemspec'
|
39
|
+
- '**/Guardfile'
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2018-01-20 14:55:30 +0900 using RuboCop version 0.52.1.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 1
|
10
|
+
# Configuration parameters: CountComments.
|
11
|
+
Metrics/ClassLength:
|
12
|
+
Max: 103
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,24 @@
|
|
2
2
|
|
3
3
|
## Development
|
4
4
|
|
5
|
+
## v1.5.0
|
6
|
+
|
7
|
+
* Drop support Ruby 2.4. [#50](https://github.com/rubocop/guard-rubocop/pull/50)
|
8
|
+
* Allow custom `cmd` option for rubocop. [#48](https://github.com/rubocop/guard-rubocop/pull/48)
|
9
|
+
|
10
|
+
## v1.4.0
|
11
|
+
|
12
|
+
* Support RuboCop 1.0
|
13
|
+
|
14
|
+
## v1.3.0
|
15
|
+
|
16
|
+
* Add `:launchy` option ([#21](https://github.com/yujinakayama/guard-rubocop/pull/21), [#35](https://github.com/yujinakayama/guard-rubocop/pull/35))
|
17
|
+
* Modify the `Guardfile` template so that RuboCop can be run when `.rubocop_todo.yml` is modified ([#36](https://github.com/yujinakayama/guard-rubocop/pull/36))
|
18
|
+
|
19
|
+
## v1.2.0
|
20
|
+
|
21
|
+
* Add `:hide_stdout` option ([#15](https://github.com/yujinakayama/guard-rubocop/pull/15))
|
22
|
+
|
5
23
|
## v1.1.0
|
6
24
|
|
7
25
|
* Use RuboCop's `--force-exclusion` option to always ignore files specified in the `Exclude` configuration in `.rubocop.yml`
|
data/Gemfile
CHANGED
@@ -1,16 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
source 'https://rubygems.org'
|
2
4
|
|
3
5
|
gemspec
|
4
6
|
|
5
7
|
group :test do
|
6
|
-
gem '
|
7
|
-
gem 'simplecov-rcov', '~> 0.2'
|
8
|
-
gem 'ci_reporter', '~> 1.8'
|
9
|
-
end
|
10
|
-
|
11
|
-
platforms :rbx do
|
12
|
-
gem 'rubysl'
|
13
|
-
gem 'rubinius-developer_tools'
|
14
|
-
gem 'json'
|
15
|
-
gem 'racc' # Needed for RuboCop
|
8
|
+
gem 'simplecov-lcov'
|
16
9
|
end
|
data/Guardfile
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# A sample Guardfile
|
2
4
|
# More info at https://github.com/guard/guard#readme
|
3
5
|
|
@@ -5,8 +7,8 @@ group :red_green_refactor, halt_on_fail: true do
|
|
5
7
|
guard :rspec, all_after_pass: true, all_on_start: true, cmd: 'bundle exec rspec' do
|
6
8
|
watch(%r{^spec/.+_spec\.rb$})
|
7
9
|
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
8
|
-
watch('spec/spec_helper.rb') {
|
9
|
-
watch(%r{^spec/support/.+\.rb$}) {
|
10
|
+
watch('spec/spec_helper.rb') { 'spec' }
|
11
|
+
watch(%r{^spec/support/.+\.rb$}) { 'spec' }
|
10
12
|
end
|
11
13
|
|
12
14
|
guard :rubocop do
|
data/README.md
CHANGED
@@ -1,14 +1,13 @@
|
|
1
|
-
[](https://codeclimate.com/github/yujinakayama/guard-rubocop)
|
1
|
+
[](http://badge.fury.io/rb/guard-rubocop)
|
2
|
+
[](https://github.com/rubocop/guard-rubocop/actions)
|
3
|
+
[](https://coveralls.io/github/rubocop/guard-rubocop?branch=master)
|
4
|
+
[](https://codeclimate.com/github/rubocop/guard-rubocop)
|
6
5
|
|
7
6
|
# guard-rubocop
|
8
7
|
|
9
|
-
**guard-rubocop** allows you to automatically check Ruby code style with [RuboCop](https://github.com/
|
8
|
+
**guard-rubocop** allows you to automatically check Ruby code style with [RuboCop](https://github.com/rubocop/rubocop) when files are modified.
|
10
9
|
|
11
|
-
Tested on MRI
|
10
|
+
Tested on MRI 2.5 - 3.0.
|
12
11
|
|
13
12
|
## Installation
|
14
13
|
|
@@ -34,7 +33,7 @@ or install it yourself as:
|
|
34
33
|
$ gem install guard-rubocop
|
35
34
|
```
|
36
35
|
|
37
|
-
Add the default Guard::
|
36
|
+
Add the default Guard::RuboCop definition to your `Guardfile` by running:
|
38
37
|
|
39
38
|
```sh
|
40
39
|
$ guard init rubocop
|
@@ -62,6 +61,11 @@ all_on_start: true # Check all files at Guard startup.
|
|
62
61
|
cli: '--rails' # Pass arbitrary RuboCop CLI arguments.
|
63
62
|
# An array or string is acceptable.
|
64
63
|
# default: nil
|
64
|
+
cmd: './bin/rubocop' # Pass custom cmd to run rubocop.
|
65
|
+
# default: rubocop
|
66
|
+
|
67
|
+
hide_stdout: false # Do not display console output (in case outputting to file).
|
68
|
+
# default: false
|
65
69
|
keep_failed: true # Keep failed files until they pass.
|
66
70
|
# default: true
|
67
71
|
notification: :failed # Display Growl notification after each run.
|
@@ -69,6 +73,19 @@ notification: :failed # Display Growl notification after each run.
|
|
69
73
|
# false - Never notify
|
70
74
|
# :failed - Notify only when failed
|
71
75
|
# default: :failed
|
76
|
+
launchy: nil # Filename to launch using Launchy after RuboCop runs.
|
77
|
+
# default: nil
|
78
|
+
```
|
79
|
+
|
80
|
+
### Using Launchy to view results
|
81
|
+
|
82
|
+
guard-rubocop can be configured to launch a results file in lieu of or in addition to outputing results to the terminal.
|
83
|
+
Configure your Guardfile with the launchy option:
|
84
|
+
|
85
|
+
``` ruby
|
86
|
+
guard :rubocop, cli: %w(--format fuubar --format html -o ./tmp/rubocop_results.html), launchy: './tmp/rubocop_results.html' do
|
87
|
+
# ...
|
88
|
+
end
|
72
89
|
```
|
73
90
|
|
74
91
|
## Advanced Tips
|
@@ -79,7 +96,7 @@ you might be uncomfortable with the offense reports from RuboCop in the red-gree
|
|
79
96
|
* In the red-green phase, you're not necessarily required to write clean code – you just focus writing code to pass the test. It means, in this phase, `guard-rspec` should be run but `guard-rubocop` should not.
|
80
97
|
* In the refactor phase, you're required to make the code clean while keeping the test passing. In this phase, both `guard-rspec` and `guard-rubocop` should be run.
|
81
98
|
|
82
|
-
In this case, you may
|
99
|
+
In this case, you may consider making use of the [group method](https://github.com/guard/guard/wiki/Guardfile-DSL---Configuring-Guard#group) in your `Guardfile`:
|
83
100
|
|
84
101
|
```ruby
|
85
102
|
# This group allows to skip running RuboCop when RSpec failed.
|
@@ -106,6 +123,6 @@ Note: You need to use `guard-rspec` 4.2.3 or later due to a [bug](https://github
|
|
106
123
|
|
107
124
|
## License
|
108
125
|
|
109
|
-
Copyright (c) 2013–
|
126
|
+
Copyright (c) 2013–2020 Yuji Nakayama
|
110
127
|
|
111
128
|
See the [LICENSE.txt](LICENSE.txt) for details.
|
data/Rakefile
CHANGED
@@ -1,23 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'bundler/gem_tasks'
|
2
4
|
require 'rspec/core/rake_task'
|
3
5
|
require 'rubocop/rake_task'
|
4
6
|
|
5
7
|
RSpec::Core::RakeTask.new(:spec)
|
6
|
-
|
7
|
-
|
8
|
-
namespace :ci do
|
9
|
-
task :spec do
|
10
|
-
ENV['CI'] = 'true'
|
11
|
-
|
12
|
-
ENV['CI_REPORTS'] = 'spec/reports'
|
13
|
-
require 'ci/reporter/rake/rspec'
|
14
|
-
Rake::Task['ci:setup:rspec'].invoke
|
15
|
-
|
16
|
-
Rake::Task['spec'].invoke
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
desc 'Run RSpec and RuboCop'
|
21
|
-
task all: [:spec, :style]
|
8
|
+
RuboCop::RakeTask.new(:style)
|
22
9
|
|
23
|
-
task
|
10
|
+
task ci: %i[spec style]
|
data/guard-rubocop.gemspec
CHANGED
@@ -1,32 +1,35 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
lib = File.expand_path('
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
5
|
|
6
6
|
require 'guard/rubocop/version'
|
7
7
|
|
8
8
|
Gem::Specification.new do |spec|
|
9
9
|
spec.name = 'guard-rubocop'
|
10
|
-
spec.version =
|
10
|
+
spec.version = GuardRuboCopVersion.to_s
|
11
11
|
spec.authors = ['Yuji Nakayama']
|
12
12
|
spec.email = ['nkymyj@gmail.com']
|
13
13
|
spec.summary = 'Guard plugin for RuboCop'
|
14
|
-
spec.description = 'Guard::
|
15
|
-
|
14
|
+
spec.description = 'Guard::RuboCop automatically checks Ruby code style with RuboCop ' \
|
15
|
+
'when files are modified.'
|
16
|
+
spec.homepage = 'https://github.com/rubocop/guard-rubocop'
|
16
17
|
spec.license = 'MIT'
|
17
18
|
|
18
|
-
spec.
|
19
|
-
|
20
|
-
spec.
|
19
|
+
spec.required_ruby_version = '>= 2.5'
|
20
|
+
|
21
|
+
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
22
|
+
spec.executables = spec.files.grep(/^bin\//) { |f| File.basename(f) }
|
23
|
+
spec.test_files = spec.files.grep(/^spec\//)
|
21
24
|
spec.require_paths = ['lib']
|
22
25
|
|
23
26
|
spec.add_runtime_dependency 'guard', '~> 2.0'
|
24
|
-
spec.add_runtime_dependency 'rubocop', '
|
27
|
+
spec.add_runtime_dependency 'rubocop', '< 2.0'
|
25
28
|
|
26
|
-
spec.add_development_dependency 'bundler'
|
27
|
-
spec.add_development_dependency 'rake', '~> 10.0'
|
28
|
-
spec.add_development_dependency 'rspec', '~> 3.0.0.beta1'
|
29
|
-
spec.add_development_dependency 'simplecov', '~> 0.7'
|
29
|
+
spec.add_development_dependency 'bundler'
|
30
30
|
spec.add_development_dependency 'guard-rspec', '>= 4.2.3', '< 5.0'
|
31
|
-
spec.add_development_dependency '
|
31
|
+
spec.add_development_dependency 'launchy', '~> 2.4'
|
32
|
+
spec.add_development_dependency 'rake', '>= 12.0'
|
33
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
34
|
+
spec.add_development_dependency 'simplecov', '~> 0.7'
|
32
35
|
end
|
data/lib/guard/rubocop/runner.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'json'
|
4
4
|
|
5
5
|
module Guard
|
6
|
-
class
|
6
|
+
class RuboCop
|
7
7
|
# This class runs `rubocop` command, retrieves result and notifies.
|
8
8
|
# An instance of this class is intended to invoke `rubocop` only once in its lifetime.
|
9
9
|
class Runner
|
@@ -22,14 +22,16 @@ module Guard
|
|
22
22
|
notify(passed)
|
23
23
|
end
|
24
24
|
|
25
|
+
open_launchy_if_needed
|
26
|
+
|
25
27
|
passed
|
26
28
|
end
|
27
29
|
|
28
30
|
def build_command(paths)
|
29
|
-
command = ['rubocop']
|
31
|
+
command = [@options[:cmd] || 'rubocop']
|
30
32
|
|
31
|
-
|
32
|
-
command.concat(%w
|
33
|
+
if should_add_default_formatter_for_console?
|
34
|
+
command.concat(%w[--format progress]) # Keep default formatter for console.
|
33
35
|
end
|
34
36
|
|
35
37
|
command.concat(['--format', 'json', '--out', json_file_path])
|
@@ -38,6 +40,10 @@ module Guard
|
|
38
40
|
command.concat(paths)
|
39
41
|
end
|
40
42
|
|
43
|
+
def should_add_default_formatter_for_console?
|
44
|
+
!@options[:hide_stdout] && !include_formatter_for_console?(args_specified_by_user)
|
45
|
+
end
|
46
|
+
|
41
47
|
def args_specified_by_user
|
42
48
|
@args_specified_by_user ||= begin
|
43
49
|
args = @options[:cli]
|
@@ -45,7 +51,7 @@ module Guard
|
|
45
51
|
when Array then args
|
46
52
|
when String then args.shellsplit
|
47
53
|
when NilClass then []
|
48
|
-
else
|
54
|
+
else raise ArgumentError, ':cli option must be either an array or string'
|
49
55
|
end
|
50
56
|
end
|
51
57
|
end
|
@@ -74,11 +80,9 @@ module Guard
|
|
74
80
|
end
|
75
81
|
|
76
82
|
def result
|
77
|
-
@result ||=
|
78
|
-
|
79
|
-
|
80
|
-
JSON.parse(file.read, symbolize_names: true)
|
81
|
-
end
|
83
|
+
@result ||= File.open(json_file_path) do |file|
|
84
|
+
# Rubinius 2.0.0.rc1 does not support `JSON.load` with 3 args.
|
85
|
+
JSON.parse(file.read, symbolize_names: true)
|
82
86
|
end
|
83
87
|
end
|
84
88
|
|
@@ -109,19 +113,26 @@ module Guard
|
|
109
113
|
end
|
110
114
|
|
111
115
|
def pluralize(number, thing, options = {})
|
112
|
-
text =
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
end
|
116
|
+
text =
|
117
|
+
if number.zero? && options[:no_for_zero]
|
118
|
+
+'no'
|
119
|
+
else
|
120
|
+
number.to_s
|
121
|
+
end
|
119
122
|
|
120
123
|
text << " #{thing}"
|
121
124
|
text << 's' unless number == 1
|
122
125
|
|
123
126
|
text
|
124
127
|
end
|
128
|
+
|
129
|
+
def open_launchy_if_needed
|
130
|
+
return unless (output_path = @options[:launchy])
|
131
|
+
return unless File.exist?(output_path)
|
132
|
+
|
133
|
+
require 'launchy'
|
134
|
+
::Launchy.open(output_path)
|
135
|
+
end
|
125
136
|
end
|
126
137
|
end
|
127
138
|
end
|
@@ -1,16 +1,14 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
PATCH = 0
|
3
|
+
# A workaround for declaring `class RuboCop`
|
4
|
+
# before `class RuboCop < Guard` in rubocop.rb
|
5
|
+
module GuardRuboCopVersion
|
6
|
+
# http://semver.org/
|
7
|
+
MAJOR = 1
|
8
|
+
MINOR = 5
|
9
|
+
PATCH = 0
|
11
10
|
|
12
|
-
|
13
|
-
|
14
|
-
end
|
11
|
+
def self.to_s
|
12
|
+
[MAJOR, MINOR, PATCH].join('.')
|
15
13
|
end
|
16
14
|
end
|
data/lib/guard/rubocop.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'guard'
|
4
4
|
require 'guard/plugin'
|
5
5
|
|
6
6
|
module Guard
|
7
|
-
# This class gets API calls from `guard` and runs `rubocop` command via {Guard::
|
7
|
+
# This class gets API calls from `guard` and runs `rubocop` command via {Guard::RuboCop::Runner}.
|
8
8
|
# An instance of this class stays alive in a `guard` command session.
|
9
|
-
class
|
9
|
+
class RuboCop < Plugin
|
10
10
|
autoload :Runner, 'guard/rubocop/runner'
|
11
11
|
|
12
12
|
attr_reader :options, :failed_paths
|
@@ -16,9 +16,10 @@ module Guard
|
|
16
16
|
|
17
17
|
@options = {
|
18
18
|
all_on_start: true,
|
19
|
-
keep_failed:
|
19
|
+
keep_failed: true,
|
20
20
|
notification: :failed,
|
21
|
-
cli: nil
|
21
|
+
cli: nil,
|
22
|
+
hide_stdout: false
|
22
23
|
}.merge(options)
|
23
24
|
|
24
25
|
@failed_paths = []
|
@@ -64,7 +65,7 @@ module Guard
|
|
64
65
|
passed = runner.run(paths)
|
65
66
|
@failed_paths = runner.failed_paths
|
66
67
|
throw :task_has_failed unless passed
|
67
|
-
rescue => error
|
68
|
+
rescue StandardError => error
|
68
69
|
UI.error 'The following exception occurred while running guard-rubocop: ' \
|
69
70
|
"#{error.backtrace.first} #{error.message} (#{error.class.name})"
|
70
71
|
end
|
@@ -75,6 +76,7 @@ module Guard
|
|
75
76
|
paths.uniq!
|
76
77
|
paths.reject! do |path|
|
77
78
|
next true unless File.exist?(path)
|
79
|
+
|
78
80
|
included_in_other_path?(path, paths)
|
79
81
|
end
|
80
82
|
paths
|
@@ -1,9 +1,9 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'launchy'
|
4
4
|
|
5
|
-
describe Guard::
|
6
|
-
subject(:runner) { Guard::
|
5
|
+
RSpec.describe Guard::RuboCop::Runner do
|
6
|
+
subject(:runner) { Guard::RuboCop::Runner.new(options) }
|
7
7
|
let(:options) { {} }
|
8
8
|
|
9
9
|
describe '#run' do
|
@@ -77,43 +77,94 @@ describe Guard::Rubocop::Runner do
|
|
77
77
|
|
78
78
|
context 'when :notification option is true' do
|
79
79
|
let(:options) { { notification: true } }
|
80
|
-
include_examples 'notification',
|
80
|
+
include_examples 'notification', passed: true, failed: true
|
81
81
|
end
|
82
82
|
|
83
83
|
context 'when :notification option is :failed' do
|
84
84
|
let(:options) { { notification: :failed } }
|
85
|
-
include_examples 'notification',
|
85
|
+
include_examples 'notification', passed: false, failed: true
|
86
86
|
end
|
87
87
|
|
88
88
|
context 'when :notification option is false' do
|
89
89
|
let(:options) { { notification: false } }
|
90
|
-
include_examples 'notification',
|
90
|
+
include_examples 'notification', passed: false, failed: false
|
91
|
+
end
|
92
|
+
|
93
|
+
context 'when :launchy option is present' do
|
94
|
+
let(:options) { { launchy: 'launchy_path' } }
|
95
|
+
|
96
|
+
before do
|
97
|
+
allow(File).to receive(:exist?).with('launchy_path').and_return(true)
|
98
|
+
end
|
99
|
+
|
100
|
+
it 'opens Launchy' do
|
101
|
+
expect(Launchy).to receive(:open).with('launchy_path')
|
102
|
+
runner.run(paths)
|
103
|
+
end
|
91
104
|
end
|
92
105
|
end
|
93
106
|
|
94
107
|
describe '#build_command' do
|
95
108
|
subject(:build_command) { runner.build_command(paths) }
|
96
|
-
let(:options) { { cli: %w
|
97
|
-
let(:paths) { %w
|
109
|
+
let(:options) { { cli: %w[--debug --rails] } }
|
110
|
+
let(:paths) { %w[file1.rb file2.rb] }
|
98
111
|
|
99
|
-
|
100
|
-
|
112
|
+
describe ':cmd option' do
|
113
|
+
context 'when set' do
|
114
|
+
let(:options) { { cmd: 'bin/rubocop' } }
|
115
|
+
|
116
|
+
it 'uses the supplied :cmd' do
|
117
|
+
expect(build_command[0]).to eq('bin/rubocop')
|
118
|
+
end
|
119
|
+
end
|
101
120
|
|
102
|
-
|
103
|
-
|
121
|
+
context 'when not set' do
|
122
|
+
it 'uses the default command' do
|
123
|
+
expect(build_command[0]).to eq('rubocop')
|
124
|
+
end
|
104
125
|
end
|
105
126
|
end
|
106
127
|
|
107
|
-
context 'when :
|
108
|
-
|
128
|
+
context 'when :hide_stdout is not set' do
|
129
|
+
context 'and :cli option includes formatter for console' do
|
130
|
+
before { options[:cli] = %w[--format simple] }
|
109
131
|
|
110
|
-
|
111
|
-
|
132
|
+
it 'does not add args for the default formatter for console' do
|
133
|
+
expect(build_command[0..2]).not_to eq(%w[rubocop --format progress])
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
context 'and :cli option does not include formatter for console' do
|
138
|
+
before { options[:cli] = %w[--format simple --out simple.txt] }
|
139
|
+
|
140
|
+
it 'adds args for the default formatter for console' do
|
141
|
+
expect(build_command[0..2]).to eq(%w[rubocop --format progress])
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
context 'when :hide_stdout is set' do
|
147
|
+
before { options[:hide_stdout] = true }
|
148
|
+
|
149
|
+
context 'and :cli option includes formatter for console' do
|
150
|
+
before { options[:cli] = %w[--format simple] }
|
151
|
+
|
152
|
+
it 'does not add args for the default formatter for console' do
|
153
|
+
expect(build_command[0..2]).not_to eq(%w[rubocop --format progress])
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
context 'and :cli option does not include formatter for console' do
|
158
|
+
before { options[:cli] = %w[--format simple --out simple.txt] }
|
159
|
+
|
160
|
+
it 'does not add args for the default formatter for console' do
|
161
|
+
expect(build_command[0..2]).not_to eq(%w[rubocop --format progress])
|
162
|
+
end
|
112
163
|
end
|
113
164
|
end
|
114
165
|
|
115
166
|
it 'adds args for JSON formatter' do
|
116
|
-
expect(build_command[3..4]).to eq(%w
|
167
|
+
expect(build_command[3..4]).to eq(%w[--format json])
|
117
168
|
end
|
118
169
|
|
119
170
|
it 'adds args for output file path of JSON formatter' do
|
@@ -126,11 +177,11 @@ describe Guard::Rubocop::Runner do
|
|
126
177
|
end
|
127
178
|
|
128
179
|
it 'adds args specified by user' do
|
129
|
-
expect(build_command[8..9]).to eq(%w
|
180
|
+
expect(build_command[8..9]).to eq(%w[--debug --rails])
|
130
181
|
end
|
131
182
|
|
132
183
|
it 'adds the passed paths' do
|
133
|
-
expect(build_command[10..-1]).to eq(%w
|
184
|
+
expect(build_command[10..-1]).to eq(%w[file1.rb file2.rb])
|
134
185
|
end
|
135
186
|
end
|
136
187
|
|
@@ -163,7 +214,7 @@ describe Guard::Rubocop::Runner do
|
|
163
214
|
let(:options) { { cli: { key: 'value' } } }
|
164
215
|
|
165
216
|
it 'raises error' do
|
166
|
-
expect { runner.args_specified_by_user }.to raise_error
|
217
|
+
expect { runner.args_specified_by_user }.to raise_error(ArgumentError)
|
167
218
|
end
|
168
219
|
end
|
169
220
|
end
|
@@ -173,7 +224,7 @@ describe Guard::Rubocop::Runner do
|
|
173
224
|
|
174
225
|
context 'when the passed args include a -f/--format' do
|
175
226
|
context 'but does not include an -o/--output' do
|
176
|
-
let(:args) { %w
|
227
|
+
let(:args) { %w[--format simple --debug] }
|
177
228
|
|
178
229
|
it 'returns true' do
|
179
230
|
expect(include_formatter_for_console?).to be_truthy
|
@@ -181,7 +232,7 @@ describe Guard::Rubocop::Runner do
|
|
181
232
|
end
|
182
233
|
|
183
234
|
context 'and include an -o/--output just after the -f/--format' do
|
184
|
-
let(:args) { %w
|
235
|
+
let(:args) { %w[--format simple --out simple.txt] }
|
185
236
|
|
186
237
|
it 'returns false' do
|
187
238
|
expect(include_formatter_for_console?).to be_falsey
|
@@ -189,7 +240,7 @@ describe Guard::Rubocop::Runner do
|
|
189
240
|
end
|
190
241
|
|
191
242
|
context 'and include an -o/--output after the -f/--format across another arg' do
|
192
|
-
let(:args) { %w
|
243
|
+
let(:args) { %w[--format simple --debug --out simple.txt] }
|
193
244
|
|
194
245
|
it 'returns false' do
|
195
246
|
expect(include_formatter_for_console?).to be_falsey
|
@@ -199,7 +250,7 @@ describe Guard::Rubocop::Runner do
|
|
199
250
|
|
200
251
|
context 'when the passed args include a -f with its arg without separator' do
|
201
252
|
context 'but does not include an -o/--output' do
|
202
|
-
let(:args) { %w
|
253
|
+
let(:args) { %w[-fs --debug] }
|
203
254
|
|
204
255
|
it 'returns true' do
|
205
256
|
expect(include_formatter_for_console?).to be_truthy
|
@@ -207,7 +258,7 @@ describe Guard::Rubocop::Runner do
|
|
207
258
|
end
|
208
259
|
|
209
260
|
context 'and include an -o with its arg without separator just after the -f/--format' do
|
210
|
-
let(:args) { %w
|
261
|
+
let(:args) { %w[-fs -osimple.txt] }
|
211
262
|
|
212
263
|
it 'returns false' do
|
213
264
|
expect(include_formatter_for_console?).to be_falsey
|
@@ -217,7 +268,7 @@ describe Guard::Rubocop::Runner do
|
|
217
268
|
|
218
269
|
context 'when the passed args include multiple -f/--format' do
|
219
270
|
context 'and all -f/--format have associated -o/--out' do
|
220
|
-
let(:args) { %w
|
271
|
+
let(:args) { %w[--format simple --out simple.txt --format emacs --out emacs.txt] }
|
221
272
|
|
222
273
|
it 'returns false' do
|
223
274
|
expect(include_formatter_for_console?).to be_falsey
|
@@ -225,7 +276,7 @@ describe Guard::Rubocop::Runner do
|
|
225
276
|
end
|
226
277
|
|
227
278
|
context 'and any -f/--format has associated -o/--out' do
|
228
|
-
let(:args) { %w
|
279
|
+
let(:args) { %w[--format simple --format emacs --out emacs.txt] }
|
229
280
|
|
230
281
|
it 'returns true' do
|
231
282
|
expect(include_formatter_for_console?).to be_truthy
|
@@ -233,7 +284,7 @@ describe Guard::Rubocop::Runner do
|
|
233
284
|
end
|
234
285
|
|
235
286
|
context 'and no -f/--format has associated -o/--out' do
|
236
|
-
let(:args) { %w
|
287
|
+
let(:args) { %w[--format simple --format emacs] }
|
237
288
|
|
238
289
|
it 'returns true' do
|
239
290
|
expect(include_formatter_for_console?).to be_truthy
|
@@ -242,7 +293,7 @@ describe Guard::Rubocop::Runner do
|
|
242
293
|
end
|
243
294
|
|
244
295
|
context 'when the passed args do not include -f/--format' do
|
245
|
-
let(:args) { %w
|
296
|
+
let(:args) { %w[--debug] }
|
246
297
|
|
247
298
|
it 'returns false' do
|
248
299
|
expect(include_formatter_for_console?).to be_falsey
|
@@ -312,12 +363,10 @@ describe Guard::Rubocop::Runner do
|
|
312
363
|
describe '#notify' do
|
313
364
|
before do
|
314
365
|
allow(runner).to receive(:result).and_return(
|
315
|
-
{
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
inspected_file_count: 2
|
320
|
-
}
|
366
|
+
summary: {
|
367
|
+
offense_count: 4,
|
368
|
+
target_file_count: 3,
|
369
|
+
inspected_file_count: 2
|
321
370
|
}
|
322
371
|
)
|
323
372
|
end
|
@@ -358,12 +407,10 @@ describe Guard::Rubocop::Runner do
|
|
358
407
|
describe '#summary_text' do
|
359
408
|
before do
|
360
409
|
allow(runner).to receive(:result).and_return(
|
361
|
-
{
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
inspected_file_count: inspected_file_count
|
366
|
-
}
|
410
|
+
summary: {
|
411
|
+
offense_count: offense_count,
|
412
|
+
target_file_count: target_file_count,
|
413
|
+
inspected_file_count: inspected_file_count
|
367
414
|
}
|
368
415
|
)
|
369
416
|
end
|
@@ -419,12 +466,10 @@ describe Guard::Rubocop::Runner do
|
|
419
466
|
context 'with spelling "offence" in old RuboCop' do
|
420
467
|
before do
|
421
468
|
allow(runner).to receive(:result).and_return(
|
422
|
-
{
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
inspected_file_count: 1
|
427
|
-
}
|
469
|
+
summary: {
|
470
|
+
offence_count: 2,
|
471
|
+
target_file_count: 1,
|
472
|
+
inspected_file_count: 1
|
428
473
|
}
|
429
474
|
)
|
430
475
|
end
|
data/spec/guard/rubocop_spec.rb
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
describe Guard::Rubocop, :silence_output do
|
6
|
-
subject(:guard) { Guard::Rubocop.new(options) }
|
3
|
+
RSpec.describe Guard::RuboCop, :silence_output do
|
4
|
+
subject(:guard) { Guard::RuboCop.new(options) }
|
7
5
|
let(:options) { {} }
|
8
6
|
|
9
7
|
describe '#options' do
|
@@ -57,13 +55,13 @@ describe Guard::Rubocop, :silence_output do
|
|
57
55
|
shared_examples 'processes after running', :processes_after_running do
|
58
56
|
context 'when passed' do
|
59
57
|
it 'throws nothing' do
|
60
|
-
allow_any_instance_of(Guard::
|
58
|
+
allow_any_instance_of(Guard::RuboCop::Runner).to receive(:run).and_return(true)
|
61
59
|
expect { subject }.not_to throw_symbol
|
62
60
|
end
|
63
61
|
|
64
62
|
it 'clears failed paths' do
|
65
|
-
allow_any_instance_of(Guard::
|
66
|
-
allow_any_instance_of(Guard::
|
63
|
+
allow_any_instance_of(Guard::RuboCop::Runner).to receive(:run).and_return(true)
|
64
|
+
allow_any_instance_of(Guard::RuboCop::Runner).to receive(:failed_paths).and_return([])
|
67
65
|
subject
|
68
66
|
expect(guard.failed_paths).to be_empty
|
69
67
|
end
|
@@ -71,7 +69,7 @@ describe Guard::Rubocop, :silence_output do
|
|
71
69
|
|
72
70
|
context 'when failed' do
|
73
71
|
it 'throws symbol :task_has_failed' do
|
74
|
-
allow_any_instance_of(Guard::
|
72
|
+
allow_any_instance_of(Guard::RuboCop::Runner).to receive(:run).and_return(false)
|
75
73
|
expect { subject }.to throw_symbol(:task_has_failed)
|
76
74
|
end
|
77
75
|
|
@@ -81,8 +79,8 @@ describe Guard::Rubocop, :silence_output do
|
|
81
79
|
'some_failed_file.rb',
|
82
80
|
'dir/another_failed_file.rb'
|
83
81
|
]
|
84
|
-
allow_any_instance_of(Guard::
|
85
|
-
allow_any_instance_of(Guard::
|
82
|
+
allow_any_instance_of(Guard::RuboCop::Runner).to receive(:run).and_return(false)
|
83
|
+
allow_any_instance_of(Guard::RuboCop::Runner)
|
86
84
|
.to receive(:failed_paths).and_return(failed_paths)
|
87
85
|
subject
|
88
86
|
expect(guard.failed_paths).to eq(failed_paths)
|
@@ -91,7 +89,7 @@ describe Guard::Rubocop, :silence_output do
|
|
91
89
|
|
92
90
|
context 'when an exception is raised' do
|
93
91
|
it 'prevents itself from firing' do
|
94
|
-
allow_any_instance_of(Guard::
|
92
|
+
allow_any_instance_of(Guard::RuboCop::Runner).to receive(:run).and_raise(RuntimeError)
|
95
93
|
expect { subject }.not_to raise_error
|
96
94
|
end
|
97
95
|
end
|
@@ -101,17 +99,17 @@ describe Guard::Rubocop, :silence_output do
|
|
101
99
|
subject { super().run_all }
|
102
100
|
|
103
101
|
before do
|
104
|
-
allow_any_instance_of(Guard::
|
105
|
-
allow_any_instance_of(Guard::
|
102
|
+
allow_any_instance_of(Guard::RuboCop::Runner).to receive(:run).and_return(true)
|
103
|
+
allow_any_instance_of(Guard::RuboCop::Runner).to receive(:failed_paths).and_return([])
|
106
104
|
end
|
107
105
|
|
108
106
|
it 'inspects all files with rubocop' do
|
109
|
-
expect_any_instance_of(Guard::
|
107
|
+
expect_any_instance_of(Guard::RuboCop::Runner).to receive(:run).with([])
|
110
108
|
guard.run_all
|
111
109
|
end
|
112
110
|
end
|
113
111
|
|
114
|
-
[
|
112
|
+
%i[run_on_additions run_on_modifications].each do |method|
|
115
113
|
describe "##{method}", :processes_after_running do
|
116
114
|
subject { super().send(method, changed_paths) }
|
117
115
|
let(:changed_paths) do
|
@@ -122,17 +120,17 @@ describe Guard::Rubocop, :silence_output do
|
|
122
120
|
end
|
123
121
|
|
124
122
|
before do
|
125
|
-
allow_any_instance_of(Guard::
|
126
|
-
allow_any_instance_of(Guard::
|
123
|
+
allow_any_instance_of(Guard::RuboCop::Runner).to receive(:run).and_return(true)
|
124
|
+
allow_any_instance_of(Guard::RuboCop::Runner).to receive(:failed_paths).and_return([])
|
127
125
|
end
|
128
126
|
|
129
127
|
it 'inspects changed files with rubocop' do
|
130
|
-
expect_any_instance_of(Guard::
|
128
|
+
expect_any_instance_of(Guard::RuboCop::Runner).to receive(:run)
|
131
129
|
subject
|
132
130
|
end
|
133
131
|
|
134
132
|
it 'passes cleaned paths to rubocop' do
|
135
|
-
expect_any_instance_of(Guard::
|
133
|
+
expect_any_instance_of(Guard::RuboCop::Runner).to receive(:run) do |_instance, paths|
|
136
134
|
expect(paths).to eq([
|
137
135
|
File.expand_path('lib/guard/rubocop.rb'),
|
138
136
|
File.expand_path('spec/spec_helper.rb')
|
@@ -147,7 +145,7 @@ describe Guard::Rubocop, :silence_output do
|
|
147
145
|
end
|
148
146
|
|
149
147
|
it 'does nothing' do
|
150
|
-
expect_any_instance_of(Guard::
|
148
|
+
expect_any_instance_of(Guard::RuboCop::Runner).not_to receive(:run)
|
151
149
|
subject
|
152
150
|
end
|
153
151
|
end
|
@@ -159,7 +157,7 @@ describe Guard::Rubocop, :silence_output do
|
|
159
157
|
|
160
158
|
it 'also inspects paths which are failed last time' do
|
161
159
|
guard.failed_paths << failed_path
|
162
|
-
expect_any_instance_of(Guard::
|
160
|
+
expect_any_instance_of(Guard::RuboCop::Runner).to receive(:run) do |_instance, paths|
|
163
161
|
expect(paths).to include failed_path
|
164
162
|
end
|
165
163
|
subject
|
@@ -171,7 +169,7 @@ describe Guard::Rubocop, :silence_output do
|
|
171
169
|
|
172
170
|
it 'inspects just changed paths' do
|
173
171
|
guard.failed_paths << failed_path
|
174
|
-
expect_any_instance_of(Guard::
|
172
|
+
expect_any_instance_of(Guard::RuboCop::Runner).to receive(:run) do |_instance, paths|
|
175
173
|
expect(paths).to eq([
|
176
174
|
File.expand_path('lib/guard/rubocop.rb'),
|
177
175
|
File.expand_path('spec/spec_helper.rb')
|
data/spec/spec_helper.rb
CHANGED
@@ -1,33 +1,33 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
RSpec.configure do |config|
|
4
|
-
config.expect_with :rspec do |
|
5
|
-
|
4
|
+
config.expect_with :rspec do |expectations|
|
5
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
6
6
|
end
|
7
7
|
|
8
|
-
config.mock_with :rspec do |
|
9
|
-
|
8
|
+
config.mock_with :rspec do |mocks|
|
9
|
+
mocks.verify_partial_doubles = true
|
10
10
|
end
|
11
|
-
end
|
12
11
|
|
13
|
-
|
14
|
-
|
15
|
-
|
12
|
+
config.filter_run_when_matching :focus
|
13
|
+
|
14
|
+
config.example_status_persistence_file_path = 'spec/examples.txt'
|
16
15
|
|
17
|
-
|
18
|
-
SimpleCov.coverage_dir(File.join('spec', 'coverage'))
|
16
|
+
config.disable_monkey_patching!
|
19
17
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
|
18
|
+
config.default_formatter = 'doc' if config.files_to_run.one?
|
19
|
+
|
20
|
+
config.order = :random
|
21
|
+
|
22
|
+
Kernel.srand config.seed
|
26
23
|
end
|
27
24
|
|
28
|
-
|
29
|
-
|
30
|
-
add_filter '/vendor/bundle/'
|
25
|
+
Dir[File.join(File.dirname(__FILE__), 'support', '*')].sort.each do |path|
|
26
|
+
require path
|
31
27
|
end
|
32
28
|
|
29
|
+
# Initialize Guard for running tests.
|
30
|
+
require 'guard'
|
31
|
+
Guard.setup(notify: false)
|
32
|
+
|
33
33
|
require 'guard/rubocop'
|
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
shared_context 'silence output', silence_output
|
3
|
+
RSpec.shared_context 'silence output', :silence_output do
|
4
4
|
null_object = BasicObject.new
|
5
5
|
|
6
6
|
class << null_object
|
@@ -9,6 +9,10 @@ shared_context 'silence output', silence_output: true do
|
|
9
9
|
true
|
10
10
|
end
|
11
11
|
|
12
|
+
def respond_to_missing?(*)
|
13
|
+
true
|
14
|
+
end
|
15
|
+
|
12
16
|
def method_missing(*)
|
13
17
|
end
|
14
18
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'simplecov'
|
4
|
+
|
5
|
+
if ENV['CI']
|
6
|
+
require 'simplecov-lcov'
|
7
|
+
|
8
|
+
SimpleCov::Formatter::LcovFormatter.config do |config|
|
9
|
+
config.report_with_single_file = true
|
10
|
+
config.single_report_path = 'coverage/lcov.info'
|
11
|
+
end
|
12
|
+
|
13
|
+
SimpleCov.formatter = SimpleCov::Formatter::LcovFormatter
|
14
|
+
end
|
15
|
+
|
16
|
+
SimpleCov.start do
|
17
|
+
add_filter '/spec/'
|
18
|
+
add_filter '/vendor/bundle/'
|
19
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guard-rubocop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuji Nakayama
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: guard
|
@@ -28,107 +28,107 @@ dependencies:
|
|
28
28
|
name: rubocop
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "<"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0
|
33
|
+
version: '2.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "<"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0
|
40
|
+
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: guard-rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 4.2.3
|
62
|
+
- - "<"
|
60
63
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
64
|
+
version: '5.0'
|
62
65
|
type: :development
|
63
66
|
prerelease: false
|
64
67
|
version_requirements: !ruby/object:Gem::Requirement
|
65
68
|
requirements:
|
66
|
-
- - "
|
69
|
+
- - ">="
|
67
70
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
71
|
+
version: 4.2.3
|
72
|
+
- - "<"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '5.0'
|
69
75
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
76
|
+
name: launchy
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
72
78
|
requirements:
|
73
79
|
- - "~>"
|
74
80
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
81
|
+
version: '2.4'
|
76
82
|
type: :development
|
77
83
|
prerelease: false
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
79
85
|
requirements:
|
80
86
|
- - "~>"
|
81
87
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
88
|
+
version: '2.4'
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
90
|
+
name: rake
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
86
92
|
requirements:
|
87
|
-
- - "
|
93
|
+
- - ">="
|
88
94
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0
|
95
|
+
version: '12.0'
|
90
96
|
type: :development
|
91
97
|
prerelease: false
|
92
98
|
version_requirements: !ruby/object:Gem::Requirement
|
93
99
|
requirements:
|
94
|
-
- - "
|
100
|
+
- - ">="
|
95
101
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0
|
102
|
+
version: '12.0'
|
97
103
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
104
|
+
name: rspec
|
99
105
|
requirement: !ruby/object:Gem::Requirement
|
100
106
|
requirements:
|
101
|
-
- - "
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 4.2.3
|
104
|
-
- - "<"
|
107
|
+
- - "~>"
|
105
108
|
- !ruby/object:Gem::Version
|
106
|
-
version: '
|
109
|
+
version: '3.0'
|
107
110
|
type: :development
|
108
111
|
prerelease: false
|
109
112
|
version_requirements: !ruby/object:Gem::Requirement
|
110
113
|
requirements:
|
111
|
-
- - "
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
version: 4.2.3
|
114
|
-
- - "<"
|
114
|
+
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: '
|
116
|
+
version: '3.0'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
|
-
name:
|
118
|
+
name: simplecov
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
121
|
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '0.
|
123
|
+
version: '0.7'
|
124
124
|
type: :development
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '0.
|
131
|
-
description: Guard::
|
130
|
+
version: '0.7'
|
131
|
+
description: Guard::RuboCop automatically checks Ruby code style with RuboCop when
|
132
132
|
files are modified.
|
133
133
|
email:
|
134
134
|
- nkymyj@gmail.com
|
@@ -136,9 +136,11 @@ executables: []
|
|
136
136
|
extensions: []
|
137
137
|
extra_rdoc_files: []
|
138
138
|
files:
|
139
|
+
- ".github/workflows/ci.yml"
|
139
140
|
- ".gitignore"
|
141
|
+
- ".rspec"
|
140
142
|
- ".rubocop.yml"
|
141
|
-
- ".
|
143
|
+
- ".rubocop_todo.yml"
|
142
144
|
- ".yardopts"
|
143
145
|
- CHANGELOG.md
|
144
146
|
- Gemfile
|
@@ -151,16 +153,16 @@ files:
|
|
151
153
|
- lib/guard/rubocop/runner.rb
|
152
154
|
- lib/guard/rubocop/templates/Guardfile
|
153
155
|
- lib/guard/rubocop/version.rb
|
154
|
-
- spec/.rubocop.yml
|
155
156
|
- spec/guard/rubocop/runner_spec.rb
|
156
157
|
- spec/guard/rubocop_spec.rb
|
157
158
|
- spec/spec_helper.rb
|
158
159
|
- spec/support/silence_output.rb
|
159
|
-
|
160
|
+
- spec/support/simplecov.rb
|
161
|
+
homepage: https://github.com/rubocop/guard-rubocop
|
160
162
|
licenses:
|
161
163
|
- MIT
|
162
164
|
metadata: {}
|
163
|
-
post_install_message:
|
165
|
+
post_install_message:
|
164
166
|
rdoc_options: []
|
165
167
|
require_paths:
|
166
168
|
- lib
|
@@ -168,22 +170,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
168
170
|
requirements:
|
169
171
|
- - ">="
|
170
172
|
- !ruby/object:Gem::Version
|
171
|
-
version: '
|
173
|
+
version: '2.5'
|
172
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
173
175
|
requirements:
|
174
176
|
- - ">="
|
175
177
|
- !ruby/object:Gem::Version
|
176
178
|
version: '0'
|
177
179
|
requirements: []
|
178
|
-
rubyforge_project:
|
179
|
-
rubygems_version: 2.
|
180
|
-
signing_key:
|
180
|
+
rubyforge_project:
|
181
|
+
rubygems_version: 2.7.6.3
|
182
|
+
signing_key:
|
181
183
|
specification_version: 4
|
182
184
|
summary: Guard plugin for RuboCop
|
183
185
|
test_files:
|
184
|
-
- spec/.rubocop.yml
|
185
186
|
- spec/guard/rubocop/runner_spec.rb
|
186
187
|
- spec/guard/rubocop_spec.rb
|
187
188
|
- spec/spec_helper.rb
|
188
189
|
- spec/support/silence_output.rb
|
189
|
-
|
190
|
+
- spec/support/simplecov.rb
|
data/.travis.yml
DELETED