checkoff 0.7.0 → 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +120 -12
  3. data/.envrc +2 -0
  4. data/.git-hooks/pre_commit/circle_ci.rb +21 -0
  5. data/.gitignore +51 -1
  6. data/.overcommit.yml +32 -12
  7. data/.rubocop.yml +64 -168
  8. data/.yamllint.yml +8 -0
  9. data/CODE_OF_CONDUCT.md +120 -36
  10. data/DEVELOPMENT.md +28 -0
  11. data/Gemfile.lock +139 -0
  12. data/{LICENSE.txt → LICENSE} +7 -6
  13. data/Makefile +52 -18
  14. data/README.md +13 -2
  15. data/Rakefile +2 -9
  16. data/bin/bump +29 -0
  17. data/bin/checkoff +29 -0
  18. data/bin/overcommit +29 -0
  19. data/bin/rake +29 -0
  20. data/checkoff.gemspec +14 -6
  21. data/coverage/.last_run.json +2 -1
  22. data/docs/cookiecutter_input.json +13 -0
  23. data/exe/checkoff +1 -2
  24. data/fix.sh +334 -0
  25. data/lib/checkoff/cli.rb +97 -76
  26. data/lib/checkoff/config_loader.rb +22 -16
  27. data/lib/checkoff/projects.rb +35 -31
  28. data/lib/checkoff/sections.rb +98 -50
  29. data/lib/checkoff/subtasks.rb +14 -11
  30. data/lib/checkoff/tasks.rb +25 -16
  31. data/lib/checkoff/version.rb +2 -1
  32. data/lib/checkoff/workspaces.rb +10 -5
  33. data/metrics/bigfiles_high_water_mark +1 -1
  34. data/metrics/rubocop_high_water_mark +1 -1
  35. data/{lib/tasks/ci.rake → rakelib/citest.rake} +1 -1
  36. data/rakelib/clear_metrics.rake +17 -0
  37. data/{lib/tasks → rakelib}/default.rake +0 -0
  38. data/rakelib/gem_tasks.rake +3 -0
  39. data/{lib/tasks → rakelib}/localtest.rake +1 -1
  40. data/rakelib/overcommit.rake +6 -0
  41. data/rakelib/quality.rake +4 -0
  42. data/{lib/tasks → rakelib}/test.rake +0 -0
  43. data/rakelib/undercover.rake +8 -0
  44. data/requirements_dev.txt +2 -0
  45. metadata +110 -29
  46. data/.ruby-version +0 -1
  47. data/.travis.yml +0 -22
  48. data/lib/tasks/clear_metrics.rake +0 -8
  49. data/lib/tasks/feature.rake +0 -9
  50. data/lib/tasks/quality.rake +0 -9
  51. data/lib/tasks/spec.rake +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4602a0a2276fa337153e3394f009fa99a8a22603003baf9e99fb9da65c9b9107
4
- data.tar.gz: e1a006d0debc96dbf11fd5e63d4930446bf35a3ae7f261bbbfca79a9d9bbad02
3
+ metadata.gz: f4eeb7148c4b835088d3fedc674bf3195b92c9889bfe935a745b50e0b7228c65
4
+ data.tar.gz: 2a48471aae38c5ed10bed024968bb51ccd772f1e1efe3acd70b7a4c92bbb59ae
5
5
  SHA512:
6
- metadata.gz: 9c998ad14b388dd17a118536b1abacd2e2dc0195fd42f847090c142cb17636f9bd8fe17e2ee4202d2784d7d907ea6aad59381639a5fa71af32babd70bd229229
7
- data.tar.gz: b47bb6ce0899ad62c683fefb67596cc5ca371dc0b67d1cacec881060c19d2cb796175b781530231d2cb320b7662dd4929b5a6eac21b8ae9accfd1c138d344d10
6
+ metadata.gz: cf4c95afee408b7937ea09c543c21e50b2855eba0393d9ac542e8d67f4eeb9c02c67b82cb23b7b00a81ca09f9678fafbe294baf947d3fcf1418ecd0208947298
7
+ data.tar.gz: 3ec3e6ef6b0a6c1583a96326cd0fa545b500f61e21ddc97624aeab31dadcd9125928d2bc78bbb8e7ec2827837d700ab651d5bb26a201ddf2a14acb862c246777
data/.circleci/config.yml CHANGED
@@ -1,17 +1,125 @@
1
- version: 2
1
+ ---
2
+ version: 2.1
3
+
4
+ commands:
5
+ run_with_languages:
6
+ description: "Run the given command in an environment that includes relevant langauges in the PATH"
7
+ parameters:
8
+ command:
9
+ type: string
10
+ description: "What command to execute"
11
+ label:
12
+ type: string
13
+ description: "What to label the run"
14
+ default: <<parameters.command>>
15
+ steps:
16
+ - run:
17
+ name: <<parameters.label>>
18
+ command: |
19
+ export PATH="${HOME}/.pyenv/bin:${PATH}"
20
+ export PATH="${HOME}/.rbenv/bin:${HOME}/.rbenv/shims:${PATH}"
21
+ export PATH="${HOME}/project/node_modules/.bin:${PATH}"
22
+ eval "$(pyenv init --path)"
23
+ eval "$(pyenv virtualenv-init -)"
24
+ eval "$(rbenv init -)"
25
+ export BUNDLE_PATH=vendor/bundle
26
+
27
+ <<parameters.command>>
28
+ environment:
29
+ # https://app.circleci.com/pipelines/github/apiology/cookiecutter-pypackage/4/workflows/29074dc8-944c-4600-8aaa-5116575fed90/jobs/4
30
+ "LC_ALL": "C.UTF-8"
31
+ "LANG": "C.UTF-8"
32
+ set_up_environment:
33
+ description: "Install source environment"
34
+ steps:
35
+ - checkout
36
+ - run: |
37
+ sed -E -e 's/checkoff \([[:digit:]]+.[[:digit:]]+.[[:digit:]]+\)/checkoff (0.1.0)/g' \
38
+ Gemfile.lock > Gemfile.lock.deversioned
39
+ - restore_cache:
40
+ key: gems-v4-{{ checksum "Gemfile.lock.deversioned" }}
41
+ - run:
42
+ name: Initialize packages
43
+ command: |
44
+ export BUNDLE_PATH=vendor/bundle
45
+ './fix.sh'
46
+ - run:
47
+ name: Verify Gemfile.lock
48
+ command: |
49
+ if ! git diff --exit-code Gemfile.lock
50
+ then
51
+ >&2 echo "Please resolve changes to Gemfile.lock after bundle install to avoid caching difficulties"
52
+ exit 1
53
+ fi
54
+ - save_cache:
55
+ key: gems-v4-{{ checksum "Gemfile.lock.deversioned" }}
56
+ paths:
57
+ - "vendor/bundle"
58
+ - run:
59
+ name: Download new circleci tool
60
+ command: |
61
+ curl -fLSs \
62
+ https://raw.githubusercontent.com/CircleCI-Public/circleci-cli/master/install.sh | sudo bash
63
+ overcommit:
64
+ description: "Run overcommit"
65
+ steps:
66
+ - set_up_environment
67
+ - run_with_languages:
68
+ label: Run overcommit
69
+ command: |
70
+ # Coax overcommit into working
71
+ git config --global user.email "test@test.test"
72
+ git config --global user.name "Test Test"
73
+ bundle exec overcommit --sign
74
+ bundle exec overcommit --sign pre-commit
75
+
76
+ bundle exec overcommit --run
77
+
2
78
  jobs:
79
+ overcommit:
80
+ docker:
81
+ - image: apiology/circleci:latest
82
+ steps:
83
+ - when:
84
+ condition:
85
+ equal: [<< pipeline.git.branch >>, "main"]
86
+ steps:
87
+ - overcommit
88
+ - unless:
89
+ condition:
90
+ equal: [<< pipeline.git.branch >>, "main"]
91
+ steps:
92
+ - run: echo "overcommit only runs on main branch"
3
93
  build:
4
94
  working_directory: ~/checkoff
5
95
  docker:
6
- - image: apiology/circleci-ruby:latest
96
+ - image: apiology/circleci:latest
7
97
  steps:
8
- - checkout
9
- - type: cache-restore
10
- key: checkoff-{{ checksum "checkoff.gemspec" }}-{{ checksum "Gemfile" }}
11
- - run: gem install --no-document bundler
12
- - run: bundle install --path vendor/bundle --jobs=4
13
- - type: cache-save
14
- key: checkoff-{{ checksum "checkoff.gemspec" }}-{{ checksum "Gemfile" }}
15
- paths:
16
- - "vendor/bundle"
17
- - run: bundle exec rake --jobs=4 ci
98
+ - set_up_environment
99
+ - run_with_languages:
100
+ label: Test
101
+ command: |
102
+ bundle exec rake citest
103
+ # https://github.com/bluelabsio/records-mover/blob/master/Makefile#L25
104
+ git status --porcelain coverage/.last_run.json
105
+ git diff coverage/.last_run.json
106
+ test -z "$(git status --porcelain coverage/.last_run.json)"
107
+
108
+ workflows:
109
+ version: 2
110
+ weekly:
111
+ triggers:
112
+ - schedule:
113
+ cron: "0 0 * * 6"
114
+ filters:
115
+ branches:
116
+ only:
117
+ - main
118
+ jobs:
119
+ - build
120
+ overcommit:
121
+ jobs:
122
+ - overcommit
123
+ build:
124
+ jobs:
125
+ - build
data/.envrc ADDED
@@ -0,0 +1,2 @@
1
+ PATH_add bin
2
+ eval $(with-op op-env sh -e ASANA__PERSONAL_ACCESS_TOKEN -e ASANA__DEFAULT_ASSIGNEE_GID)
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Overcommit
4
+ module Hook
5
+ module PreCommit
6
+ # CircleCI plugin for Overcommit to validate config file (.circleci/config.yml)
7
+ class CircleCi < Base
8
+ def run
9
+ result = execute(command)
10
+ return :pass if result.success?
11
+
12
+ if result.success?
13
+ :pass
14
+ else
15
+ [:fail, result.stderr]
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
data/.gitignore CHANGED
@@ -1,12 +1,62 @@
1
+ # OSX useful to ignore
2
+ *.DS_Store
3
+ .AppleDouble
4
+ .LSOverride
5
+
6
+ # Thumbnails
7
+ ._*
8
+
9
+ # Files that might appear in the root of a volume
10
+ .DocumentRevisions-V100
11
+ .fseventsd
12
+ .Spotlight-V100
13
+ .TemporaryItems
14
+ .Trashes
15
+ .VolumeIcon.icns
16
+ .com.apple.timemachine.donotpresent
17
+
18
+ # Directories potentially created on remote AFP share
19
+ .AppleDB
20
+ .AppleDesktop
21
+ Network Trash Folder
22
+ Temporary Items
23
+ .apdisk
24
+
25
+ # IntelliJ Idea family of suites
26
+ .idea
27
+ *.iml
28
+ ## File-based project format:
29
+ *.ipr
30
+ *.iws
31
+ ## mpeltonen/sbt-idea plugin
32
+ .idea_modules/
33
+
34
+ # IDE settings
35
+ .vscode/
36
+
37
+ # Editor temp files
38
+ *~
39
+ \#*\#
40
+
41
+ # Used by Makefile to track what we have and haven't installed
42
+ Gemfile.lock.installed
43
+ requirements_dev.txt.installed
44
+
45
+ # Installed by fix.sh based on what latest versions are
46
+ /.python-version
47
+ /.ruby-version
48
+
49
+ # Ruby-related
1
50
  /.bundle/
2
51
  /.yardoc
3
- /Gemfile.lock
4
52
  /_yardoc/
5
53
  /doc/
6
54
  /pkg/
7
55
  /spec/reports/
8
56
  /tmp/
9
57
  /coverage/.resultset.json
58
+ /coverage/.resultset.json.lock
10
59
  /coverage/assets/
11
60
  /coverage/index.html
61
+ /coverage/lcov/
12
62
  /pkg
data/.overcommit.yml CHANGED
@@ -1,3 +1,4 @@
1
+ ---
1
2
  # Use this file to configure the Overcommit hooks you wish to use. This will
2
3
  # extend the default configuration defined in:
3
4
  # https://github.com/sds/overcommit/blob/master/config/default.yml
@@ -19,15 +20,34 @@ PreCommit:
19
20
  RuboCop:
20
21
  enabled: true
21
22
  on_warn: fail # Treat all warnings as failures
22
- #
23
- # TrailingWhitespace:
24
- # enabled: true
25
- # exclude:
26
- # - '**/db/structure.sql' # Ignore trailing whitespace in generated files
27
- #
28
- #PostCheckout:
29
- # ALL: # Special hook name that customizes all hooks of this type
30
- # quiet: true # Change all post-checkout hooks to only display output on failure
31
- #
32
- # IndexTags:
33
- # enabled: true # Generate a tags file with `ctags` each time HEAD changes
23
+ command: ['bundle', 'exec', 'rubocop']
24
+ include:
25
+ - '**/*.gemspec'
26
+ - '**/*.rake'
27
+ - '**/*.rb'
28
+ - '**/*.ru'
29
+ - '**/Gemfile'
30
+ - '**/Rakefile'
31
+ - 'bin/*'
32
+ PythonFlake8:
33
+ enabled: true
34
+ on_warn: fail
35
+ ShellCheck:
36
+ enabled: true
37
+ on_warn: fail
38
+ YamlLint:
39
+ enabled: true
40
+ on_warn: fail
41
+ CircleCi:
42
+ required_executable: 'circleci'
43
+ flags: ['config', 'validate']
44
+ include:
45
+ - '.circleci/config.yml'
46
+ enabled: true
47
+
48
+ PrePush:
49
+ Minitest:
50
+ command: ['ruby', '-Ilib:test/unit:lib/checkoff', '-rbundler/setup', '-rminitest', "-e 'exit! Minitest.run'"]
51
+ include:
52
+ - 'test/unit/**/test*.rb'
53
+ enabled: true
data/.rubocop.yml CHANGED
@@ -1,30 +1,55 @@
1
- # I like trailing commas in hashes. They let me insert new elements and
2
- # see them as one line in a diff, not two.
3
- Style/TrailingCommaInHashLiteral:
4
- EnforcedStyleForMultiline: comma
1
+ ---
2
+ Layout/LineLength:
3
+ Max: 120
5
4
 
6
- Style/TrailingCommaInArrayLiteral:
7
- EnforcedStyleForMultiline: comma
5
+ Layout/MultilineMethodCallIndentation:
6
+ EnforcedStyle: indented
7
+
8
+ Lint/UnusedMethodArgument:
9
+ AllowUnusedKeywordArguments: true
10
+
11
+ # https://stackoverflow.com/questions/40934345/rubocop-25-line-block-size-and-rspec-tests
12
+ Metrics/BlockLength:
13
+ # Exclude DSLs
14
+ Exclude:
15
+ - 'Rakefile'
16
+ - '*.gemspec'
17
+ - '**/*.rake'
18
+ - 'spec/**/*.rb'
19
+ - 'feature/**/*.rb'
8
20
 
9
21
  # I use keyword arguments for a poor man's dependency injection to cut
10
22
  # down on the magic in my tests.
11
23
  Metrics/ParameterLists:
12
24
  CountKeywordArgs: false
13
25
 
14
- # If I'm using one function name and returning the contents of an
15
- # attribute, that's OK. The alternative would be this, which I find
16
- # confusing and often not really what I mean:
26
+ # Can try removing this after I have a release installed with this
27
+ # fix (probably in rubocop-minitest 0.10.3):
17
28
  #
18
- # attr_reader :something_else
19
- # alias_method :something, :something_else
20
- Style/TrivialAccessors:
21
- ExactNameMatch: true
29
+ # https://github.com/rubocop-hq/rubocop-minitest/pull/116
30
+ Minitest/TestMethodName:
31
+ Enabled: false
32
+
33
+ Naming/HeredocDelimiterNaming:
34
+ Enabled: false
35
+
36
+ Naming/MethodParameterName:
37
+ Enabled: true
38
+ AllowedNames:
39
+ # I don't think things on this list are a terribly hard convention
40
+ # for folks to learn. bbatsov also doesn't care much for this
41
+ # check:
42
+ #
43
+ # https://github.com/rubocop-hq/rubocop/issues/3666
44
+ - e # exception
45
+ - x # cartesian coordinates
46
+ - y # cartesian coordinates
22
47
 
23
48
  #
24
49
  # Add 'XX X' to the standard list
25
50
  #
26
51
  Style/CommentAnnotation:
27
- Keywords:
52
+ Keywords:
28
53
  - "TOD\
29
54
  O"
30
55
  - "FIXM\
@@ -38,165 +63,36 @@ Style/CommentAnnotation:
38
63
  - "XX\
39
64
  X"
40
65
 
41
- # https://stackoverflow.com/questions/40934345/rubocop-25-line-block-size-and-rspec-tests
42
- Metrics/BlockLength:
43
- # Exclude DSLs
44
- Exclude:
45
- - 'Rakefile'
46
- - '*.gemspec'
47
- - '**/*.rake'
48
- - 'spec/**/*.rb'
49
- - 'feature/**/*.rb'
66
+ Style/StringLiterals:
67
+ EnforcedStyle: single_quotes
68
+ SupportedStyles:
69
+ - single_quotes
70
+ - double_quotes
71
+ ConsistentQuotesInMultiline: true
50
72
 
51
- # http://www.betterspecs.org/#single
52
- #
53
- # > in tests that are not isolated (e.g. ones that integrate with a
54
- # > DB, an external webservice, or end-to-end-tests), you take a
55
- # > massive performance hit to do the same setup over and over again,
56
- # > just to set a different expectation in each test. In these sorts
57
- # > of slower tests, I think it's fine to specify more than one
58
- # > isolated behavior.
59
- RSpec/MultipleExpectations:
60
- Exclude:
61
- - 'feature/**/*.rb'
73
+ # I like trailing commas in arrays and hashes. They let me insert new
74
+ # elements and see them as one line in a diff, not two.
75
+ Style/TrailingCommaInArrayLiteral:
76
+ EnforcedStyleForMultiline: comma
62
77
 
63
- Style/StringLiterals:
64
- EnforcedStyle: single_quotes
65
- SupportedStyles:
66
- - single_quotes
67
- - double_quotes
68
- ConsistentQuotesInMultiline: true
78
+ Style/TrailingCommaInHashLiteral:
79
+ EnforcedStyleForMultiline: comma
69
80
 
70
- Layout/BeginEndAlignment: # (new in 0.91)
71
- Enabled: true
72
- Layout/EmptyLinesAroundAttributeAccessor: # (new in 0.83)
73
- Enabled: true
74
- Layout/SpaceAroundMethodCallOperator: # (new in 0.82)
75
- Enabled: true
76
- Lint/BinaryOperatorWithIdenticalOperands: # (new in 0.89)
77
- Enabled: true
78
- Lint/ConstantDefinitionInBlock: # (new in 0.91)
79
- Enabled: true
80
- Lint/DeprecatedOpenSSLConstant: # (new in 0.84)
81
- Enabled: true
82
- Lint/DuplicateElsifCondition: # (new in 0.88)
83
- Enabled: true
84
- Lint/DuplicateRequire: # (new in 0.90)
85
- Enabled: true
86
- Lint/DuplicateRescueException: # (new in 0.89)
87
- Enabled: true
88
- Lint/EmptyConditionalBody: # (new in 0.89)
89
- Enabled: true
90
- Lint/EmptyFile: # (new in 0.90)
91
- Enabled: true
92
- Lint/FloatComparison: # (new in 0.89)
93
- Enabled: true
94
- Lint/IdentityComparison: # (new in 0.91)
95
- Enabled: true
96
- Lint/MissingSuper: # (new in 0.89)
97
- Enabled: true
98
- Lint/MixedRegexpCaptureTypes: # (new in 0.85)
99
- Enabled: true
100
- Lint/OutOfRangeRegexpRef: # (new in 0.89)
101
- Enabled: true
102
- Lint/RaiseException: # (new in 0.81)
103
- Enabled: true
104
- Lint/SelfAssignment: # (new in 0.89)
105
- Enabled: true
106
- Lint/StructNewOverride: # (new in 0.81)
107
- Enabled: true
108
- Lint/TopLevelReturnWithArgument: # (new in 0.89)
109
- Enabled: true
110
- Lint/TrailingCommaInAttributeDeclaration: # (new in 0.90)
111
- Enabled: true
112
- Lint/UnreachableLoop: # (new in 0.89)
113
- Enabled: true
114
- Lint/UselessMethodDefinition: # (new in 0.90)
115
- Enabled: true
116
- Lint/UselessTimes: # (new in 0.91)
117
- Enabled: true
118
- Style/AccessorGrouping: # (new in 0.87)
119
- Enabled: true
120
- Style/BisectedAttrAccessor: # (new in 0.87)
121
- Enabled: true
122
- Style/CaseLikeIf: # (new in 0.88)
123
- Enabled: true
124
- Style/CombinableLoops: # (new in 0.90)
125
- Enabled: true
126
- Style/ExplicitBlockArgument: # (new in 0.89)
127
- Enabled: true
128
- Style/ExponentialNotation: # (new in 0.82)
129
- Enabled: true
130
- Style/GlobalStdStream: # (new in 0.89)
131
- Enabled: true
132
- Style/HashAsLastArrayItem: # (new in 0.88)
133
- Enabled: true
134
- Style/HashEachMethods: # (new in 0.80)
135
- Enabled: true
136
- Style/HashLikeCase: # (new in 0.88)
137
- Enabled: true
138
- Style/HashTransformKeys: # (new in 0.80)
139
- Enabled: true
140
- Style/HashTransformValues: # (new in 0.80)
141
- Enabled: true
142
- Style/KeywordParametersOrder: # (new in 0.90)
143
- Enabled: true
144
- Style/OptionalBooleanParameter: # (new in 0.89)
145
- Enabled: true
146
- Style/RedundantAssignment: # (new in 0.87)
147
- Enabled: true
148
- Style/RedundantFetchBlock: # (new in 0.86)
149
- Enabled: true
150
- Style/RedundantFileExtensionInRequire: # (new in 0.88)
151
- Enabled: true
152
- Style/RedundantRegexpCharacterClass: # (new in 0.85)
153
- Enabled: true
154
- Style/RedundantRegexpEscape: # (new in 0.85)
155
- Enabled: true
156
- Style/RedundantSelfAssignment: # (new in 0.90)
157
- Enabled: true
158
- Style/SingleArgumentDig: # (new in 0.89)
159
- Enabled: true
160
- Style/SlicingWithRange: # (new in 0.83)
161
- Enabled: true
162
- Style/SoleNestedConditional: # (new in 0.89)
163
- Enabled: true
164
- Style/StringConcatenation: # (new in 0.89)
165
- Enabled: true
166
- Minitest/AssertInDelta: # (new in 0.10)
167
- Enabled: true
168
- Minitest/AssertionInLifecycleHook: # (new in 0.10)
169
- Enabled: true
170
- Minitest/AssertKindOf: # (new in 0.10)
171
- Enabled: true
172
- Minitest/AssertOutput: # (new in 0.10)
173
- Enabled: true
174
- Minitest/AssertPathExists: # (new in 0.10)
175
- Enabled: true
176
- Minitest/AssertSilent: # (new in 0.10)
177
- Enabled: true
178
- Minitest/LiteralAsActualArgument: # (new in 0.10)
179
- Enabled: true
180
- Minitest/MultipleAssertions: # (new in 0.10)
181
- Enabled: true
182
- Minitest/RefuteInDelta: # (new in 0.10)
183
- Enabled: true
184
- Minitest/RefuteKindOf: # (new in 0.10)
185
- Enabled: true
186
- Minitest/RefutePathExists: # (new in 0.10)
187
- Enabled: true
188
- Minitest/TestMethodName: # (new in 0.10)
189
- # This gives false positives when non-test methods exist...
190
- Enabled: false
191
- Minitest/UnspecifiedException: # (new in 0.10)
192
- Enabled: true
193
- RSpec/StubbedMock: # (new in 1.44)
194
- Enabled: true
81
+ # If I'm using one function name and returning the contents of an
82
+ # attribute, that's OK. The alternative would be this, which I find
83
+ # confusing and often not really what I mean:
84
+ #
85
+ # attr_reader :something_else
86
+ # alias_method :something, :something_else
87
+ Style/TrivialAccessors:
88
+ ExactNameMatch: true
195
89
 
196
90
  AllCops:
197
- TargetRubyVersion: 2.5
91
+ NewCops: enable
92
+ TargetRubyVersion: 2.6
93
+ Exclude:
94
+ - 'bin/*'
198
95
 
199
96
  require:
200
- - rubocop-rspec
201
- - rubocop-minitest
202
97
  - rubocop-rake
98
+ - rubocop-minitest