checkoff 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +117 -12
- data/.envrc +1 -1
- data/.git-hooks/pre-commit/circle_ci.rb +21 -0
- data/.gitignore +41 -1
- data/.overcommit.yml +24 -12
- data/.rubocop.yml +61 -167
- data/.yamllint.yml +8 -0
- data/CODE_OF_CONDUCT.md +6 -42
- data/Gemfile.lock +132 -0
- data/{LICENSE.txt → LICENSE} +7 -6
- data/Makefile +33 -18
- data/README.md +13 -2
- data/bin/bump +29 -0
- data/bin/rake +29 -0
- data/checkoff.gemspec +5 -2
- data/docs/cookiecutter_input.json +13 -0
- data/fix.sh +274 -0
- data/lib/checkoff/cli.rb +4 -0
- data/lib/checkoff/projects.rb +4 -4
- data/lib/checkoff/sections.rb +8 -3
- data/lib/checkoff/version.rb +1 -1
- data/requirements_dev.txt +1 -0
- metadata +63 -17
- data/.travis.yml +0 -22
- data/lib/tasks/clear_metrics.rake +0 -8
- data/lib/tasks/localtest.rake +0 -4
- data/lib/tasks/quality.rake +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57e69538d14498144e6587146af712357df75cbc88c9c6ed5aca9179d8c68ad0
|
4
|
+
data.tar.gz: a61d58c6cd36f1cab26f8122207f5dfd0744a39bb17429e95b19d8ccd2e65a40
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0cfb597bbd0911486b1b4538ada6ecf9aa708bddc88c14722f554581304093b7278fa7a8204ac3ea96ed48b7ff4cc0b67474839556c05d7f097dff01e3b271d9
|
7
|
+
data.tar.gz: e25f408dd5c067c6663a2eec4832c010f40a9423d35f031233c79d232719355a21a3b3232b31c03b0694a4e15b00ad4f3ce243229e8e8a68b6c19cca9dbd5560
|
data/.circleci/config.yml
CHANGED
@@ -1,17 +1,122 @@
|
|
1
|
-
|
1
|
+
---
|
2
|
+
version: 2.1
|
3
|
+
|
4
|
+
commands:
|
5
|
+
set_up_environment:
|
6
|
+
description: "Install source environment"
|
7
|
+
steps:
|
8
|
+
- checkout
|
9
|
+
- run: |
|
10
|
+
sed -E -e 's/checkoff \([[:digit:]]+.[[:digit:]]+.[[:digit:]]+\)/checkoff (0.1.0)/g' \
|
11
|
+
Gemfile.lock > Gemfile.lock.deversioned
|
12
|
+
- restore_cache:
|
13
|
+
key: gems-v4-{{ checksum "Gemfile.lock.deversioned" }}
|
14
|
+
- restore_cache:
|
15
|
+
key: ruby-and-python-v4-{{ checksum "fix.sh" }}
|
16
|
+
- run:
|
17
|
+
name: Initialize packages
|
18
|
+
command: |
|
19
|
+
export BUNDLE_PATH=vendor/bundle
|
20
|
+
'./fix.sh'
|
21
|
+
- run:
|
22
|
+
name: Verify Gemfile.lock
|
23
|
+
command: |
|
24
|
+
if ! git diff --exit-code Gemfile.lock
|
25
|
+
then
|
26
|
+
>&2 echo "Please resolve changes to Gemfile.lock after bundle install to avoid caching difficulties"
|
27
|
+
exit 1
|
28
|
+
fi
|
29
|
+
- save_cache:
|
30
|
+
key: ruby-and-python-v4-{{ checksum "fix.sh" }}
|
31
|
+
paths:
|
32
|
+
- "/home/circleci/.rbenv"
|
33
|
+
- "/home/circleci/.pyenv"
|
34
|
+
- save_cache:
|
35
|
+
key: gems-v4-{{ checksum "Gemfile.lock.deversioned" }}
|
36
|
+
paths:
|
37
|
+
- "vendor/bundle"
|
38
|
+
- run:
|
39
|
+
name: Download new circleci tool
|
40
|
+
command: |
|
41
|
+
curl -fLSs \
|
42
|
+
https://raw.githubusercontent.com/CircleCI-Public/circleci-cli/master/install.sh | sudo bash
|
43
|
+
overcommit:
|
44
|
+
description: "Run overcommit"
|
45
|
+
steps:
|
46
|
+
- set_up_environment
|
47
|
+
- run:
|
48
|
+
name: Download new circleci tool
|
49
|
+
command: |
|
50
|
+
curl -fLSs \
|
51
|
+
https://raw.githubusercontent.com/CircleCI-Public/circleci-cli/master/install.sh | sudo bash
|
52
|
+
- run:
|
53
|
+
name: Run overcommit
|
54
|
+
command: |
|
55
|
+
export PATH="${HOME}/.pyenv/bin:${PATH}"
|
56
|
+
export PATH="${HOME}/.rbenv/bin:${HOME}/.rbenv/shims:${PATH}"
|
57
|
+
eval "$(pyenv init -)"
|
58
|
+
eval "$(pyenv virtualenv-init -)"
|
59
|
+
eval "$(rbenv init -)"
|
60
|
+
export BUNDLE_PATH=vendor/bundle
|
61
|
+
# Coax overcommit into working
|
62
|
+
git config --global user.email "test@test.test"
|
63
|
+
git config --global user.name "Test Test"
|
64
|
+
bundle exec overcommit --sign
|
65
|
+
bundle exec overcommit --sign pre-commit
|
66
|
+
|
67
|
+
bundle exec overcommit --run
|
68
|
+
environment:
|
69
|
+
# https://app.circleci.com/pipelines/github/apiology/cookiecutter-pypackage/4/workflows/29074dc8-944c-4600-8aaa-5116575fed90/jobs/4
|
70
|
+
"LC_ALL": "C.UTF-8"
|
71
|
+
"LANG": "C.UTF-8"
|
72
|
+
|
2
73
|
jobs:
|
74
|
+
overcommit:
|
75
|
+
docker:
|
76
|
+
- image: apiology/circleci:latest
|
77
|
+
steps:
|
78
|
+
- when:
|
79
|
+
condition:
|
80
|
+
equal: [<< pipeline.git.branch >>, "main"]
|
81
|
+
steps:
|
82
|
+
- overcommit
|
83
|
+
- unless:
|
84
|
+
condition:
|
85
|
+
equal: [<< pipeline.git.branch >>, "main"]
|
86
|
+
steps:
|
87
|
+
- run: echo "overcommit only runs on main branch"
|
3
88
|
build:
|
4
89
|
working_directory: ~/checkoff
|
5
90
|
docker:
|
6
|
-
- image: apiology/circleci
|
91
|
+
- image: apiology/circleci:latest
|
7
92
|
steps:
|
8
|
-
-
|
9
|
-
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
93
|
+
- set_up_environment
|
94
|
+
- run:
|
95
|
+
command: |
|
96
|
+
export PATH="${HOME}/.pyenv/bin:${PATH}"
|
97
|
+
export PATH="${HOME}/.rbenv/bin:${HOME}/.rbenv/shims:${PATH}"
|
98
|
+
eval "$(pyenv init -)"
|
99
|
+
eval "$(pyenv virtualenv-init -)"
|
100
|
+
eval "$(rbenv init -)"
|
101
|
+
export BUNDLE_PATH=vendor/bundle
|
102
|
+
|
103
|
+
make test
|
104
|
+
|
105
|
+
workflows:
|
106
|
+
version: 2
|
107
|
+
weekly:
|
108
|
+
triggers:
|
109
|
+
- schedule:
|
110
|
+
cron: "0 0 * * 6"
|
111
|
+
filters:
|
112
|
+
branches:
|
113
|
+
only:
|
114
|
+
- main
|
115
|
+
jobs:
|
116
|
+
- build
|
117
|
+
overcommit:
|
118
|
+
jobs:
|
119
|
+
- overcommit
|
120
|
+
build:
|
121
|
+
jobs:
|
122
|
+
- build
|
data/.envrc
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
PATH_add bin
|
2
|
-
eval $(with-op op-env sh)
|
2
|
+
eval $(with-op op-env sh -e ASANA__PERSONAL_ACCESS_TOKEN)
|
@@ -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,52 @@
|
|
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
|
+
# Installed by fix.sh based on what latest versions are
|
38
|
+
/.python-version
|
39
|
+
|
40
|
+
# Ruby-related
|
1
41
|
/.bundle/
|
2
42
|
/.yardoc
|
3
|
-
/Gemfile.lock
|
4
43
|
/_yardoc/
|
5
44
|
/doc/
|
6
45
|
/pkg/
|
7
46
|
/spec/reports/
|
8
47
|
/tmp/
|
9
48
|
/coverage/.resultset.json
|
49
|
+
/coverage/.resultset.json.lock
|
10
50
|
/coverage/assets/
|
11
51
|
/coverage/index.html
|
12
52
|
/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,18 +20,29 @@ PreCommit:
|
|
19
20
|
RuboCop:
|
20
21
|
enabled: true
|
21
22
|
on_warn: fail # Treat all warnings as failures
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
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
|
+
ShellCheck:
|
35
|
+
enabled: true
|
36
|
+
on_warn: fail
|
37
|
+
YamlLint:
|
38
|
+
enabled: true
|
39
|
+
on_warn: fail
|
40
|
+
CircleCi:
|
41
|
+
required_executable: 'circleci'
|
42
|
+
flags: ['config', 'validate']
|
43
|
+
include:
|
44
|
+
- '.circleci/config.yml'
|
45
|
+
enabled: true
|
34
46
|
|
35
47
|
PrePush:
|
36
48
|
Minitest:
|
data/.rubocop.yml
CHANGED
@@ -1,30 +1,55 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
EnforcedStyleForMultiline: comma
|
1
|
+
---
|
2
|
+
Layout/LineLength:
|
3
|
+
Max: 120
|
5
4
|
|
6
|
-
|
7
|
-
|
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
|
-
#
|
15
|
-
#
|
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
|
-
#
|
19
|
-
|
20
|
-
|
21
|
-
|
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
|
-
|
52
|
+
Keywords:
|
28
53
|
- "TOD\
|
29
54
|
O"
|
30
55
|
- "FIXM\
|
@@ -38,167 +63,36 @@ Style/CommentAnnotation:
|
|
38
63
|
- "XX\
|
39
64
|
X"
|
40
65
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
-
|
46
|
-
|
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
|
-
#
|
52
|
-
#
|
53
|
-
|
54
|
-
|
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/
|
64
|
-
|
65
|
-
SupportedStyles:
|
66
|
-
- single_quotes
|
67
|
-
- double_quotes
|
68
|
-
ConsistentQuotesInMultiline: true
|
78
|
+
Style/TrailingCommaInHashLiteral:
|
79
|
+
EnforcedStyleForMultiline: comma
|
69
80
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
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:
|
91
|
+
NewCops: enable
|
197
92
|
TargetRubyVersion: 2.5
|
198
93
|
Exclude:
|
199
94
|
- 'bin/*'
|
200
95
|
|
201
96
|
require:
|
202
|
-
- rubocop-rspec
|
203
|
-
- rubocop-minitest
|
204
97
|
- rubocop-rake
|
98
|
+
- rubocop-minitest
|