rubocop-shopify 2.15.0 → 2.15.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.
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This is true for Ruby 3.2+, so once support for 3.1 is dropped, we can remove this.
4
+ # Until then, some installations may have a recent enough version of RubyGems, but it is not guaranteed.
5
+ return if Gem::Version.new(Gem::VERSION) >= Gem::Version.new("3.5.6")
6
+
7
+ module RuboCop
8
+ module Shopify
9
+ # Backport rubygems/rubygems#5275, so we can compare `Gem::Version`s directly against `String`s.
10
+ #
11
+ # Gem::Version.new("1.2.3") > "1.2"
12
+ #
13
+ # Without this, to support Ruby < 3.2, we would have to create a new `Gem::Version` instance ourselves.
14
+ #
15
+ # Gem::Version.new("1.2.3") > Gem::Version.new("1.2")
16
+ #
17
+ # This would get very verbose in our RuboCop config files.
18
+ module GemVersionStringComparableBackport
19
+ def <=>(other)
20
+ return self <=> self.class.new(other) if (String === other) && self.class.correct?(other)
21
+
22
+ super
23
+ end
24
+
25
+ Gem::Version.prepend(self)
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rubocop"
4
+
5
+ namespace :config do
6
+ desc "Dump the full RuboCop config as a YAML file for testing"
7
+ task :dump, [:target] do |_task, args|
8
+ file = "rubocop.yml"
9
+ target = args.fetch(:target, "test/fixtures/full_config.yml")
10
+
11
+ file_config = RuboCop::ConfigLoader.load_file(file)
12
+ config = RuboCop::ConfigLoader.merge_with_default(file_config, file)
13
+ output = config.to_h.to_yaml.gsub(config.base_dir_for_path_parameters, "")
14
+
15
+ # Removing trailing whitespaces from each line due to older libyaml versions
16
+ # converting nil hash values into whitespaces. GitHub actions is still stuck
17
+ # with libyaml < 0.2.5. This line can be removed once it is upgraded. Psych
18
+ # can be used to check for the running libyaml version:
19
+ #
20
+ # ```ruby
21
+ # require "psych"
22
+ # puts Psych::LIBYAML_VERSION
23
+ # ```
24
+ #
25
+ # For more info, see: https://github.com/yaml/libyaml/pull/186
26
+ output.gsub!(/\s\n/, "\n")
27
+
28
+ File.write(target, output)
29
+ end
30
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-shopify
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.15.0
4
+ version: 2.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify Engineering
@@ -32,13 +32,16 @@ extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
34
  - LICENSE.md
35
+ - README.md
36
+ - lib/rubocop/shopify/gem_version_string_comparable_backport.rb
37
+ - lib/tasks/config.rake
35
38
  - rubocop-cli.yml
36
39
  - rubocop.yml
37
40
  homepage: https://shopify.github.io/ruby-style-guide/
38
41
  licenses:
39
42
  - MIT
40
43
  metadata:
41
- source_code_uri: https://github.com/Shopify/ruby-style-guide/tree/v2.15.0
44
+ source_code_uri: https://github.com/Shopify/ruby-style-guide/tree/v2.15.1
42
45
  allowed_push_host: https://rubygems.org
43
46
  post_install_message:
44
47
  rdoc_options: []