standard-performance 1.0.1 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec5f1bc65c00fbfb3cbcceddddb4e0de1254483d0bd84535ffed91931a64968c
4
- data.tar.gz: ce16e8e5132396037eafffc8296391f86ac59f49ee1d4a7d5374113ca11b313a
3
+ metadata.gz: d3313cb1b98296491d99d1c41ba34d8fb1d23554a3db84466c38a74bba905762
4
+ data.tar.gz: 0fde13d39f95f79376ae9c848a180661f708168033395cb0d66bb3a04ef57aba
5
5
  SHA512:
6
- metadata.gz: f88a5e776a78aca67b0f6677bf49fb06378d824d0e24bbcb9d680aae8d5972c1bdc059aec3124b9f0cfad33bd643c6ba763b9daa8c2b72bc5c02e7c91bc3fc7a
7
- data.tar.gz: e8a03cb117d759b39b2cc848d535227846a1382000058fb6030dc5c23c03a07bb56afbe5af9f6c361627991d7f8358ffbbe6d7c46d87dd7aaec184481ce0a051
6
+ metadata.gz: 6c0e97d9db245d0a97e1a4cb35cd2835de358b98d973056a8c6e2f0f4353e6fbf7d935f8c7da9d8d6667d7f7a4e0e4bafffc17f49e627b41ffb9051c4fc1b567
7
+ data.tar.gz: bdf5658c49bfb5e21c58c22dc00db7e335217eab5c8cbd0afbf4779aab2421b2e8acba81ef7ed316b1160b9b4cb03b613f8988b89923d80b8df745fb31e8a240
data/CHANGELOG.md CHANGED
@@ -1,4 +1,11 @@
1
- ## [Unreleased]
1
+ ## [1.1.1]
2
+
3
+ - Preserve metadata from rubocop-performance by merging it
4
+
5
+ ## [1.1.0]
6
+
7
+ - Updates rubocop-performance from 1.16.0 to 1.18.0
8
+ - Updates past the circular dependency in an older version of standardrb for development.
2
9
 
3
10
  ## [1.0.1]
4
11
 
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- standard-performance (1.0.1)
5
- lint_roller (~> 1.0)
6
- rubocop-performance (~> 1.16.0)
4
+ standard-performance (1.1.1)
5
+ lint_roller (~> 1.1)
6
+ rubocop-performance (~> 1.18.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
@@ -11,43 +11,50 @@ GEM
11
11
  ast (2.4.2)
12
12
  json (2.6.3)
13
13
  language_server-protocol (3.17.0.3)
14
- lint_roller (1.0.0)
14
+ lint_roller (1.1.0)
15
15
  m (1.6.1)
16
16
  method_source (>= 0.6.7)
17
17
  rake (>= 0.9.2.2)
18
18
  method_source (1.0.0)
19
- minitest (5.18.0)
20
- parallel (1.22.1)
21
- parser (3.2.2.0)
19
+ minitest (5.18.1)
20
+ parallel (1.23.0)
21
+ parser (3.2.2.3)
22
22
  ast (~> 2.4.1)
23
+ racc
24
+ racc (1.7.1)
23
25
  rainbow (3.1.1)
24
26
  rake (13.0.6)
25
- regexp_parser (2.7.0)
27
+ regexp_parser (2.8.1)
26
28
  rexml (3.2.5)
27
- rubocop (1.48.1)
29
+ rubocop (1.52.1)
28
30
  json (~> 2.3)
29
31
  parallel (~> 1.10)
30
- parser (>= 3.2.0.0)
32
+ parser (>= 3.2.2.3)
31
33
  rainbow (>= 2.2.2, < 4.0)
32
34
  regexp_parser (>= 1.8, < 3.0)
33
35
  rexml (>= 3.2.5, < 4.0)
34
- rubocop-ast (>= 1.26.0, < 2.0)
36
+ rubocop-ast (>= 1.28.0, < 2.0)
35
37
  ruby-progressbar (~> 1.7)
36
38
  unicode-display_width (>= 2.4.0, < 3.0)
37
- rubocop-ast (1.28.0)
39
+ rubocop-ast (1.29.0)
38
40
  parser (>= 3.2.1.0)
39
- rubocop-performance (1.16.0)
41
+ rubocop-performance (1.18.0)
40
42
  rubocop (>= 1.7.0, < 2.0)
41
43
  rubocop-ast (>= 0.4.0)
42
44
  ruby-progressbar (1.13.0)
43
- standard (1.26.0)
45
+ standard (1.30.0)
44
46
  language_server-protocol (~> 3.17.0.2)
45
- rubocop (~> 1.48.1)
46
- rubocop-performance (~> 1.16.0)
47
+ lint_roller (~> 1.0)
48
+ rubocop (~> 1.52.0)
49
+ standard-custom (~> 1.0.0)
50
+ standard-performance (~> 1.1.0)
51
+ standard-custom (1.0.1)
52
+ lint_roller (~> 1.0)
47
53
  unicode-display_width (2.4.2)
48
54
 
49
55
  PLATFORMS
50
56
  arm64-darwin-22
57
+ ruby
51
58
  x86_64-linux
52
59
 
53
60
  DEPENDENCIES
@@ -0,0 +1 @@
1
+ inherit_from: ./ruby-1.9.yml
@@ -0,0 +1,14 @@
1
+ inherit_from: ./ruby-2.0.yml
2
+
3
+ # String#end_with? added in Ruby 2.0.0
4
+ # https://docs.ruby-lang.org/en/2.0.0/String.html#method-i-end_with-3F
5
+ Performance/EndWith:
6
+ Enabled: false
7
+
8
+ # String#start_with? added in Ruby 2.0.0
9
+ # https://docs.ruby-lang.org/en/2.0.0/String.html#method-i-start_with-3F
10
+ Performance/StartWith:
11
+ Enabled: false
12
+
13
+ Performance/DoubleStartEndWith:
14
+ Enabled: false
@@ -0,0 +1 @@
1
+ inherit_from: ./ruby-2.1.yml
@@ -0,0 +1 @@
1
+ inherit_from: ./ruby-2.2.yml
data/docs/RELEASE.md ADDED
@@ -0,0 +1,43 @@
1
+ # How to release Standard Performance
2
+
3
+ Because this gem was generated with the [bundler `gem`
4
+ command](https://bundler.io/man/bundle-gem.1.html), [our Rakefile](/Rakefile)
5
+ loads `bundler/gem_tasks`, which provides a lot of the commands one needs
6
+ to manage a gem's release lifecycle:
7
+
8
+ ```
9
+ $ rake -T
10
+ rake build # Build standard-x.x.x.gem into the pkg directory
11
+ rake clean # Remove any temporary products
12
+ rake clobber # Remove any generated files
13
+ rake install # Build and install standard-x.x.x.gem into system gems
14
+ rake install:local # Build and install standard-x.x.x.gem into system gems without network access
15
+ rake release[remote] # Create tag vx.x.x and build and push standard-0.5.2.gem to rubygems.org
16
+ ```
17
+
18
+ Most of these commands are depended on (read: run by) `rake release`, which is
19
+ really the only one we'll need for releasing the gem to
20
+ [Rubygems.org](https://rubygems.org/gems/standard).
21
+
22
+ ## Release steps
23
+
24
+ 1. Make sure git is up to date and `bundle exec rake` exits cleanly
25
+ 1. If you upgraded rubocop-performance, be sure to lock it down in
26
+ `standard-performance.gemspec`. To avoid being broken transitively, we stick
27
+ to exact release dependencies (e.g. "0.91.0" instead of "~> 0.91")
28
+ 1. Update `CHANGELOG.md` as exhaustively as you are able and set the top header
29
+ to "Unreleased"
30
+ 1. Commit all your changes, and push to `main`. There will be separate commits
31
+ for the release and the changes. The first is the changes commit.
32
+ 1. Bump the appropriate version segment in `lib/standard/version.rb` (basic
33
+ semantic versioning rules apply; if the release updates Rubocop, follow its
34
+ version bump at a minimum—if rubocop saw minor bump, we'll also bump the
35
+ minor version)
36
+ 1. Run `bundle` so that Bundler writes this version to `Gemfile.lock`
37
+ 1. Commit `lib/standard/performance/version.rb`, `Gemfile.lock`, and `CHANGELOG.md` together
38
+ with the message equal to the new version (e.g. "0.42.1")
39
+ 1. Finally, run `bundle exec rake release`, which will hopefully succeed
40
+ 1. Provide your multi-factor-auth token when prompted to finish publishing the
41
+ gem
42
+ 1. [Tweet](https://twitter.com) about your awesome new release! (Shameless
43
+ self-promotion is the most important part of open source software)
@@ -0,0 +1,28 @@
1
+ module Standard
2
+ module Performance
3
+ class DeterminesYamlPath
4
+ def determine(desired_version)
5
+ desired_version = Gem::Version.new(desired_version) unless desired_version.is_a?(Gem::Version)
6
+ default = "base.yml"
7
+
8
+ file_name = if !Gem::Version.correct?(desired_version)
9
+ default
10
+ elsif desired_version < Gem::Version.new("1.9")
11
+ "ruby-1.8.yml"
12
+ elsif desired_version < Gem::Version.new("2.0")
13
+ "ruby-1.9.yml"
14
+ elsif desired_version < Gem::Version.new("2.1")
15
+ "ruby-2.0.yml"
16
+ elsif desired_version < Gem::Version.new("2.2")
17
+ "ruby-2.1.yml"
18
+ elsif desired_version < Gem::Version.new("2.3")
19
+ "ruby-2.2.yml"
20
+ else
21
+ default
22
+ end
23
+
24
+ Pathname.new(__dir__).join("../../../config/#{file_name}")
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,7 +1,11 @@
1
+ require_relative "determines_yaml_path"
2
+
1
3
  module Standard::Performance
2
4
  class Plugin < LintRoller::Plugin
3
5
  def initialize(config)
4
6
  @config = config
7
+ @merges_upstream_metadata = LintRoller::Support::MergesUpstreamMetadata.new
8
+ @determines_yaml_path = DeterminesYamlPath.new
5
9
  end
6
10
 
7
11
  def about
@@ -20,10 +24,15 @@ module Standard::Performance
20
24
  def rules(context)
21
25
  trick_rubocop_into_thinking_we_required_rubocop_performance!
22
26
 
27
+ rules = @merges_upstream_metadata.merge(
28
+ YAML.load_file(@determines_yaml_path.determine(context.target_ruby_version)),
29
+ YAML.load_file(Pathname.new(Gem.loaded_specs["rubocop-performance"].full_gem_path).join("config/default.yml"))
30
+ )
31
+
23
32
  LintRoller::Rules.new(
24
- type: :path,
33
+ type: :object,
25
34
  config_format: :rubocop,
26
- value: determine_yaml_path(context.target_ruby_version)
35
+ value: rules
27
36
  )
28
37
  end
29
38
 
@@ -47,20 +56,5 @@ module Standard::Performance
47
56
  require "rubocop/cop/performance_cops"
48
57
  RuboCop::ConfigLoader.default_configuration.loaded_features.add("rubocop-performance")
49
58
  end
50
-
51
- def determine_yaml_path(desired_version)
52
- desired_version = Gem::Version.new(desired_version) unless desired_version.is_a?(Gem::Version)
53
- default = "base.yml"
54
-
55
- file_name = if !Gem::Version.correct?(desired_version)
56
- default
57
- elsif desired_version < Gem::Version.new("2.3")
58
- "ruby-2.2.yml"
59
- else
60
- default
61
- end
62
-
63
- Pathname.new(__dir__).join("../../../config/#{file_name}")
64
- end
65
59
  end
66
60
  end
@@ -1,5 +1,5 @@
1
1
  module Standard
2
2
  module Performance
3
- VERSION = "1.0.1"
3
+ VERSION = "1.1.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: standard-performance
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Searls
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-22 00:00:00.000000000 Z
11
+ date: 2023-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lint_roller
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '1.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: '1.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rubocop-performance
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.16.0
33
+ version: 1.18.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.16.0
40
+ version: 1.18.0
41
41
  description:
42
42
  email:
43
43
  - searls@gmail.com
@@ -53,9 +53,15 @@ files:
53
53
  - README.md
54
54
  - Rakefile
55
55
  - config/base.yml
56
+ - config/ruby-1.8.yml
57
+ - config/ruby-1.9.yml
58
+ - config/ruby-2.0.yml
59
+ - config/ruby-2.1.yml
56
60
  - config/ruby-2.2.yml
61
+ - docs/RELEASE.md
57
62
  - lib/standard-performance.rb
58
63
  - lib/standard/performance.rb
64
+ - lib/standard/performance/determines_yaml_path.rb
59
65
  - lib/standard/performance/plugin.rb
60
66
  - lib/standard/performance/version.rb
61
67
  homepage: https://github.com/standardrb/standard-performance
@@ -81,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
87
  - !ruby/object:Gem::Version
82
88
  version: '0'
83
89
  requirements: []
84
- rubygems_version: 3.4.10
90
+ rubygems_version: 3.4.14
85
91
  signing_key:
86
92
  specification_version: 4
87
93
  summary: Standard Ruby Plugin providing configuration for rubocop-performance