boxt_ruby_style_guide 7.9.0 → 8.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df02aaff031561dd78d64ead4f814ff7b3dca32ed71c6e5ca80d0921a7a57ba6
4
- data.tar.gz: c9e037578d06d41dafeaf714db0f1c2db9de4a63ab718a2188a943090301885c
3
+ metadata.gz: 5d583d02e455638a020771e97569dbb756b4933c97bbeef598d6406526da5254
4
+ data.tar.gz: c029869cb4a1572d31a0eb399574492186fabf8399019cead059ab7f5445a431
5
5
  SHA512:
6
- metadata.gz: 70be516ec5d55e77c4b0afde9fccff43f5ec2cc3f32dd57e14fca433c1e4cac544f655361994bc4e891db2d7090122e1c2c1165684776ac26f4a62c4b91344c5
7
- data.tar.gz: b727e3d6d32dc4d329f559c0bf7a482408c1f166e9f3868bd511c5734f4c740539710cdd55a99bad327a3d18cc291f1a057509283483b562b9df7227f1c481a9
6
+ metadata.gz: fe97fc94f46eb800dec54d86fdd83d6c939fa58b5b31c22f06fd2b93ac3e7abb680373b372195cceaa62650a223deefef86877d3957f7a1166fb90cba723f32b
7
+ data.tar.gz: e199fd125bab62123d0d2e0c1179bdbafd0d98d5e3e369663bc36a73cb0f3635edb9ff065687e67e5d859f703074e78b4d94ae9ab5554c12981ce6fe2e12d468
data/README.md CHANGED
@@ -1,12 +1,11 @@
1
1
  # BOXT Ruby Style Guide
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/boxt_ruby_style_guide.png)](https://badge.fury.io/rb/boxt_ruby_style_guide)
4
+
3
5
  Ruby style guide and base Rubocop settings for Boxt Ruby projects.
4
6
 
5
7
  For the most part we are using [this Ruby style guide](https://github.com/bbatsov/ruby-style-guide) as the base guide, with any deviations can be found in the `default.yml`.
6
8
 
7
- [![Gem Version](https://badge.fury.io/rb/boxt_ruby_style_guide.png)](https://badge.fury.io/rb/boxt_ruby_style_guide)
8
- [![CircleCI](https://circleci.com/gh/boxt/boxt_ruby_style_guide/tree/master.svg?style=svg)](https://circleci.com/gh/boxt/boxt_ruby_style_guide/tree/master)
9
-
10
9
  ## Installation
11
10
 
12
11
  Add this line to your application's Gemfile:
@@ -24,8 +23,6 @@ And then execute:
24
23
  bundle
25
24
  ```
26
25
 
27
- Rails apps should have access to the lint tasks by default.
28
-
29
26
  ## Usage
30
27
 
31
28
  Add a `.rubocop.yml` file to the root of your project with the following settings:
@@ -34,18 +31,20 @@ Add a `.rubocop.yml` file to the root of your project with the following setting
34
31
  inherit_gem:
35
32
  boxt_ruby_style_guide:
36
33
  - default.yml # use default cops
37
- - pending.yml # use pending cops
38
34
  - rails.yml # use Rails cops - see Additional Extensions/Cops
39
- - rails-pending.yml # use pending rails cops
40
- - rspec.yml # use rspec cops
35
+ - rspec.yml # use rspec cops - see Additional Extensions/Cops
41
36
  ```
42
37
 
38
+ ### NewCops
39
+
40
+ `NewCops` is enabled by default.
43
41
  ### Additional Extensions/Cops
44
42
 
45
43
  The following Rubocop gems are also installed with this gem:
46
44
 
47
45
  * [rubocop-faker](https://github.com/koic/rubocop-faker)
48
46
  * [rubocop-rails](https://github.com/rubocop-hq/rubocop-rails)
47
+ * [rubocop-rake](https://github.com/rubocop-hq/rubocop-rake)
49
48
  * [rubocop-rspec](https://github.com/rubocop-hq/rubocop-rspec)
50
49
 
51
50
  To enable add the following to your `.rubocop.yml` file.
@@ -58,6 +57,7 @@ inherit_gem:
58
57
  require:
59
58
  - rubocop-faker # if your project is using the Faker gem then add this
60
59
  - rubocop-rails # if your project is a Rails app/engine then add this, plus the - rails.yml setting above
60
+ - rubocop-rake # if your project is using rake then add this
61
61
  - rubocop-rspec # if your project is using rspec then add this, plus the - rspec.yml setting above
62
62
  ```
63
63
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 7.9.0
1
+ 8.0.0
data/default.yml CHANGED
@@ -1,11 +1,12 @@
1
1
  AllCops:
2
2
  Exclude:
3
- - "**/*/schema.rb"
4
- - "Gemfile.lock"
5
- - "node_modules/**/*"
6
- - "tmp/**/*"
7
- - "vendor/**/*"
8
- TargetRubyVersion: 2.7.2
3
+ - '**/*/schema.rb'
4
+ - Gemfile.lock
5
+ - node_modules/**/*
6
+ - tmp/**/*
7
+ - vendor/**/*
8
+ NewCops: enable
9
+ TargetRubyVersion: 3.0.1
9
10
  Layout/LineLength:
10
11
  Exclude:
11
12
  - config/routes.rb
@@ -15,7 +16,7 @@ Metrics/AbcSize:
15
16
  - db/migrate/**/*
16
17
  Metrics/BlockLength:
17
18
  Exclude:
18
- - "*.gemspec"
19
+ - '*.gemspec'
19
20
  - Gemfile
20
21
  - config/routes.rb
21
22
  - db/migrate/**/*
@@ -24,9 +24,7 @@ module BoxtRubyStyleGuide
24
24
  #
25
25
  # Returns Array
26
26
  def all
27
- @all ||= begin
28
- git.diff(base).name_status.select { |_, stat| TEST_STATUSES.include?(stat) }.keys
29
- end
27
+ @all ||= git.diff(base).name_status.select { |_, stat| TEST_STATUSES.include?(stat) }.keys
30
28
  end
31
29
 
32
30
  private
data/rails.yml CHANGED
@@ -1,39 +1,15 @@
1
- Rails/ActiveRecordCallbacksOrder:
2
- Enabled: true
3
- Rails/AfterCommitOverride:
4
- Enabled: true
5
1
  Rails/ApplicationController:
6
2
  Exclude:
7
3
  - spec/**/*
8
4
  - test/**/*
9
- Rails/FindById:
10
- Enabled: true
11
- Rails/Inquiry:
12
- Enabled: true
13
- Rails/MailerName:
14
- Enabled: true
15
- Rails/MatchRoute:
16
- Enabled: true
17
- Rails/NegateInclude:
18
- Enabled: true
19
- Rails/Pluck:
20
- Enabled: true
21
- Rails/PluckInWhere:
22
- Enabled: true
23
- Rails/RenderInline:
24
- Enabled: true
25
- Rails/RenderPlainText:
26
- Enabled: true
27
- Rails/ShortI18n:
28
- Enabled: true
5
+ Rails/EnvironmentVariableAccess:
6
+ AllowReads: true # Enabling allow reads so we can use ENV["VAR"]
29
7
  Rails/SkipsModelValidations:
30
8
  Exclude:
31
9
  - db/migrate/**/*
32
10
  - lib/tasks/**/*
33
11
  - spec/**/*
34
12
  - test/**/*
35
- Rails/SquishedSQLHeredocs:
36
- Enabled: true
37
13
  Rails/UnknownEnv:
38
14
  Environments:
39
15
  - cucumber
@@ -42,7 +18,3 @@ Rails/UnknownEnv:
42
18
  - qa
43
19
  - test
44
20
  - uat
45
- Rails/WhereExists:
46
- Enabled: true
47
- Rails/WhereNot:
48
- Enabled: true
data/rspec.yml CHANGED
@@ -1 +1,9 @@
1
- # Rspec specific cops
1
+ # Disabling as we set up the rake specs as 'describe "rake namespace:task", type: :task do' which determines what task
2
+ # is being tested, and this cop doesn't like having a describe block without a class or module name.
3
+ RSpec/DescribeClass:
4
+ Exclude:
5
+ - spec/tasks/**/*
6
+ # This is to prevent Rubocop from bugging on a spec helper that doesn't contain an example, which the tasks ones don't
7
+ RSpec/LeadingSubject:
8
+ Exclude:
9
+ - spec/support
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boxt_ruby_style_guide
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.9.0
4
+ version: 8.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Boxt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-02 00:00:00.000000000 Z
11
+ date: 2021-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: git
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 1.9.1
33
+ version: 1.15.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: 1.9.1
40
+ version: 1.15.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rubocop-faker
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 2.9.1
61
+ version: 2.10.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 2.9.1
68
+ version: 2.10.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rubocop-rake
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -86,132 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 2.1.0
89
+ version: 2.3.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 2.1.0
97
- - !ruby/object:Gem::Dependency
98
- name: bundler
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '2.1'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '2.1'
111
- - !ruby/object:Gem::Dependency
112
- name: bundler-audit
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: 0.7.0.1
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: 0.7.0.1
125
- - !ruby/object:Gem::Dependency
126
- name: byebug
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: rails
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">"
144
- - !ruby/object:Gem::Version
145
- version: '5'
146
- - - "<"
147
- - !ruby/object:Gem::Version
148
- version: '7'
149
- type: :development
150
- prerelease: false
151
- version_requirements: !ruby/object:Gem::Requirement
152
- requirements:
153
- - - ">"
154
- - !ruby/object:Gem::Version
155
- version: '5'
156
- - - "<"
157
- - !ruby/object:Gem::Version
158
- version: '7'
159
- - !ruby/object:Gem::Dependency
160
- name: rake
161
- requirement: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - "~>"
164
- - !ruby/object:Gem::Version
165
- version: '13.0'
166
- type: :development
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - "~>"
171
- - !ruby/object:Gem::Version
172
- version: '13.0'
173
- - !ruby/object:Gem::Dependency
174
- name: rspec
175
- requirement: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - "~>"
178
- - !ruby/object:Gem::Version
179
- version: '3.9'
180
- type: :development
181
- prerelease: false
182
- version_requirements: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - "~>"
185
- - !ruby/object:Gem::Version
186
- version: '3.9'
187
- - !ruby/object:Gem::Dependency
188
- name: rspec-nc
189
- requirement: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - "~>"
192
- - !ruby/object:Gem::Version
193
- version: '0.3'
194
- type: :development
195
- prerelease: false
196
- version_requirements: !ruby/object:Gem::Requirement
197
- requirements:
198
- - - "~>"
199
- - !ruby/object:Gem::Version
200
- version: '0.3'
201
- - !ruby/object:Gem::Dependency
202
- name: simplecov
203
- requirement: !ruby/object:Gem::Requirement
204
- requirements:
205
- - - "~>"
206
- - !ruby/object:Gem::Version
207
- version: '0.19'
208
- type: :development
209
- prerelease: false
210
- version_requirements: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - "~>"
213
- - !ruby/object:Gem::Version
214
- version: '0.19'
96
+ version: 2.3.0
215
97
  description: Ruby styleguide info for the BOXT projects, as well as config settings
216
98
  for Rubocop
217
99
  email:
@@ -231,8 +113,6 @@ files:
231
113
  - lib/boxt_ruby_style_guide/railtie.rb
232
114
  - lib/boxt_ruby_style_guide/version.rb
233
115
  - lib/tasks/lint.rake
234
- - pending.yml
235
- - rails-pending.yml
236
116
  - rails.yml
237
117
  - rspec.yml
238
118
  homepage: https://github.com/boxt/ruby-style-guide
@@ -247,14 +127,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
247
127
  requirements:
248
128
  - - ">="
249
129
  - !ruby/object:Gem::Version
250
- version: '2.7'
130
+ version: '3.0'
251
131
  required_rubygems_version: !ruby/object:Gem::Requirement
252
132
  requirements:
253
133
  - - ">="
254
134
  - !ruby/object:Gem::Version
255
135
  version: '0'
256
136
  requirements: []
257
- rubygems_version: 3.1.4
137
+ rubygems_version: 3.2.15
258
138
  signing_key:
259
139
  specification_version: 4
260
140
  summary: Ruby styleguide info for the BOXT Ruby projects
data/pending.yml DELETED
@@ -1,103 +0,0 @@
1
- # These cops are currently pending and will be enabled by default at some point, but adding for now to stop Rubocop
2
- # or VSCode complaining...
3
- AllCops:
4
- NewCops: enable
5
- # Layout/BeginEndAlignment: # (new in 0.91)
6
- # Enabled: true
7
- # Layout/EmptyLinesAroundAttributeAccessor: # (new in 0.83)
8
- # Enabled: true
9
- # Layout/SpaceAroundMethodCallOperator: # (new in 0.82)
10
- # Enabled: true
11
- # Lint/BinaryOperatorWithIdenticalOperands: # (new in 0.89)
12
- # Enabled: true
13
- # Lint/ConstantDefinitionInBlock: # (new in 0.91)
14
- # Enabled: true
15
- # Lint/DeprecatedOpenSSLConstant: # (new in 0.84)
16
- # Enabled: true
17
- # Lint/DuplicateElsifCondition: # (new in 0.88)
18
- # Enabled: true
19
- # Lint/DuplicateRequire: # (new in 0.90)
20
- # Enabled: true
21
- # Lint/DuplicateRescueException: # (new in 0.89)
22
- # Enabled: true
23
- # Lint/EmptyConditionalBody: # (new in 0.89)
24
- # Enabled: true
25
- # Lint/EmptyFile: # (new in 0.90)
26
- # Enabled: true
27
- # Lint/FloatComparison: # (new in 0.89)
28
- # Enabled: true
29
- # Lint/IdentityComparison: # (new in 0.91)
30
- # Enabled: true
31
- # Lint/MissingSuper: # (new in 0.89)
32
- # Enabled: true
33
- # Lint/MixedRegexpCaptureTypes: # (new in 0.85)
34
- # Enabled: true
35
- # Lint/OutOfRangeRegexpRef: # (new in 0.89)
36
- # Enabled: true
37
- # Lint/RaiseException: # (new in 0.81)
38
- # Enabled: true
39
- # Lint/SelfAssignment: # (new in 0.89)
40
- # Enabled: true
41
- # Lint/StructNewOverride: # (new in 0.81)
42
- # Enabled: true
43
- # Lint/TopLevelReturnWithArgument: # (new in 0.89)
44
- # Enabled: true
45
- # Lint/TrailingCommaInAttributeDeclaration: # (new in 0.90)
46
- # Enabled: true
47
- # Lint/UnreachableLoop: # (new in 0.89)
48
- # Enabled: true
49
- # Lint/UselessMethodDefinition: # (new in 0.90)
50
- # Enabled: true
51
- # Lint/UselessTimes: # (new in 0.91)
52
- # Enabled: true
53
- # Style/AccessorGrouping: # (new in 0.87)
54
- # Enabled: true
55
- # Style/ArrayCoercion: # (new in 0.88)
56
- # Enabled: true
57
- # Style/BisectedAttrAccessor: # (new in 0.87)
58
- # Enabled: true
59
- # Style/CaseLikeIf: # (new in 0.88)
60
- # Enabled: true
61
- # Style/CombinableLoops: # (new in 0.90)
62
- # Enabled: true
63
- # Style/ExplicitBlockArgument: # (new in 0.89)
64
- # Enabled: true
65
- # Style/ExponentialNotation: # (new in 0.82)
66
- # Enabled: true
67
- # Style/GlobalStdStream: # (new in 0.89)
68
- # Enabled: true
69
- # Style/HashAsLastArrayItem: # (new in 0.88)
70
- # Enabled: true
71
- # Style/HashEachMethods: # (new in 0.80)
72
- # Enabled: true
73
- # Style/HashLikeCase: # (new in 0.88)
74
- # Enabled: true
75
- # Style/HashTransformKeys: # (new in 0.80)
76
- # Enabled: true
77
- # Style/HashTransformValues: # (new in 0.80)
78
- # Enabled: true
79
- # Style/KeywordParametersOrder: # (new in 0.90)
80
- # Enabled: true
81
- # Style/OptionalBooleanParameter: # (new in 0.89)
82
- # Enabled: true
83
- # Style/RedundantAssignment: # (new in 0.87)
84
- # Enabled: true
85
- # Style/RedundantFetchBlock: # (new in 0.86)
86
- # Enabled: true
87
- # Style/RedundantFileExtensionInRequire: # (new in 0.88)
88
- # Enabled: true
89
- # Style/RedundantRegexpCharacterClass: # (new in 0.85)
90
- # Enabled: true
91
- # Style/RedundantRegexpEscape: # (new in 0.85)
92
- # Enabled: true
93
- # Style/RedundantSelfAssignment: # (new in 0.90)
94
- # Enabled: true
95
- # Style/SingleArgumentDig: # (new in 0.89)
96
- # Enabled: true
97
- # Style/SlicingWithRange: # (new in 0.83)
98
- # Enabled: true
99
- # Style/SoleNestedConditional: # (new in 0.89)
100
- # Enabled: true
101
- # Style/StringConcatenation: # (new in 0.89)
102
- # Enabled: true
103
- # For more information: https://docs.rubocop.org/rubocop/versioning.html
data/rails-pending.yml DELETED
@@ -1,32 +0,0 @@
1
- # These cops are currently pending and will be enabled by default at some point, but adding for now to stop Rubocop
2
- # or VSCode complaining...
3
- Rails/ActiveRecordCallbacksOrder:
4
- Enabled: true
5
- Rails/AfterCommitOverride:
6
- Enabled: true
7
- Rails/FindById:
8
- Enabled: true
9
- Rails/Inquiry:
10
- Enabled: true
11
- Rails/MailerName:
12
- Enabled: true
13
- Rails/MatchRoute:
14
- Enabled: true
15
- Rails/NegateInclude:
16
- Enabled: true
17
- Rails/Pluck:
18
- Enabled: true
19
- Rails/PluckInWhere:
20
- Enabled: true
21
- Rails/RenderInline:
22
- Enabled: true
23
- Rails/RenderPlainText:
24
- Enabled: true
25
- Rails/ShortI18n:
26
- Enabled: true
27
- Rails/SquishedSQLHeredocs:
28
- Enabled: true
29
- Rails/WhereExists:
30
- Enabled: true
31
- Rails/WhereNot:
32
- Enabled: true