rubocop-rubycw 0.1.5 → 0.2.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: a5c26092534075459ba32b265307ae0e5091bb00dbd2edb7f3b9f56b4a067c23
4
- data.tar.gz: 9773c0b1104531124f98ade8adb90085f862400efe1d9249a35ac6e6667c5b4f
3
+ metadata.gz: 10400a7e8d7cb88964ffa0c2615da00f4a2a623caa0648779e252c92cd8b4612
4
+ data.tar.gz: b30a3eb957415c8d3fbfa6838840618820fe9d1e1b3aa51f1a032930ea2f76d0
5
5
  SHA512:
6
- metadata.gz: a9e03d4a522a88600d43b9688eaf013bce5ae1f654c36232210366022ae6e47dd87d2041fa190bbb1be93526233795fdfba4ca6f4ec6fe015a69dc17a2cbc0cd
7
- data.tar.gz: 369fce7367f1cc72394d052a722955a545302a7429ceab1bcd38ffcec81e7c5945a90322383e757dffadc0ec2501ba188eee71bd41157f5adc3fc623ec645aed
6
+ metadata.gz: 9e8f12b43e01d9f192aca8704705dfa53ddc033ef17a9cdc10611798e5bd899d9a0cc4280fe804e1d2b5c6d3ba447070f9691ab0602b6e496df86718c34d0407
7
+ data.tar.gz: 65dd59bbfe15ff2103228d5b501473bcc436d50a2fbba2dd85c07ff36ce36f3ec1702122070d3a0c9c064a7a53ad337692ab2ffdd8742c871c2d9bcc48ec443d
@@ -0,0 +1,36 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - master
8
+
9
+ concurrency:
10
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
11
+ cancel-in-progress: true
12
+
13
+ jobs:
14
+ main:
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby:
20
+ - "2.7"
21
+ - "3.0"
22
+ - "3.1"
23
+ - "3.2"
24
+ - "3.3"
25
+ - "3.4"
26
+ - ruby-head
27
+ task:
28
+ - spec
29
+ name: Ruby ${{ matrix.ruby }}
30
+ steps:
31
+ - uses: actions/checkout@v4
32
+ - uses: ruby/setup-ruby@v1
33
+ with:
34
+ ruby-version: ${{ matrix.ruby }}
35
+ bundler-cache: true
36
+ - run: bundle exec rake
data/Gemfile CHANGED
@@ -3,5 +3,5 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in rubocop-rubycw.gemspec
4
4
  gemspec
5
5
 
6
- gem "rake", "~> 12.0"
6
+ gem "rake", "~> 13.0"
7
7
  gem 'rspec'
data/README.md CHANGED
@@ -6,9 +6,7 @@ You can get Ruby's warning as a RuboCop offense by rubocop-rubycw.
6
6
 
7
7
  ## Requirements
8
8
 
9
- * Ruby 2.3 or greater.
10
- * But I highly recommend to use Ruby 2.6 or greater.
11
- Because it is about 10x slower if it works on Ruby 2.5 or lower.
9
+ * Ruby 2.7 or greater.
12
10
 
13
11
  ## Installation
14
12
 
@@ -31,9 +29,12 @@ Or install it yourself as:
31
29
  Put this into your `.rubocop.yml`.
32
30
 
33
31
  ```yaml
34
- require: rubocop-rubycw
32
+ plugins: rubocop-rubycw
35
33
  ```
36
34
 
35
+ > [!NOTE]
36
+ > The plugin system is supported in RuboCop 1.72+. In earlier versions, use `require` instead of `plugins`.
37
+
37
38
  ## Development
38
39
 
39
40
  After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -42,5 +43,4 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
42
43
 
43
44
  ## Contributing
44
45
 
45
- Bug reports and pull requests are welcome on GitHub at https://github.com/rubocop-hq/rubocop-rubycw.
46
-
46
+ Bug reports and pull requests are welcome on GitHub at https://github.com/rubocop/rubocop-rubycw.
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'lint_roller'
4
+
5
+ module RuboCop
6
+ module Rubycw
7
+ # A plugin that integrates RuboCop Rubycw with RuboCop's plugin system.
8
+ class Plugin < LintRoller::Plugin
9
+ def about
10
+ LintRoller::About.new(
11
+ name: 'rubocop-rubycw',
12
+ version: Version::STRING,
13
+ homepage: 'https://github.com/rubocop/rubocop-rubycw',
14
+ description: 'Integrate RuboCop and `ruby -cw`.'
15
+ )
16
+ end
17
+
18
+ def supported?(context)
19
+ context.engine == :rubocop
20
+ end
21
+
22
+ def rules(_context)
23
+ LintRoller::Rules.new(
24
+ type: :path,
25
+ config_format: :rubocop,
26
+ value: Pathname.new(__dir__).join('../../../config/default.yml')
27
+ )
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,5 +1,5 @@
1
1
  module RuboCop
2
2
  module Rubycw
3
- VERSION = "0.1.5"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -5,11 +5,16 @@ module RuboCop
5
5
  module WarningCapturer
6
6
  if defined?(RubyVM::AbstractSyntaxTree)
7
7
  module ::Warning
8
- def self.warn(*message)
8
+ def self.warn(*message, **kwargs)
9
9
  if WarningCapturer.warnings
10
10
  WarningCapturer.warnings.concat message
11
11
  else
12
- super
12
+ if RUBY_VERSION >= '3'
13
+ # kwargs is available since Ruby 3
14
+ super(*message, **kwargs)
15
+ else
16
+ super(*message)
17
+ end
13
18
  end
14
19
  end
15
20
  end
@@ -4,9 +4,6 @@ require 'rubocop'
4
4
 
5
5
  require_relative 'rubocop/rubycw'
6
6
  require_relative 'rubocop/rubycw/version'
7
- require_relative 'rubocop/rubycw/inject'
8
-
9
- RuboCop::Rubycw::Inject.defaults!
10
-
7
+ require_relative 'rubocop/rubycw/plugin'
11
8
  require_relative 'rubocop/rubycw/warning_capturer'
12
9
  require_relative 'rubocop/cop/rubycw_cops'
@@ -8,15 +8,15 @@ Gem::Specification.new do |spec|
8
8
 
9
9
  spec.summary = %q{Integrate RuboCop and ruby -cw}
10
10
  spec.description = %q{Integrate RuboCop and ruby -cw}
11
- spec.homepage = "https://github.com/rubocop-hq/rubocop-rubycw"
12
- spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
11
+ spec.homepage = "https://github.com/rubocop/rubocop-rubycw"
12
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
13
13
  spec.license = 'MIT'
14
14
 
15
15
  # spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
16
16
 
17
17
  spec.metadata["homepage_uri"] = spec.homepage
18
18
  spec.metadata["source_code_uri"] = spec.homepage
19
- # spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
19
+ spec.metadata["default_lint_roller_plugin"] = 'RuboCop::Rubycw::Plugin'
20
20
 
21
21
  # Specify which files should be added to the gem when it is released.
22
22
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -27,5 +27,6 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
29
29
 
30
- spec.add_runtime_dependency 'rubocop', '~> 1.0'
30
+ spec.add_runtime_dependency 'lint_roller', '~> 1.1'
31
+ spec.add_runtime_dependency 'rubocop', '~> 1.72.1'
31
32
  end
metadata CHANGED
@@ -1,29 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-rubycw
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masataka Pocke Kuwabara
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-17 00:00:00.000000000 Z
11
+ date: 2025-02-15 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: lint_roller
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.1'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rubocop
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
31
  - - "~>"
18
32
  - !ruby/object:Gem::Version
19
- version: '1.0'
33
+ version: 1.72.1
20
34
  type: :runtime
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
38
  - - "~>"
25
39
  - !ruby/object:Gem::Version
26
- version: '1.0'
40
+ version: 1.72.1
27
41
  description: Integrate RuboCop and ruby -cw
28
42
  email:
29
43
  - kuwabara@pocke.me
@@ -31,7 +45,7 @@ executables: []
31
45
  extensions: []
32
46
  extra_rdoc_files: []
33
47
  files:
34
- - ".circleci/config.yml"
48
+ - ".github/workflows/main.yml"
35
49
  - ".gitignore"
36
50
  - ".rspec"
37
51
  - ".rubocop.yml"
@@ -46,16 +60,17 @@ files:
46
60
  - lib/rubocop/cop/rubycw/rubycw.rb
47
61
  - lib/rubocop/cop/rubycw_cops.rb
48
62
  - lib/rubocop/rubycw.rb
49
- - lib/rubocop/rubycw/inject.rb
63
+ - lib/rubocop/rubycw/plugin.rb
50
64
  - lib/rubocop/rubycw/version.rb
51
65
  - lib/rubocop/rubycw/warning_capturer.rb
52
66
  - rubocop-rubycw.gemspec
53
- homepage: https://github.com/rubocop-hq/rubocop-rubycw
67
+ homepage: https://github.com/rubocop/rubocop-rubycw
54
68
  licenses:
55
69
  - MIT
56
70
  metadata:
57
- homepage_uri: https://github.com/rubocop-hq/rubocop-rubycw
58
- source_code_uri: https://github.com/rubocop-hq/rubocop-rubycw
71
+ homepage_uri: https://github.com/rubocop/rubocop-rubycw
72
+ source_code_uri: https://github.com/rubocop/rubocop-rubycw
73
+ default_lint_roller_plugin: RuboCop::Rubycw::Plugin
59
74
  post_install_message:
60
75
  rdoc_options: []
61
76
  require_paths:
@@ -64,14 +79,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
64
79
  requirements:
65
80
  - - ">="
66
81
  - !ruby/object:Gem::Version
67
- version: 2.4.0
82
+ version: 2.7.0
68
83
  required_rubygems_version: !ruby/object:Gem::Requirement
69
84
  requirements:
70
85
  - - ">="
71
86
  - !ruby/object:Gem::Version
72
87
  version: '0'
73
88
  requirements: []
74
- rubygems_version: 3.3.0.dev
89
+ rubygems_version: 3.1.6
75
90
  signing_key:
76
91
  specification_version: 4
77
92
  summary: Integrate RuboCop and ruby -cw
data/.circleci/config.yml DELETED
@@ -1,49 +0,0 @@
1
- version: 2
2
-
3
- steps: &steps
4
- steps:
5
- - checkout
6
- - run: bundle install
7
- - run: bundle exec rake
8
-
9
- jobs:
10
- ruby-2.4:
11
- docker:
12
- - image: circleci/ruby:2.4
13
- <<: *steps
14
-
15
- ruby-2.5:
16
- docker:
17
- - image: circleci/ruby:2.5
18
- <<: *steps
19
-
20
- ruby-2.6:
21
- docker:
22
- - image: circleci/ruby:2.6
23
- <<: *steps
24
-
25
- ruby-2.7:
26
- docker:
27
- - image: circleci/ruby:2.7
28
- <<: *steps
29
-
30
- ruby-3.0:
31
- docker:
32
- - image: circleci/ruby:3.0
33
- <<: *steps
34
-
35
- ruby-head:
36
- docker:
37
- - image: rubocophq/circleci-ruby-snapshot:latest
38
- <<: *steps
39
-
40
- workflows:
41
- version: 2
42
- build:
43
- jobs:
44
- - ruby-2.4
45
- - ruby-2.5
46
- - ruby-2.6
47
- - ruby-2.7
48
- - ruby-3.0
49
- - ruby-head
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # The original code is from https://github.com/rubocop-hq/rubocop-rspec/blob/master/lib/rubocop/rspec/inject.rb
4
- # See https://github.com/rubocop-hq/rubocop-rspec/blob/master/MIT-LICENSE.md
5
- module RuboCop
6
- module Rubycw
7
- # Because RuboCop doesn't yet support plugins, we have to monkey patch in a
8
- # bit of our configuration.
9
- module Inject
10
- def self.defaults!
11
- path = CONFIG_DEFAULT.to_s
12
- hash = ConfigLoader.send(:load_yaml_configuration, path)
13
- config = Config.new(hash, path)
14
- puts "configuration from #{path}" if ConfigLoader.debug?
15
- config = ConfigLoader.merge_with_default(config, path)
16
- ConfigLoader.instance_variable_set(:@default_configuration, config)
17
- end
18
- end
19
- end
20
- end