rubocop_plus 1.11.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 +7 -0
- data/.gitignore +17 -0
- data/.rspec +3 -0
- data/.rubocop.yml +5 -0
- data/.travis.yml +14 -0
- data/CHANGELOG.md +57 -0
- data/Gemfile +10 -0
- data/LICENSE.md +21 -0
- data/README.md +73 -0
- data/Rakefile +11 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/bin/start_rspec +37 -0
- data/config/group/layout.yml +81 -0
- data/config/group/lint.yml +4 -0
- data/config/group/metrics.yml +29 -0
- data/config/group/naming.yml +4 -0
- data/config/group/rails.yml +7 -0
- data/config/group/rspec.yml +37 -0
- data/config/group/style.yml +91 -0
- data/config/rubocop.yml +22 -0
- data/exe/rubo +107 -0
- data/lib/commands/rubo.rb +102 -0
- data/lib/commands/rubo/errors/bad_output.rb +18 -0
- data/lib/commands/rubo/errors/incorrect_yml.rb +16 -0
- data/lib/commands/rubo/errors/missing_yml.rb +12 -0
- data/lib/commands/rubo/errors/no_rubocop_command.rb +14 -0
- data/lib/commands/rubo/errors/output_missing.rb +16 -0
- data/lib/commands/rubo/helpers/misc.rb +68 -0
- data/lib/commands/rubo/helpers/output.rb +43 -0
- data/lib/commands/rubo/helpers/validations.rb +57 -0
- data/lib/commands/rubo/utils/cri_platform_monkey_patch.rb +8 -0
- data/lib/commands/rubo/utils/which.rb +91 -0
- data/lib/rubocop_plus.rb +14 -0
- data/lib/rubocop_plus/core_ext/string.rb +23 -0
- data/lib/rubocop_plus/version.rb +4 -0
- data/lib/templates/.rubocop.yml +14 -0
- data/rubocop_plus.gemspec +33 -0
- metadata +207 -0
@@ -0,0 +1,43 @@
|
|
1
|
+
module RubocopPlus
|
2
|
+
module Commands
|
3
|
+
# Helpers for creating output are grouped in this file.
|
4
|
+
class Rubo < Cri::CommandRunner
|
5
|
+
def write_results_message
|
6
|
+
prefix = "#{total_violations_count} issues found, results written to rubocop/"
|
7
|
+
prefix = total_violations_count.zero? ? prefix.rubo_green : prefix.rubo_red
|
8
|
+
puts "#{prefix} (rubocop_plus v#{installed_version_of_gem} / rubocop v#{rubocop_version_name})"
|
9
|
+
end
|
10
|
+
|
11
|
+
def write_starting_message
|
12
|
+
print "Running rubocop ... "
|
13
|
+
end
|
14
|
+
|
15
|
+
# Read the total number of violations from the output. Unfortunately, rubocop doesn't have a direct way to generate
|
16
|
+
# this number, but it does produce a file with the output burried inside it. We can search the file and figure out the
|
17
|
+
# violations count. The file will have a line that looks like this:
|
18
|
+
# 1234 Total
|
19
|
+
def determine_total_violations_count
|
20
|
+
total_line = ""
|
21
|
+
File.readlines(style_counts_text_file_name).each { |line| total_line = line if line.include?("Total") }
|
22
|
+
@total_violations = total_line.empty? ? 0 : total_line.split(" ").first.to_i
|
23
|
+
end
|
24
|
+
|
25
|
+
# Return the total violations count from the last rubocop run and remember the result. This result should not do
|
26
|
+
# any validation to make sure the file exists, or is correct. That is checked in other parts of the system.
|
27
|
+
def total_violations_count
|
28
|
+
return @total_violations unless @total_violations.nil?
|
29
|
+
|
30
|
+
first_line = File.read(total_violations_count_text_file_name)
|
31
|
+
@total_violations = first_line.strip.to_i
|
32
|
+
end
|
33
|
+
|
34
|
+
# This method writes a single integer to a file which represents the total number of violations. The value in this file
|
35
|
+
# can be used to fail builds on the CI/CD pipeline which have too many violations. Rubocop doesn't appear to have a
|
36
|
+
# formatter that will write the total number of violations to a file. Fortunately, we can pull this information out of
|
37
|
+
# some other files and write the output ourselves.
|
38
|
+
def generate_total_violations_file
|
39
|
+
File.open(total_violations_count_text_file_name, 'w') { |f| f.print determine_total_violations_count }
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module RubocopPlus
|
2
|
+
module Commands
|
3
|
+
# Helpers for performing validations are grouped in this file.
|
4
|
+
class Rubo < Cri::CommandRunner
|
5
|
+
def check_if_yml_present!
|
6
|
+
raise RubocopPlus::Commands::MissingYml unless rubocop_yml_present?
|
7
|
+
end
|
8
|
+
|
9
|
+
def check_if_yml_has_correct_content!
|
10
|
+
raise RubocopPlus::Commands::IncorrectYml unless rubocop_yml_has_correct_content?
|
11
|
+
end
|
12
|
+
|
13
|
+
def check_if_rubocop_command_exists!
|
14
|
+
raise RubocopPlus::Commands::NoRubocopCommand unless rubocop_command_exists?
|
15
|
+
end
|
16
|
+
|
17
|
+
def check_if_results_exist!
|
18
|
+
error = RubocopPlus::Commands::BadOutput
|
19
|
+
|
20
|
+
check_if_violations_count_exists?
|
21
|
+
raise error, "The '#{output_folder_name}' folder does not exist." unless File.directory?(output_folder_name)
|
22
|
+
raise error, "Missing #{style_issues_text_file_name}" unless File.exist?(style_issues_text_file_name)
|
23
|
+
raise error, "Missing #{style_issues_html_file_name}" unless File.exist?(style_issues_html_file_name)
|
24
|
+
raise error, "Missing #{style_counts_text_file_name}" unless File.exist?(style_counts_text_file_name)
|
25
|
+
end
|
26
|
+
|
27
|
+
def check_if_violations_count_exists?
|
28
|
+
error = RubocopPlus::Commands::BadOutput
|
29
|
+
raise error, "Missing #{total_violations_count_text_file_name}" unless File.exist?(total_violations_count_text_file_name)
|
30
|
+
|
31
|
+
violations = File.read(total_violations_count_text_file_name)
|
32
|
+
raise error, "#{total_violations_count_text_file_name} is empty" if violations.nil? || violations.strip.empty?
|
33
|
+
end
|
34
|
+
|
35
|
+
# This method is called when the user runs `rubo --total-violations`. That option is used to open the "total violations
|
36
|
+
# counts" file and print the number. However, the user can run `rubo`, wait for a bit, delete his rubocop folder
|
37
|
+
# and THEN run `rubo --total-violations`. This is a little different from the other checks where we are IMMEDIATELY
|
38
|
+
# checking the results of the rubo command. In those checks, we're trying to make sure the rubo command worked correctly
|
39
|
+
# and was successfully able to write results. In this check, we're making sure the files are still around before we try
|
40
|
+
# and open them.
|
41
|
+
def check_if_total_violations_count_still_present_and_valid!
|
42
|
+
error = RubocopPlus::Commands::OutputMissing
|
43
|
+
prefix = "Cannot proceed."
|
44
|
+
raise error, "#{prefix} The '#{output_folder_name}' folder does not exist." unless File.directory?(output_folder_name)
|
45
|
+
|
46
|
+
file_name = total_violations_count_text_file_name
|
47
|
+
raise error, "#{prefix} The #{file_name} file is missing." unless File.exist?(file_name)
|
48
|
+
|
49
|
+
violations = File.read(file_name)
|
50
|
+
raise error, "#{prefix} The #{file_name} file is empty." if violations.nil? || violations.strip.empty?
|
51
|
+
|
52
|
+
violations = violations.strip
|
53
|
+
raise error, "#{prefix} The #{file_name} file contains non-digit characters." unless violations =~ /^\d*$/
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
# https://gist.github.com/steakknife/88b6c3837a5e90a08296
|
2
|
+
# Copyright (c) 2014,2016 Barry Allard <barry.allard@gmail.com>
|
3
|
+
# License: MIT
|
4
|
+
#
|
5
|
+
# inspiration: https://stackoverflow.com/questions/2889720/one-liner-in-ruby-for-displaying-a-prompt-getting-input-and-assigning-to-a-var
|
6
|
+
#
|
7
|
+
# Which Bourne shell?
|
8
|
+
#
|
9
|
+
# require 'which'
|
10
|
+
#
|
11
|
+
# Which 'sh'
|
12
|
+
#
|
13
|
+
#
|
14
|
+
# Or all zsh(es)
|
15
|
+
#
|
16
|
+
# require 'which'
|
17
|
+
#
|
18
|
+
# WhichAll 'zsh'
|
19
|
+
#
|
20
|
+
module Which
|
21
|
+
# similar to `which {{cmd}}`, except relative paths *are* always expanded
|
22
|
+
# returns: first match absolute path (String) to cmd (no symlinks followed),
|
23
|
+
# or nil if no executable found
|
24
|
+
def which(cmd)
|
25
|
+
which0(cmd) do |abs_exe|
|
26
|
+
return abs_exe
|
27
|
+
end
|
28
|
+
nil
|
29
|
+
end
|
30
|
+
|
31
|
+
# similar to `which -a {{cmd}}`, except relative paths *are* always expanded
|
32
|
+
# returns: always an array, or [] if none found
|
33
|
+
def which_all(cmd)
|
34
|
+
results = []
|
35
|
+
which0(cmd) do |abs_exe|
|
36
|
+
results << abs_exe
|
37
|
+
end
|
38
|
+
results
|
39
|
+
end
|
40
|
+
|
41
|
+
def real_executable?(file)
|
42
|
+
File.executable?(file) && !File.directory?(file)
|
43
|
+
end
|
44
|
+
|
45
|
+
def executable_file_extensions
|
46
|
+
ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
|
47
|
+
end
|
48
|
+
|
49
|
+
def search_paths
|
50
|
+
ENV['PATH'].split(File::PATH_SEPARATOR)
|
51
|
+
end
|
52
|
+
|
53
|
+
def find_executable(path, cmd, &_block)
|
54
|
+
executable_file_extensions.each do |ext|
|
55
|
+
if real_executable?(abs_exe = File.expand_path(cmd + ext, path))
|
56
|
+
yield(abs_exe)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
# internal use only
|
62
|
+
# +_found_exe+ is yielded to on *all* successful match(es),
|
63
|
+
# with path to absolute file (String)
|
64
|
+
def which0(cmd, &found_exe)
|
65
|
+
# call expand_path(f, nil) == expand_path(f) for relative/abs path cmd
|
66
|
+
find_executable(nil, cmd, &found_exe) if File.basename(cmd) != cmd
|
67
|
+
|
68
|
+
search_paths.each do |path|
|
69
|
+
find_executable(path, cmd, &found_exe)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
module_function(*public_instance_methods) # `extend self`, sorta
|
74
|
+
end
|
75
|
+
|
76
|
+
# make Which() and WhichAll() work
|
77
|
+
module Kernel
|
78
|
+
# rubocop:disable Naming/MethodName
|
79
|
+
# return abs-path to +cmd+
|
80
|
+
def Which(cmd)
|
81
|
+
Which.which cmd
|
82
|
+
end
|
83
|
+
module_function :Which
|
84
|
+
|
85
|
+
# return all abs-path(s) to +cmd+ or [] if none
|
86
|
+
def WhichAll(cmd)
|
87
|
+
Which.which_all cmd
|
88
|
+
end
|
89
|
+
module_function :WhichAll
|
90
|
+
# rubocop:enable Naming/MethodName
|
91
|
+
end
|
data/lib/rubocop_plus.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require "rubocop_plus/version"
|
2
|
+
require "rubocop_plus/core_ext/string"
|
3
|
+
require "rubocop"
|
4
|
+
# require "rubocop-performance"
|
5
|
+
# require "rubocop-rails"
|
6
|
+
|
7
|
+
# Setup pry for development when running "rake console". Guard against load
|
8
|
+
# errors in production (since pry is not a runtime dependency in the .gemspec)
|
9
|
+
# rubocop:disable Lint/HandleExceptions
|
10
|
+
begin
|
11
|
+
require "pry"
|
12
|
+
rescue LoadError
|
13
|
+
end
|
14
|
+
# rubocop:enable Lint/HandleExceptions
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Add some ome simple colorization methods for formatting console output.
|
2
|
+
# Prefix methods with rs_ so they don't collide with other gems.
|
3
|
+
class String
|
4
|
+
class << self
|
5
|
+
attr_accessor :allow_color
|
6
|
+
end
|
7
|
+
|
8
|
+
def rubo_colorize(color_code)
|
9
|
+
String.allow_color ? "\e[#{color_code}m#{self}\e[0m" : self
|
10
|
+
end
|
11
|
+
|
12
|
+
def rubo_red
|
13
|
+
rubo_colorize(31)
|
14
|
+
end
|
15
|
+
|
16
|
+
def rubo_green
|
17
|
+
rubo_colorize(32)
|
18
|
+
end
|
19
|
+
|
20
|
+
def rubo_yellow
|
21
|
+
rubo_colorize(33)
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# DO NOT MODIFY THIS FILE unless you want to deviate from the rubocop_plus ruleset.
|
2
|
+
|
3
|
+
# This file defines the settings used by rubocop when it runs. You would normally add your customizations directly to this
|
4
|
+
# file, but this file has been pre configured to read settings out of the rubocop_plus gem instead.
|
5
|
+
|
6
|
+
# Tell rubocop to load its settings from the rubocop_plus gem.
|
7
|
+
inherit_gem:
|
8
|
+
rubocop_plus: config/rubocop.yml
|
9
|
+
|
10
|
+
Rails:
|
11
|
+
Enabled: true
|
12
|
+
|
13
|
+
# Place custom settings below this comment. All customizations will OVERRIDE rubocop_plus rules. rubocop_plus & rubocop
|
14
|
+
# do not attempt to merge these settings with their defaults. Long term changes should be ported to the rubocop_plus gem.
|
@@ -0,0 +1,33 @@
|
|
1
|
+
lib = File.expand_path("lib", __dir__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require "rubocop_plus/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "rubocop_plus"
|
7
|
+
spec.version = RubocopPlus::VERSION
|
8
|
+
spec.authors = ["roberts1000"]
|
9
|
+
spec.email = ["roberts@corlewsolutions.com"]
|
10
|
+
|
11
|
+
spec.summary = "Enhancements to the standard rubocop gem."
|
12
|
+
spec.description = "Enhancements to the standard rubocop gem."
|
13
|
+
spec.homepage = "https://github.com/roberts1000/rubocop_plus"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
17
|
+
f.match(%r{^(test|spec|features)/})
|
18
|
+
end
|
19
|
+
spec.bindir = "exe"
|
20
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
|
+
spec.require_paths = ["lib"]
|
22
|
+
|
23
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
24
|
+
spec.add_development_dependency "pry", "~> 0.12.2"
|
25
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
26
|
+
spec.add_development_dependency "rspec", "~> 3.9.0"
|
27
|
+
|
28
|
+
spec.add_dependency "cri", "~> 2.0"
|
29
|
+
spec.add_dependency "rubocop", RubocopPlus::RUBOCOP_VERSION.to_s
|
30
|
+
spec.add_dependency "rubocop-performance", "~> 1.5.2"
|
31
|
+
spec.add_dependency "rubocop-rails", "~> 2.4.1"
|
32
|
+
spec.add_dependency "rubocop-rspec", "~> 1.37.1"
|
33
|
+
end
|
metadata
ADDED
@@ -0,0 +1,207 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rubocop_plus
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.11.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- roberts1000
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-01-31 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: pry
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.12.2
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.12.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '13.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '13.0'
|
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.9.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.9.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: cri
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.79.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.79.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop-performance
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.5.2
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.5.2
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop-rails
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 2.4.1
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 2.4.1
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop-rspec
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.37.1
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 1.37.1
|
139
|
+
description: Enhancements to the standard rubocop gem.
|
140
|
+
email:
|
141
|
+
- roberts@corlewsolutions.com
|
142
|
+
executables:
|
143
|
+
- rubo
|
144
|
+
extensions: []
|
145
|
+
extra_rdoc_files: []
|
146
|
+
files:
|
147
|
+
- ".gitignore"
|
148
|
+
- ".rspec"
|
149
|
+
- ".rubocop.yml"
|
150
|
+
- ".travis.yml"
|
151
|
+
- CHANGELOG.md
|
152
|
+
- Gemfile
|
153
|
+
- LICENSE.md
|
154
|
+
- README.md
|
155
|
+
- Rakefile
|
156
|
+
- bin/console
|
157
|
+
- bin/setup
|
158
|
+
- bin/start_rspec
|
159
|
+
- config/group/layout.yml
|
160
|
+
- config/group/lint.yml
|
161
|
+
- config/group/metrics.yml
|
162
|
+
- config/group/naming.yml
|
163
|
+
- config/group/rails.yml
|
164
|
+
- config/group/rspec.yml
|
165
|
+
- config/group/style.yml
|
166
|
+
- config/rubocop.yml
|
167
|
+
- exe/rubo
|
168
|
+
- lib/commands/rubo.rb
|
169
|
+
- lib/commands/rubo/errors/bad_output.rb
|
170
|
+
- lib/commands/rubo/errors/incorrect_yml.rb
|
171
|
+
- lib/commands/rubo/errors/missing_yml.rb
|
172
|
+
- lib/commands/rubo/errors/no_rubocop_command.rb
|
173
|
+
- lib/commands/rubo/errors/output_missing.rb
|
174
|
+
- lib/commands/rubo/helpers/misc.rb
|
175
|
+
- lib/commands/rubo/helpers/output.rb
|
176
|
+
- lib/commands/rubo/helpers/validations.rb
|
177
|
+
- lib/commands/rubo/utils/cri_platform_monkey_patch.rb
|
178
|
+
- lib/commands/rubo/utils/which.rb
|
179
|
+
- lib/rubocop_plus.rb
|
180
|
+
- lib/rubocop_plus/core_ext/string.rb
|
181
|
+
- lib/rubocop_plus/version.rb
|
182
|
+
- lib/templates/.rubocop.yml
|
183
|
+
- rubocop_plus.gemspec
|
184
|
+
homepage: https://github.com/roberts1000/rubocop_plus
|
185
|
+
licenses:
|
186
|
+
- MIT
|
187
|
+
metadata: {}
|
188
|
+
post_install_message:
|
189
|
+
rdoc_options: []
|
190
|
+
require_paths:
|
191
|
+
- lib
|
192
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
193
|
+
requirements:
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
version: '0'
|
197
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
requirements: []
|
203
|
+
rubygems_version: 3.1.2
|
204
|
+
signing_key:
|
205
|
+
specification_version: 4
|
206
|
+
summary: Enhancements to the standard rubocop gem.
|
207
|
+
test_files: []
|