rubocop-fjord 0.3.0 → 0.4.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: 38430b4227041ad8ffd146ecfadce943ca4bbdbe4f460f09e1710f1f04f70ab6
4
- data.tar.gz: aa261ac4f18072ad84bce6806f0136b0d49946a2066009b757422269bcadb1ea
3
+ metadata.gz: 52d63571d796cb672b19a6ba7fab1df8fa3acf9824442fb974cea3ca5601780c
4
+ data.tar.gz: 6ccc96d1d5f8158cc355d6f6012856cec60fe83a1a0d8a64e8c66090cbaafc11
5
5
  SHA512:
6
- metadata.gz: 801af73dca5ca5e83be8748d52d1f2be64bf3b66ba169e51abd24c69de8e4456256d1a86287c05adb4efef83a8121662b63941fd4683cd946d7d1950d62855ab
7
- data.tar.gz: 320debc32e17f0accc2c79b4dd9b54c5cd3de6adc8efa55e106ba19739961d6a6bc177a786a48d4c1d586cd9fc42be3b2d99d9f70ed610850d718c2e3a565813
6
+ metadata.gz: f677fc80f48d22d9cb2811a1a454e5a4d5e9640e7d69cf0c539ddde9e418ee8f60f3886900c2bd9e78668d31c72a91d3088243254c6d961bc88ce2114376f8cd
7
+ data.tar.gz: 0f100bdafe68886bafc7d58f0c8c8f7508c076744bde963cc98e6c39a0a7b47928223a9b0d8701721aa8af70201e6103fc1b097880d3e6af08cf0de9beb4290e
data/CLAUDE.md ADDED
@@ -0,0 +1,61 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ rubocop-fjord is a RuboCop configuration gem that provides standardized Ruby and Rails linting rules for Fjord, Inc. It packages two primary configuration files that are inherited by consuming projects.
8
+
9
+ ## Architecture
10
+
11
+ This is a configuration-as-code gem with minimal Ruby code:
12
+
13
+ - **Configuration Files**: The core value is in `config/rubocop.yml` (base Ruby rules) and `config/rails.yml` (Rails-specific rules and exclusions)
14
+ - **Module Structure**: Simple module definition in `lib/rubocop/fjord.rb` with version in `lib/rubocop/fjord/version.rb`
15
+ - **Consumption Pattern**: Projects inherit these configurations via `inherit_gem:` in their `.rubocop.yml`
16
+
17
+ ### Key Configuration Decisions
18
+
19
+ The base configuration (`config/rubocop.yml`):
20
+ - Requires `rubocop-performance` plugin
21
+ - Targets Ruby 3.2+, disables new cops by default
22
+ - Relaxes line length to 160 characters
23
+ - Disables documentation requirements and several metrics cops
24
+ - Excludes performance cops from tests
25
+
26
+ The Rails configuration (`config/rails.yml`):
27
+ - Requires `rubocop-rails` plugin
28
+ - Excludes common Rails directories (views, config, migrations, vendor, node_modules, etc.)
29
+ - Uses pattern `db/*schema.rb` to match both `schema.rb` and Rails 8's `schema_cache.rb`
30
+
31
+ ## Development Commands
32
+
33
+ ### Setup
34
+ ```bash
35
+ bin/setup # Install dependencies
36
+ ```
37
+
38
+ ### Testing
39
+ ```bash
40
+ rake test # Run all tests
41
+ bundle exec rake test # Explicit bundler invocation
42
+ ```
43
+
44
+ ### Gem Management
45
+ ```bash
46
+ bundle exec rake install # Install gem locally for testing
47
+ bundle exec rake release # Tag, build, and push to RubyGems (bumps version)
48
+ ```
49
+
50
+ ### Version Updates
51
+
52
+ 1. Update version in `lib/rubocop/fjord/version.rb`
53
+ 2. Run `bundle exec rake release` to tag and publish
54
+
55
+ ## Testing Configuration Changes
56
+
57
+ To test configuration changes in a consuming project:
58
+ 1. Make changes to `config/rubocop.yml` or `config/rails.yml`
59
+ 2. Run `bundle exec rake install` to install locally
60
+ 3. In consuming project, run `bundle update rubocop-fjord` (with local gem source)
61
+ 4. Run `rubocop` to verify behavior
data/Gemfile.lock CHANGED
@@ -1,47 +1,60 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rubocop-fjord (0.1.4)
4
+ rubocop-fjord (0.3.1)
5
5
  rubocop (>= 1.0)
6
6
  rubocop-performance
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- ast (2.4.2)
12
- minitest (5.14.2)
13
- parallel (1.20.1)
14
- parser (3.0.2.0)
11
+ ast (2.4.3)
12
+ json (2.13.1)
13
+ language_server-protocol (3.17.0.5)
14
+ lint_roller (1.1.0)
15
+ minitest (5.25.5)
16
+ parallel (1.27.0)
17
+ parser (3.3.9.0)
15
18
  ast (~> 2.4.1)
16
- rainbow (3.0.0)
19
+ racc
20
+ prism (1.4.0)
21
+ racc (1.8.1)
22
+ rainbow (3.1.1)
17
23
  rake (10.5.0)
18
- regexp_parser (2.1.1)
19
- rexml (3.2.5)
20
- rubocop (1.18.4)
24
+ regexp_parser (2.10.0)
25
+ rubocop (1.79.0)
26
+ json (~> 2.3)
27
+ language_server-protocol (~> 3.17.0.2)
28
+ lint_roller (~> 1.1.0)
21
29
  parallel (~> 1.10)
22
- parser (>= 3.0.0.0)
30
+ parser (>= 3.3.0.2)
23
31
  rainbow (>= 2.2.2, < 4.0)
24
- regexp_parser (>= 1.8, < 3.0)
25
- rexml
26
- rubocop-ast (>= 1.8.0, < 2.0)
32
+ regexp_parser (>= 2.9.3, < 3.0)
33
+ rubocop-ast (>= 1.46.0, < 2.0)
27
34
  ruby-progressbar (~> 1.7)
28
- unicode-display_width (>= 1.4.0, < 3.0)
29
- rubocop-ast (1.8.0)
30
- parser (>= 3.0.1.1)
31
- rubocop-performance (1.11.4)
32
- rubocop (>= 1.7.0, < 2.0)
33
- rubocop-ast (>= 0.4.0)
34
- ruby-progressbar (1.11.0)
35
- unicode-display_width (2.0.0)
35
+ tsort (>= 0.2.0)
36
+ unicode-display_width (>= 2.4.0, < 4.0)
37
+ rubocop-ast (1.46.0)
38
+ parser (>= 3.3.7.2)
39
+ prism (~> 1.4)
40
+ rubocop-performance (1.25.0)
41
+ lint_roller (~> 1.1)
42
+ rubocop (>= 1.75.0, < 2.0)
43
+ rubocop-ast (>= 1.38.0, < 2.0)
44
+ ruby-progressbar (1.13.0)
45
+ tsort (0.2.0)
46
+ unicode-display_width (3.1.4)
47
+ unicode-emoji (~> 4.0, >= 4.0.4)
48
+ unicode-emoji (4.0.4)
36
49
 
37
50
  PLATFORMS
38
51
  ruby
39
52
 
40
53
  DEPENDENCIES
41
- bundler (~> 1.17)
54
+ bundler (~> 2.0)
42
55
  minitest (~> 5.0)
43
56
  rake (~> 10.0)
44
57
  rubocop-fjord!
45
58
 
46
59
  BUNDLED WITH
47
- 1.17.2
60
+ 2.6.5
data/config/rails.yml CHANGED
@@ -1,6 +1,3 @@
1
- require:
2
- - rubocop-rails
3
-
4
1
  AllCops:
5
2
  Exclude:
6
3
  - '**/templates/**/*'
@@ -10,7 +7,7 @@ AllCops:
10
7
  - 'config.ru'
11
8
  - 'node_modules/**/*'
12
9
  - 'db/migrate/*'
13
- - 'db/schema.rb'
10
+ - 'db/*schema.rb'
14
11
  - 'storage/**/*'
15
12
  - 'tmp/**/*'
16
13
  - 'bin/**/*'
data/config/rubocop.yml CHANGED
@@ -1,11 +1,7 @@
1
- require:
2
- - rubocop-performance
3
-
4
1
  AllCops:
5
- TargetRubyVersion: 3.1
2
+ TargetRubyVersion: 3.2
6
3
  NewCops: disable
7
-
8
- Performance:
4
+ SuggestExtensions: false
9
5
  Exclude:
10
6
  - '**/test/**/*'
11
7
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Rubocop
4
4
  module Fjord
5
- VERSION = '0.3.0'
5
+ VERSION = '0.4.0'
6
6
  end
7
7
  end
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency 'rubocop', '>= 1.0'
29
29
  spec.add_dependency 'rubocop-performance'
30
30
 
31
- spec.add_development_dependency 'bundler', '~> 1.17'
31
+ spec.add_development_dependency 'bundler', '~> 2.0'
32
32
  spec.add_development_dependency 'minitest', '~> 5.0'
33
33
  spec.add_development_dependency 'rake', '~> 10.0'
34
34
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-fjord
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masaki Komagata
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2023-04-17 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rubocop
@@ -44,14 +43,14 @@ dependencies:
44
43
  requirements:
45
44
  - - "~>"
46
45
  - !ruby/object:Gem::Version
47
- version: '1.17'
46
+ version: '2.0'
48
47
  type: :development
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - "~>"
53
52
  - !ruby/object:Gem::Version
54
- version: '1.17'
53
+ version: '2.0'
55
54
  - !ruby/object:Gem::Dependency
56
55
  name: minitest
57
56
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +79,6 @@ dependencies:
80
79
  - - "~>"
81
80
  - !ruby/object:Gem::Version
82
81
  version: '10.0'
83
- description:
84
82
  email:
85
83
  - komagata@gmail.com
86
84
  executables: []
@@ -90,6 +88,7 @@ files:
90
88
  - ".gitignore"
91
89
  - ".rubocop.yml"
92
90
  - ".travis.yml"
91
+ - CLAUDE.md
93
92
  - CODE_OF_CONDUCT.md
94
93
  - Gemfile
95
94
  - Gemfile.lock
@@ -107,7 +106,6 @@ homepage: https://github.com/fjordllc/rubocop-fjord
107
106
  licenses:
108
107
  - MIT
109
108
  metadata: {}
110
- post_install_message:
111
109
  rdoc_options: []
112
110
  require_paths:
113
111
  - lib
@@ -122,8 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
120
  - !ruby/object:Gem::Version
123
121
  version: '0'
124
122
  requirements: []
125
- rubygems_version: 3.3.7
126
- signing_key:
123
+ rubygems_version: 3.7.2
127
124
  specification_version: 4
128
125
  summary: rubocop rules for fjord, Inc.
129
126
  test_files: []