upennlib-rubocop 1.1.1 → 1.2.1

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
- SHA1:
3
- metadata.gz: eeff03b0bc10f86b0dc4ef076ef92be8df0a9d7b
4
- data.tar.gz: 8baa194ca0391945f642d4b5789281aad3a52ac4
2
+ SHA256:
3
+ metadata.gz: 396c027793121f4c66d9ee47040601ec05ff62924fcfadc4f79103cd5065c470
4
+ data.tar.gz: 00345a35d34b8c8ff1e1b5c7d11d5c4789b43937c988b57794e2196eb7da49c9
5
5
  SHA512:
6
- metadata.gz: 1b93a313a9135f416082c4e98a9ba83ff2be608b34477d494d029b06b24b4c729575ecc1ca799300e86781525f9b5cc102cb3494087f8955ff064e5982626416
7
- data.tar.gz: 124d074ab6d45319c7d9024c22762de160af2a36c571312662b8e08f6a1dc9bd87603c04a90f291590940a0e7b3260600734e51d66de7312e1427676e5eb3d2d
6
+ metadata.gz: f422f6fc9a38b9386514fb0f1dd517a9026793a8ddba86f6f54780ab008c5c8a99d03ac57822f95af4f41ca481c6dce8a4c9a39182c87aaf504f9e56c70da27d
7
+ data.tar.gz: 1540054b25228fd6a31905ce10d99260db37bcf29d322226ef184ef1a7f8cdbae2c471d718a14b18ada254bcc79bb6c136e57848c939da0d4dad852257c59ce6
data/README.md CHANGED
@@ -4,13 +4,12 @@
4
4
  ## Purpose
5
5
  This gem will centralize our RuboCop configuration and ensure we are using the same version of RuboCop across various projects. Projects that use this gem should avoid adding their own custom, project-specific RuboCop configuration. Instead developers should make an MR to this project with the suggested changes and an explanation as to why its necessary. The goal of this gem is to avoid having projects with different RuboCop rules because it makes it hard for developers to focus on writing code if the style changes from project to project.
6
6
 
7
-
8
7
  ## Installation & Usage
9
8
 
10
9
  Add this line to your Gemfile:
11
10
 
12
11
  ```ruby
13
- gem 'upennlib-rubocop', require: false
12
+ gem 'upennlib-rubocop', '~> 1.0', require: false
14
13
  ```
15
14
 
16
15
  And then execute:
@@ -33,6 +32,10 @@ Understandably, it can be difficult to address all RuboCop issues when adding ru
33
32
  rubocop --auto-gen-config --auto-gen-only-exclude --exclude-limit 10000
34
33
  ```
35
34
 
35
+ # Versioning
36
+ The major versions of this gem will mirror the major RuboCop versions. New cops are disabled and new offenses will have
37
+ to be addressed when upgrading to a major version.
38
+
36
39
  ## Publishing Gem
37
40
  To publish a new version of this gem to RubyGems:
38
41
  1. Update the version number in `upennlib-rubocop.gemspec`
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'upennlib-rubocop'
3
- s.version = '1.1.1'
3
+ s.version = '1.2.1'
4
4
  s.summary = "Rubocop style configuration to be used in UPenn Libraries Projects"
5
5
  s.description = "UPenn Libraries Rubocop Configuration"
6
6
  s.authors = ["Carla Galarza", "Mike Kanning", "Patrick Perkins", "Amrey Mathurin"]
@@ -10,7 +10,7 @@ inherit_mode:
10
10
  - Exclude # Merging exclude array values, instead of overriding
11
11
 
12
12
  AllCops:
13
- NewCops: enable # Enabling all new cops. Problematic cops can be disabled on a case-by-case basis.
13
+ NewCops: disable # Disabling all new cops. New offenses will be addresses with major upgrades.
14
14
 
15
15
  # Allow for hashes to be aligned by `key` or in a `table` format. Default is just to allow `key`.
16
16
  Layout/HashAlignment:
@@ -26,6 +26,14 @@ Layout/HashAlignment:
26
26
  Lint/MissingSuper:
27
27
  Enabled: false
28
28
 
29
+ # Share default values for CountAsOne
30
+ shared_count_as_one: &shared_count_as_one
31
+ - array
32
+ - hash
33
+ - heredoc
34
+ - method_call
35
+
36
+ # When counting lines in blocks, ignore some files and methods, and treat multiline literals as one
29
37
  Metrics/BlockLength:
30
38
  AllowedMethods: ['configure_blacklight']
31
39
  Exclude:
@@ -33,18 +41,28 @@ Metrics/BlockLength:
33
41
  - '**/*.rake'
34
42
  - 'spec/**/*.rb'
35
43
  - 'config/environments/**.rb'
44
+ CountAsOne: *shared_count_as_one
45
+
46
+ # Count multiline literals as one line in classes
47
+ Metrics/ClassLength:
48
+ CountAsOne: *shared_count_as_one
49
+
50
+ # Count multiline literals as one line in methods
51
+ Metrics/MethodLength:
52
+ CountAsOne: *shared_count_as_one
36
53
 
37
54
  # Count multiline literals as one line in RSpec examples
38
55
  RSpec/ExampleLength:
39
- CountAsOne:
40
- - array
41
- - hash
42
- - heredoc
56
+ CountAsOne: *shared_count_as_one
43
57
 
44
58
  # Allowing two expectations per test in order to allow for aggregated failures, see: https://rspec.rubystyle.guide/#expectation-per-example
45
59
  RSpec/MultipleExpectations:
46
60
  Max: 2
47
61
 
62
+ # Allow for additional nesting of context/describe blocks, see: https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnestedgroups
63
+ RSpec/NestedGroups:
64
+ Max: 4
65
+
48
66
  Style/BlockDelimiters:
49
67
  EnforcedStyle: braces_for_chaining
50
68
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upennlib-rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carla Galarza
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2023-10-16 00:00:00.000000000 Z
14
+ date: 2025-04-09 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rubocop
@@ -125,8 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
125
  - !ruby/object:Gem::Version
126
126
  version: '0'
127
127
  requirements: []
128
- rubyforge_project:
129
- rubygems_version: 2.5.2
128
+ rubygems_version: 3.0.3.1
130
129
  signing_key:
131
130
  specification_version: 4
132
131
  summary: Rubocop style configuration to be used in UPenn Libraries Projects