salsify_rubocop 1.0.1 → 1.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: bf4488cacf9244dcc1eef749f7e8be0aec426462bbdd97bba63f2585d9e341fa
4
- data.tar.gz: 7c804cbcb3576fd3ba2852a667f0db842eb5b2393a7e775101930488eb2b97d4
3
+ metadata.gz: 1a27b274167c99b0c602b8179de3b2cc833019ebcdb893278604a5259dc6b011
4
+ data.tar.gz: b15ac3e56b5ea6095f0dac07858e00aa55a22239dd86611ab97775cbee047d86
5
5
  SHA512:
6
- metadata.gz: a19b74a0b2600a044f45ae9203a4115cf8dc66b8422c7cf3424d9028d81e273e9cd474dc2f518c5d1f6b39c48b8b95ffb28ec534f56ce14f5bf1ac8f4973689a
7
- data.tar.gz: 30b89b5377a2a32895e26947cee22985a17221334519e26bf7e0e3b63e37becd2616c1856626350a5123d51958254beebb5fdde7e1fd1bb16f4d67d8c1bffef5
6
+ metadata.gz: c3709691e18170f955bc6825637234031dde141fa27a402ac4e3e64c904ee9a063c631587fd3b163a21e94a08a971e36be7d98600baebae8fd894e337c3de03e
7
+ data.tar.gz: 8adc382c5cb2ba0b196c12452591e5f42af2f7f687c1f2c71b43d62fdf9c47523572c3a535acb4fa7f42ee44af830c941b0bdeee34a82ce47cb8bae350ef0586
data/.circleci/config.yml CHANGED
@@ -1,17 +1,15 @@
1
- version: 2
1
+ version: 2.1
2
2
  jobs:
3
- build:
3
+ lint:
4
4
  docker:
5
- - image: salsify/ruby_ci:2.5.8
6
- environment:
7
- CIRCLE_TEST_REPORTS: "test-results"
5
+ - image: salsify/ruby_ci:2.6.6
8
6
  working_directory: ~/salsify_rubocop
9
7
  steps:
10
8
  - checkout
11
9
  - restore_cache:
12
10
  keys:
13
- - v1-gems-ruby-2.5.8-{{ checksum "salsify_rubocop.gemspec" }}-{{ checksum "Gemfile" }}
14
- - v1-gems-ruby-2.5.8-
11
+ - v1-gems-ruby-2.6.6-{{ checksum "salsify_rubocop.gemspec" }}-{{ checksum "Gemfile" }}
12
+ - v1-gems-ruby-2.6.6-
15
13
  - run:
16
14
  name: Install Gems
17
15
  command: |
@@ -20,15 +18,54 @@ jobs:
20
18
  bundle clean
21
19
  fi
22
20
  - save_cache:
23
- key: v1-gems-ruby-2.5.8-{{ checksum "salsify_rubocop.gemspec" }}-{{ checksum "Gemfile" }}
21
+ key: v1-gems-ruby-2.6.6-{{ checksum "salsify_rubocop.gemspec" }}-{{ checksum "Gemfile" }}
24
22
  paths:
25
23
  - "vendor/bundle"
24
+ - "gemfiles/vendor/bundle"
26
25
  - run:
27
26
  name: Run Rubocop
28
- command: bundle exec rubocop
27
+ command: bundle exec rubocop --config .rubocop.yml
28
+ test:
29
+ parameters:
30
+ ruby_version:
31
+ type: string
32
+ docker:
33
+ - image: salsify/ruby_ci:<< parameters.ruby_version >>
34
+ environment:
35
+ CIRCLE_TEST_REPORTS: "test-results"
36
+ working_directory: ~/salsify_rubocop
37
+ steps:
38
+ - checkout
39
+ - restore_cache:
40
+ keys:
41
+ - v1-gems-ruby-<< parameters.ruby_version >>-{{ checksum "salsify_rubocop.gemspec" }}-{{ checksum "Gemfile" }}
42
+ - v1-gems-ruby-<< parameters.ruby_version >>-
43
+ - run:
44
+ name: Install Gems
45
+ command: |
46
+ if ! bundle check --path=vendor/bundle; then
47
+ bundle install --path=vendor/bundle --jobs=4 --retry=3
48
+ bundle clean
49
+ fi
50
+ - save_cache:
51
+ key: v1-gems-ruby-<< parameters.ruby_version >>-{{ checksum "salsify_rubocop.gemspec" }}-{{ checksum "Gemfile" }}
52
+ paths:
53
+ - "vendor/bundle"
54
+ - "gemfiles/vendor/bundle"
29
55
  - run:
30
56
  name: Run Tests
31
57
  command: |
32
58
  bundle exec rspec --format RspecJunitFormatter --out $CIRCLE_TEST_REPORTS/rspec/junit.xml --format progress spec
33
59
  - store_test_results:
34
60
  path: "test-results"
61
+ workflows:
62
+ build:
63
+ jobs:
64
+ - lint
65
+ - test:
66
+ matrix:
67
+ parameters:
68
+ ruby_version:
69
+ - "2.6.6"
70
+ - "2.7.2"
71
+ - "3.0.0"
@@ -0,0 +1 @@
1
+ * @jturkel @erikkessler1 @skarger
data/.rubocop.yml CHANGED
@@ -2,7 +2,7 @@ inherit_from:
2
2
  - conf/rubocop.yml
3
3
 
4
4
  AllCops:
5
- TargetRubyVersion: 2.4
5
+ TargetRubyVersion: 2.6
6
6
 
7
7
  Layout/LineLength:
8
8
  Exclude:
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # salsify_rubocop
2
2
 
3
+ ## 1.2.0
4
+ - Disable Style/ExplicitBlockArgument for performance reasons, https://github.com/JuanitoFatas/fast-ruby/blob/master/code/proc-and-block/proc-call-vs-yield.rb.
5
+
6
+ ## 1.1.0
7
+ - Re-enable version specifier checks for the `Bundler/GemComment` cop, for limiting version specifiers only.
8
+ - Upgrade to `rubocop` v1.13.0
9
+ - Drop support for Ruby 2.5 now that's in EOL
10
+
11
+ ## 1.0.2
12
+ - Disable version specifier checks for the `Bundler/GemComment` cop until https://github.com/rubocop/rubocop/pull/9358
13
+ is merged.
14
+
3
15
  ## 1.0.1
4
16
  - Configure file exclusions for `Rails/RakeEnvironment` and `Gemspec/RequiredRubyVersion`
5
17
 
@@ -1,3 +1,7 @@
1
+ require:
2
+ - rubocop-performance
3
+ - rubocop-rails
4
+
1
5
  AllCops:
2
6
  NewCops: disable
3
7
  DisplayCopNames: true
@@ -13,7 +17,7 @@ AllCops:
13
17
  Bundler/GemComment:
14
18
  Enabled: true
15
19
  OnlyFor:
16
- - 'version_specifiers'
20
+ - 'restrictive_version_specificiers'
17
21
  - 'source'
18
22
  - 'git'
19
23
  - 'github'
@@ -74,6 +78,11 @@ Style/EmptyLiteral:
74
78
  Style/EmptyMethod:
75
79
  Enabled: false
76
80
 
81
+ # Disabling due to performance implications.
82
+ # https://github.com/JuanitoFatas/fast-ruby/blob/master/code/proc-and-block/proc-call-vs-yield.rb
83
+ Style/ExplicitBlockArgument:
84
+ Enabled: false
85
+
77
86
  # The Exclude list is not additive. Projects that exclude file names will
78
87
  # need to re-add Appraisals.
79
88
  Naming/FileName:
@@ -57,9 +57,9 @@ module RuboCop
57
57
  def check_quotes(doc_node)
58
58
  return unless wrong_quotes?(doc_node)
59
59
 
60
- add_offense(doc_node,
61
- message: style == :single_quotes ? SINGLE_QUOTE_MSG : DOUBLE_QUOTE_MSG,
62
- &StringLiteralCorrector.correct(doc_node, style))
60
+ add_offense(doc_node, message: style == :single_quotes ? SINGLE_QUOTE_MSG : DOUBLE_QUOTE_MSG) do |corrector|
61
+ StringLiteralCorrector.correct(corrector, doc_node, style)
62
+ end
63
63
  end
64
64
 
65
65
  def wrong_quotes?(node)
@@ -11,7 +11,8 @@ module RuboCop
11
11
  # Used together with Salsify/RspecDocString it allows one quote style to
12
12
  # be used for doc strings (`describe "foobar"`) and another style to be
13
13
  # used for all other strings in specs.
14
- class RspecStringLiterals < Cop
14
+ class RspecStringLiterals < RuboCop::Cop::RSpec::Base
15
+ extend RuboCop::Cop::AutoCorrector
15
16
  include ConfigurableEnforcedStyle
16
17
  include StringLiteralsHelp
17
18
 
@@ -22,8 +23,8 @@ module RuboCop
22
23
  DOUBLE_QUOTE_MSG = 'Prefer double-quoted strings unless you need ' \
23
24
  'single quotes to avoid extra backslashes for escaping.'
24
25
 
25
- def autocorrect(node)
26
- StringLiteralCorrector.correct(node, style)
26
+ def autocorrect(corrector, node)
27
+ StringLiteralCorrector.correct(corrector, node, style)
27
28
  end
28
29
 
29
30
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SalsifyRubocop
4
- VERSION = '1.0.1'
4
+ VERSION = '1.2.0'
5
5
  end
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.authors = ['Salsify, Inc']
11
11
  spec.email = ['engineering@salsify.com']
12
12
 
13
- spec.summary = 'Shared shared RuboCop configuration'
13
+ spec.summary = 'Shared RuboCop configuration'
14
14
  spec.description = spec.summary
15
15
  spec.homepage = 'https://github.com/salsify/salsify_rubocop'
16
16
 
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  # delete this section to allow pushing this gem to any host.
21
21
  if spec.respond_to?(:metadata)
22
22
  spec.metadata['allowed_push_host'] = 'https://rubygems.org'
23
-
23
+ spec.metadata['rubygems_mfa_required'] = 'true'
24
24
  else
25
25
  raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
26
26
  end
@@ -30,14 +30,14 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ['lib']
32
32
 
33
- spec.required_ruby_version = '>= 2.4'
33
+ spec.required_ruby_version = '>= 2.6'
34
34
 
35
35
  spec.add_development_dependency 'bundler', '~> 2.0'
36
- spec.add_development_dependency 'rake', '~> 10.0'
36
+ spec.add_development_dependency 'rake', '~> 13.0'
37
37
  spec.add_development_dependency 'rspec', '~> 3.0'
38
38
  spec.add_development_dependency 'rspec_junit_formatter'
39
39
 
40
- spec.add_runtime_dependency 'rubocop', '~> 1.0.0'
40
+ spec.add_runtime_dependency 'rubocop', '~> 1.13.0'
41
41
  spec.add_runtime_dependency 'rubocop-performance', '~> 1.5.0'
42
42
  spec.add_runtime_dependency 'rubocop-rails', '~> 2.4.0'
43
43
  spec.add_runtime_dependency 'rubocop-rspec', '~> 2.0.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: salsify_rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Salsify, Inc
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-14 00:00:00.000000000 Z
11
+ date: 2022-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
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: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.0.0
75
+ version: 1.13.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.0.0
82
+ version: 1.13.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rubocop-performance
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: 2.0.0
125
- description: Shared shared RuboCop configuration
125
+ description: Shared RuboCop configuration
126
126
  email:
127
127
  - engineering@salsify.com
128
128
  executables: []
@@ -130,6 +130,7 @@ extensions: []
130
130
  extra_rdoc_files: []
131
131
  files:
132
132
  - ".circleci/config.yml"
133
+ - ".github/CODEOWNERS"
133
134
  - ".gitignore"
134
135
  - ".rspec"
135
136
  - ".rubocop.yml"
@@ -160,7 +161,8 @@ licenses:
160
161
  - MIT
161
162
  metadata:
162
163
  allowed_push_host: https://rubygems.org
163
- post_install_message:
164
+ rubygems_mfa_required: 'true'
165
+ post_install_message:
164
166
  rdoc_options: []
165
167
  require_paths:
166
168
  - lib
@@ -168,15 +170,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
168
170
  requirements:
169
171
  - - ">="
170
172
  - !ruby/object:Gem::Version
171
- version: '2.4'
173
+ version: '2.6'
172
174
  required_rubygems_version: !ruby/object:Gem::Requirement
173
175
  requirements:
174
176
  - - ">="
175
177
  - !ruby/object:Gem::Version
176
178
  version: '0'
177
179
  requirements: []
178
- rubygems_version: 3.0.8
179
- signing_key:
180
+ rubygems_version: 3.2.22
181
+ signing_key:
180
182
  specification_version: 4
181
- summary: Shared shared RuboCop configuration
183
+ summary: Shared RuboCop configuration
182
184
  test_files: []