rfix 1.0.7.pre.67 → 1.0.15

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.
@@ -13,11 +13,13 @@ module Rfix::Log
13
13
  end
14
14
 
15
15
  def say_error_sub(message)
16
- CLI::UI.puts("#{message}")
16
+ CLI::UI.puts(message.to_s)
17
17
  end
18
18
 
19
19
  def say_debug(message)
20
- CLI::UI.puts("{{*}} #{message}")
20
+ if Rfix.debug?
21
+ CLI::UI.puts("{{*}} [{{info:Debug}}] #{message}")
22
+ end
21
23
  end
22
24
 
23
25
  def say_abort(message)
@@ -0,0 +1,56 @@
1
+ require "tmpdir"
2
+
3
+ module RakeHelper
4
+ include Rfix::Log
5
+ include Rfix::Cmd
6
+ include Rfix::GitHelper
7
+
8
+ def dirty?
9
+ !cmd_succeeded?("git diff --quiet")
10
+ end
11
+
12
+ def clone(github:, ref:)
13
+ Dir.mktmpdir(github.split("/")) do |src|
14
+ say "Clone {{info:#{github}}}, hold on ..."
15
+ git("clone", "https://github.com/#{github}", src)
16
+ Dir.chdir(src) do
17
+ say "Check out {{info:#{ref}}}"
18
+ git("reset", "--hard", ref)
19
+ git("clean", "-f", "-d")
20
+ end
21
+
22
+ dest = File.join("vendor", github)
23
+ say "Copy files to {{info:#{dest}}}"
24
+ FileUtils.mkdir_p(dest)
25
+ FileUtils.copy_entry(src, dest, true, true, true)
26
+ end
27
+ end
28
+
29
+ def gemfiles
30
+ Dir.glob("ci/Gemfile*").unshift("Gemfile").reject do |path|
31
+ [".lock", ".base"].include?(File.extname(path))
32
+ end
33
+ end
34
+
35
+ def gemlocks
36
+ Dir.glob("ci/Gemfile*.lock").unshift("Gemfile.lock")
37
+ end
38
+
39
+ def source_for(name:)
40
+ bundle_root = Bundler.bundle_path.join('bundler/gems')
41
+ path = Dir.glob(bundle_root.join("#{name}-*").to_s).first
42
+ path or raise "Could not find source for #{name}, run bundle install first"
43
+ end
44
+
45
+ def dest_for(name:)
46
+ File.join(__dir__, 'vendor', name)
47
+ end
48
+
49
+ def osx?
50
+ ENV.fetch("TRAVIS_OS_NAME") == "osx"
51
+ end
52
+
53
+ def brew_url(ref:)
54
+ "https://raw.githubusercontent.com/Homebrew/homebrew-core/#{ref}/Formula/git.rb"
55
+ end
56
+ end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Layout/LineLength
4
+
3
5
  require "rubocop"
4
6
  require "optparse"
5
7
  require "rbconfig"
@@ -13,36 +15,83 @@ module Rfix
13
15
  include GitHelper
14
16
  include Log
15
17
 
16
- def config
17
- @config
18
+ def indent
19
+ " " * 2
18
20
  end
19
21
 
20
- def set_fail_level(lint)
21
- if
22
- if lint
23
- else
24
- @config[:fail_level] = :warning
25
- end
26
- end
22
+ def thanks
23
+ tx = []
24
+ tx << "\n{{v}} Thank you for installing {{green:rfix v#{Rfix::VERSION}}}!\n"
25
+ tx << "{{i}} Run {{command:rfix}} for avalible commands or any of the following to get started:"
26
+ tx << ""
27
+ # tx << "Here are a few examples that might be useful:"
28
+ tx << "#{indent}{{command:$ rfix local}} {{italic:# Auto-fixes commits not yet pushed to upstream}}"
29
+ tx << "#{indent}{{command:$ rfix origin}} {{italic:# Auto-fixes commits between HEAD and origin branch}}"
30
+ tx << "#{indent}{{command:$ rfix lint}} {{italic:# Lints commits and untracked files not yet pushed to upstream}}"
31
+ tx << ""
32
+ tx << "{{*}} {{bold:ProTip:}} Append {{command:--dry}} to run {{command:rfix}} in read-only mode"
33
+ tx << ""
34
+ tx << "{{i}} {{bold:Issues}} {{italic:https://github.com/oleander/rfix-rb/issues}}"
35
+ tx << "{{i}} {{bold:Readme}} {{italic:https://github.com/oleander/rfix-rb/blob/master/README.md}}"
36
+ tx << "{{i}} {{bold:Travis}} {{italic:https://travis-ci.org/github/oleander/rfix-rb}}"
37
+ tx << ""
38
+ tx << "{{italic:~ Linus}}\n\n"
39
+ CLI::UI.fmt(tx.join("\n"), enable_color: true)
40
+ end
41
+
42
+ def help
43
+ cmds = [""]
44
+ cmds << "#{indent}{{command:$ rfix [cmd] [options]}} # {{italic:--dry --help --list-files --limit-files --config --untracked}}"
45
+ cmds << "#{indent}{{command:$ rfix branch <branch>}} # {{italic:Fix changes made between HEAD and <branch>}}"
46
+ cmds << "#{indent}{{command:$ rfix origin}} # {{italic:Fix changes made between HEAD and origin branch}}"
47
+ cmds << "#{indent}{{command:$ rfix local}} # {{italic:Fix changes not yet pushed to upstream branch}}"
48
+ cmds << "#{indent}{{command:$ rfix info}} # {{italic:Display runtime dependencies and their versions}}"
49
+ cmds << "#{indent}{{command:$ rfix all}} # {{italic:Fix all files in this repository}} {{warning:(not recommended)}}"
50
+ cmds << "#{indent}{{command:$ rfix lint}} # {{italic:Shortcut for 'local --dry --untracked'}}"
51
+ CLI::UI.fmt(cmds.join("\n"), enable_color: true)
52
+ end
53
+
54
+ def current_branch
55
+ git("rev-parse", "--abbrev-ref", "HEAD").first
56
+ end
57
+
58
+ def debug?
59
+ @debug
60
+ end
61
+
62
+ def debug!
63
+ @debug = true
64
+ @config[:debug] = true
65
+ end
66
+
67
+ def number_of_commits_since
68
+ cmd("git rev-list master..HEAD | wc -l").first
69
+ end
70
+
71
+ def config
72
+ @config
27
73
  end
28
74
 
29
75
  def no_auto_correct!
30
76
  @config[:auto_correct] = false
31
77
  end
32
78
 
79
+ def auto_correct!
80
+ @config[:auto_correct] = true
81
+ end
82
+
33
83
  def load_config
34
- yield
84
+ yield @store
35
85
  rescue RuboCop::Error => e
36
- say_abort "[Config] #{e}"
86
+ say_abort "[Config:RuboCop] #{e}"
37
87
  rescue TypeError => e
38
- say_abort "[Config] #{e}"
88
+ say_abort "[Config:Type] #{e}"
89
+ rescue Psych::SyntaxError => e
90
+ say_abort "[Config:Syntax] #{e}"
39
91
  end
40
92
 
41
93
  def lint_mode!
42
- @config[:auto_correct] = false
43
- if old?
44
- @config[:fail_level] = :warning
45
- end
94
+ no_auto_correct!
46
95
  load_untracked!
47
96
  end
48
97
 
@@ -66,19 +115,25 @@ module Rfix
66
115
  @global_enable
67
116
  end
68
117
 
118
+ def store
119
+ @store
120
+ end
121
+
122
+ def clear_cache!
123
+ RuboCop::ResultCache.cleanup(@store, true)
124
+ end
125
+
69
126
  def init!
70
127
  @files ||= {}
71
128
  @global_enable = false
129
+ @debug = false
72
130
  @config = {
73
- color: true,
74
131
  force_exclusion: true,
75
- auto_correct: true,
76
132
  formatters: ["Rfix::Formatter"]
77
133
  }
78
134
 
79
- if old?
80
- @config[:fail_level] = :autocorrect
81
- end
135
+ @store = RuboCop::ConfigStore.new
136
+ auto_correct!
82
137
  end
83
138
 
84
139
  def files
@@ -120,13 +175,13 @@ module Rfix
120
175
  end
121
176
 
122
177
  def load_tracked!(reference)
123
- cached(git("log", "--name-only", "--pretty=format:", *params, "#{reference}..HEAD").map do |path|
178
+ cached(git("log", "--name-only", "--pretty=format:", *params, "#{reference}...HEAD").map do |path|
124
179
  TrackedFile.new(path, reference, root_dir)
125
180
  end.select(&:file?).to_set)
126
181
  end
127
182
 
128
183
  def has_branch?(name)
129
- Open3.capture2e("git", "cat-file", "-t", name).last.success?
184
+ cmd_succeeded?("git", "cat-file", "-t", name)
130
185
  end
131
186
 
132
187
  # Ref since last push
@@ -156,9 +211,7 @@ module Rfix
156
211
  end
157
212
 
158
213
  def list_untrack_files
159
- git("status", "-u", "--porcelain", "--no-column").map do |line|
160
- line.split(" ", 2).map(&:strip)
161
- end.select { |el| el.first == "??" }.map(&:last)
214
+ git("ls-files", "--exclude-standard", "--others")
162
215
  end
163
216
 
164
217
  def cached(files)
@@ -168,3 +221,5 @@ module Rfix
168
221
  end
169
222
  end
170
223
  end
224
+
225
+ # rubocop:enable Layout/LineLength
@@ -4,7 +4,7 @@ require "rfix/git_file"
4
4
 
5
5
  class Rfix::TrackedFile < Rfix::GitFile
6
6
  def refresh!
7
- @ranges = git("--no-pager", "diff", *params, ref, path)
7
+ @ranges = git("--no-pager", "diff", *params, "#{ref}...HEAD", path)
8
8
  .grep(/^@@ -\d+(?:,\d+)? \+(\d+)(?:,(\d+))? @@/) do
9
9
  Regexp.last_match(1).to_i...(Regexp.last_match(1).to_i + (Regexp.last_match(2) || 1).to_i)
10
10
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rfix
4
- VERSION = "1.0.7"
4
+ VERSION = "1.0.15"
5
5
  end
Binary file
@@ -2,8 +2,11 @@
2
2
 
3
3
  require "pathname"
4
4
  require_relative "lib/rfix/version"
5
+ # require_relative "lib/rfix/gem_helper"
5
6
 
6
7
  Gem::Specification.new do |spec|
8
+ # extend GemHelper
9
+
7
10
  spec.name = "rfix"
8
11
 
9
12
  if ENV["TRAVIS"]
@@ -17,18 +20,16 @@ Gem::Specification.new do |spec|
17
20
  spec.authors = ["Linus Oleander"]
18
21
  spec.email = ["linus@oleander.nu"]
19
22
 
20
- spec.summary = "RuboCop CLI that only complains about your latest changes"
23
+ # rubocop:disable Layout/LineLength
24
+ spec.summary = "RuboCop CLI that only lints and auto-fixes code you committed by utilizing `git-log` and `git-diff`"
25
+ # rubocop:enable Layout/LineLength
26
+
21
27
  spec.description = <<~TEXT
22
- #{spec.summary}
23
- Uses 'git diff' to determine what changes were made then runs RuboCop against them
28
+ RuboCop CLI that only lints and auto-fixes code you committed by utilizing `git-log` and `git-diff`. Rfix CLI makes it possible to lint (`rfix lint`) and auto-fix (`rfix local|origin|branch`) code changes since a certain point in history. You can auto-fix code committed since creating the current branch (`rfix origin`) or since pushing to upstream (`rfix local`).
24
29
 
25
- $ rfix branch <branch> -- Fix changes made between HEAD and <branch>
26
- $ rfix origin -- Fix changes made between HEAD and origin branch
27
- $ rfix local -- Fix changes not yet pushed to upstream branch
28
- $ rfix info -- Display runtime dependencies and their versions
29
- $ rfix all -- Fix all files in this repository (not recommended)
30
+ Includes a RuboCop formatter with syntax highlighting and build in hyperlinks for offense documentation.
30
31
 
31
- Optional args: --dry --help --list-files --limit-files --config --untracked
32
+ Holds the same CLI arguments as RuboCop. Run `rfix --help` for a complete list or `rfix` for supported commands.
32
33
  TEXT
33
34
  spec.homepage = "https://github.com/oleander/rfix-rb"
34
35
  spec.license = "MIT"
@@ -42,15 +43,19 @@ Gem::Specification.new do |spec|
42
43
  `git ls-files -z`.split("\x0").reject(&validate_file)
43
44
  end
44
45
 
45
- spec.files += Dir.glob("vendor/cli-ui/lib/**/*").reject(&validate_file)
46
+ spec.files += Dir.glob("vendor/shopify/cli-ui/lib/**/*").reject(&validate_file)
46
47
 
47
48
  spec.bindir = "exe"
48
49
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
49
- spec.require_paths = ["lib", "vendor/cli-ui/lib"]
50
+ spec.require_paths = ["lib", "vendor/shopify/cli-ui/lib"]
50
51
 
51
52
  spec.requirements << "git, v2.0+"
52
53
 
53
54
  spec.add_runtime_dependency "rainbow", "~> 3.0"
54
55
  spec.add_runtime_dependency "rouge", "~> 3.20"
55
- spec.add_runtime_dependency "rubocop", "~> 0.80"
56
+ spec.add_runtime_dependency "rubocop", ">= 0.80"
57
+
58
+ spec.add_development_dependency "rspec", "~> 3.0"
59
+ spec.add_development_dependency "aruba", "~> 1.0"
60
+ spec.add_development_dependency "rake", "~> 12.3"
56
61
  end
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rfix
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7.pre.67
4
+ version: 1.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Linus Oleander
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
11
  date: 2020-06-21 00:00:00.000000000 Z
@@ -42,24 +42,64 @@ dependencies:
42
42
  name: rubocop
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0.80'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.80'
55
- description: "RuboCop CLI that only complains about your latest changes\nUses 'git
56
- diff' to determine what changes were made then runs RuboCop against them\n\n\t$
57
- rfix branch <branch> -- Fix changes made between HEAD and <branch>\n\t$ rfix origin
58
- \ -- Fix changes made between HEAD and origin branch\n\t$ rfix local --
59
- Fix changes not yet pushed to upstream branch\n\t$ rfix info -- Display
60
- runtime dependencies and their versions\n\t$ rfix all -- Fix all files
61
- in this repository (not recommended)\n\nOptional args: --dry --help --list-files
62
- --limit-files --config --untracked\n"
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: aruba
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '12.3'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '12.3'
97
+ description: |
98
+ RuboCop CLI that only lints and auto-fixes code you committed by utilizing `git-log` and `git-diff`. Rfix CLI makes it possible to lint (`rfix lint`) and auto-fix (`rfix local|origin|branch`) code changes since a certain point in history. You can auto-fix code committed since creating the current branch (`rfix origin`) or since pushing to upstream (`rfix local`).
99
+
100
+ Includes a RuboCop formatter with syntax highlighting and build in hyperlinks for offense documentation.
101
+
102
+ Holds the same CLI arguments as RuboCop. Run `rfix --help` for a complete list or `rfix` for supported commands.
63
103
  email:
64
104
  - linus@oleander.nu
65
105
  executables:
@@ -72,12 +112,19 @@ files:
72
112
  - ".rubocop.yml"
73
113
  - ".travis.yml"
74
114
  - Gemfile
115
+ - Gemfile.base
75
116
  - Gemfile.lock
76
117
  - Guardfile
77
118
  - LICENSE.txt
119
+ - Makefile
78
120
  - README.md
79
121
  - Rakefile
122
+ - bin/bundle
80
123
  - bin/console
124
+ - bin/guard
125
+ - bin/rake
126
+ - bin/rfix
127
+ - bin/rspec
81
128
  - bin/setup
82
129
  - ci/Gemfile.rubocop-0.80
83
130
  - ci/Gemfile.rubocop-0.80.lock
@@ -94,54 +141,58 @@ files:
94
141
  - ci/Gemfile.rubocop-0.85.1.lock
95
142
  - ci/Gemfile.rubocop-0.85.lock
96
143
  - exe/rfix
144
+ - file.rb
97
145
  - lib/rfix.rb
98
146
  - lib/rfix/cmd.rb
99
147
  - lib/rfix/extensions/extensions.rb
100
148
  - lib/rfix/extensions/offense.rb
101
149
  - lib/rfix/formatter.rb
150
+ - lib/rfix/gem_helper.rb
102
151
  - lib/rfix/git_file.rb
103
152
  - lib/rfix/git_helper.rb
104
153
  - lib/rfix/log.rb
154
+ - lib/rfix/rake_helper.rb
105
155
  - lib/rfix/rfix.rb
106
156
  - lib/rfix/tracked_file.rb
107
157
  - lib/rfix/untracked_file.rb
108
158
  - lib/rfix/version.rb
159
+ - resources/ps.png
109
160
  - rfix.gemspec
110
- - vendor/cli-ui/lib/cli/ui.rb
111
- - vendor/cli-ui/lib/cli/ui/ansi.rb
112
- - vendor/cli-ui/lib/cli/ui/color.rb
113
- - vendor/cli-ui/lib/cli/ui/formatter.rb
114
- - vendor/cli-ui/lib/cli/ui/frame.rb
115
- - vendor/cli-ui/lib/cli/ui/frame/frame_stack.rb
116
- - vendor/cli-ui/lib/cli/ui/frame/frame_style.rb
117
- - vendor/cli-ui/lib/cli/ui/frame/frame_style/box.rb
118
- - vendor/cli-ui/lib/cli/ui/frame/frame_style/bracket.rb
119
- - vendor/cli-ui/lib/cli/ui/glyph.rb
120
- - vendor/cli-ui/lib/cli/ui/printer.rb
121
- - vendor/cli-ui/lib/cli/ui/progress.rb
122
- - vendor/cli-ui/lib/cli/ui/prompt.rb
123
- - vendor/cli-ui/lib/cli/ui/prompt/interactive_options.rb
124
- - vendor/cli-ui/lib/cli/ui/prompt/options_handler.rb
125
- - vendor/cli-ui/lib/cli/ui/spinner.rb
126
- - vendor/cli-ui/lib/cli/ui/spinner/async.rb
127
- - vendor/cli-ui/lib/cli/ui/spinner/spin_group.rb
128
- - vendor/cli-ui/lib/cli/ui/stdout_router.rb
129
- - vendor/cli-ui/lib/cli/ui/terminal.rb
130
- - vendor/cli-ui/lib/cli/ui/truncater.rb
131
- - vendor/cli-ui/lib/cli/ui/version.rb
132
- - vendor/cli-ui/lib/cli/ui/widgets.rb
133
- - vendor/cli-ui/lib/cli/ui/widgets/base.rb
134
- - vendor/cli-ui/lib/cli/ui/widgets/status.rb
161
+ - vendor/shopify/cli-ui/lib/cli/ui.rb
162
+ - vendor/shopify/cli-ui/lib/cli/ui/ansi.rb
163
+ - vendor/shopify/cli-ui/lib/cli/ui/color.rb
164
+ - vendor/shopify/cli-ui/lib/cli/ui/formatter.rb
165
+ - vendor/shopify/cli-ui/lib/cli/ui/frame.rb
166
+ - vendor/shopify/cli-ui/lib/cli/ui/frame/frame_stack.rb
167
+ - vendor/shopify/cli-ui/lib/cli/ui/frame/frame_style.rb
168
+ - vendor/shopify/cli-ui/lib/cli/ui/frame/frame_style/box.rb
169
+ - vendor/shopify/cli-ui/lib/cli/ui/frame/frame_style/bracket.rb
170
+ - vendor/shopify/cli-ui/lib/cli/ui/glyph.rb
171
+ - vendor/shopify/cli-ui/lib/cli/ui/printer.rb
172
+ - vendor/shopify/cli-ui/lib/cli/ui/progress.rb
173
+ - vendor/shopify/cli-ui/lib/cli/ui/prompt.rb
174
+ - vendor/shopify/cli-ui/lib/cli/ui/prompt/interactive_options.rb
175
+ - vendor/shopify/cli-ui/lib/cli/ui/prompt/options_handler.rb
176
+ - vendor/shopify/cli-ui/lib/cli/ui/spinner.rb
177
+ - vendor/shopify/cli-ui/lib/cli/ui/spinner/async.rb
178
+ - vendor/shopify/cli-ui/lib/cli/ui/spinner/spin_group.rb
179
+ - vendor/shopify/cli-ui/lib/cli/ui/stdout_router.rb
180
+ - vendor/shopify/cli-ui/lib/cli/ui/terminal.rb
181
+ - vendor/shopify/cli-ui/lib/cli/ui/truncater.rb
182
+ - vendor/shopify/cli-ui/lib/cli/ui/version.rb
183
+ - vendor/shopify/cli-ui/lib/cli/ui/widgets.rb
184
+ - vendor/shopify/cli-ui/lib/cli/ui/widgets/base.rb
185
+ - vendor/shopify/cli-ui/lib/cli/ui/widgets/status.rb
135
186
  homepage: https://github.com/oleander/rfix-rb
136
187
  licenses:
137
188
  - MIT
138
189
  metadata:
139
190
  homepage_uri: https://github.com/oleander/rfix-rb
140
- post_install_message:
191
+ post_install_message:
141
192
  rdoc_options: []
142
193
  require_paths:
143
194
  - lib
144
- - vendor/cli-ui/lib
195
+ - vendor/shopify/cli-ui/lib
145
196
  required_ruby_version: !ruby/object:Gem::Requirement
146
197
  requirements:
147
198
  - - ">="
@@ -149,13 +200,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
149
200
  version: 2.5.0
150
201
  required_rubygems_version: !ruby/object:Gem::Requirement
151
202
  requirements:
152
- - - ">"
203
+ - - ">="
153
204
  - !ruby/object:Gem::Version
154
- version: 1.3.1
205
+ version: '0'
155
206
  requirements:
156
207
  - git, v2.0+
157
- rubygems_version: 3.0.3
158
- signing_key:
208
+ rubygems_version: 3.1.4
209
+ signing_key:
159
210
  specification_version: 4
160
- summary: RuboCop CLI that only complains about your latest changes
211
+ summary: RuboCop CLI that only lints and auto-fixes code you committed by utilizing
212
+ `git-log` and `git-diff`
161
213
  test_files: []