salsify_rubocop 0.78.0 → 1.0.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: 021126eb4684d5cc7bebabbdd04136abe1e958c03f34926f845199b1f799fef8
4
- data.tar.gz: fa1be69a53c426f1345bb14e319b304603ad95a75c9646438eabcda572f9f404
3
+ metadata.gz: bf4488cacf9244dcc1eef749f7e8be0aec426462bbdd97bba63f2585d9e341fa
4
+ data.tar.gz: 7c804cbcb3576fd3ba2852a667f0db842eb5b2393a7e775101930488eb2b97d4
5
5
  SHA512:
6
- metadata.gz: 97e764bf2aec15ec8fc01e265723151154d2bafa0027f7eee228b76e0ef5a02c2d71acb2f1726f0c194cbfb8a6c1452c5e0ce405ffd952f811524934296700a0
7
- data.tar.gz: 25b77acd0d7ef91a46c4fb6bb3a2d44472ae4d0611a6f8337bee11f2de345a181d4809e76e5bf909ef440f6c3381d251f4b508926b9bca4151c6225767641911
6
+ metadata.gz: a19b74a0b2600a044f45ae9203a4115cf8dc66b8422c7cf3424d9028d81e273e9cd474dc2f518c5d1f6b39c48b8b95ffb28ec534f56ce14f5bf1ac8f4973689a
7
+ data.tar.gz: 30b89b5377a2a32895e26947cee22985a17221334519e26bf7e0e3b63e37becd2616c1856626350a5123d51958254beebb5fdde7e1fd1bb16f4d67d8c1bffef5
@@ -0,0 +1,34 @@
1
+ version: 2
2
+ jobs:
3
+ build:
4
+ docker:
5
+ - image: salsify/ruby_ci:2.5.8
6
+ environment:
7
+ CIRCLE_TEST_REPORTS: "test-results"
8
+ working_directory: ~/salsify_rubocop
9
+ steps:
10
+ - checkout
11
+ - restore_cache:
12
+ keys:
13
+ - v1-gems-ruby-2.5.8-{{ checksum "salsify_rubocop.gemspec" }}-{{ checksum "Gemfile" }}
14
+ - v1-gems-ruby-2.5.8-
15
+ - run:
16
+ name: Install Gems
17
+ command: |
18
+ if ! bundle check --path=vendor/bundle; then
19
+ bundle install --path=vendor/bundle --jobs=4 --retry=3
20
+ bundle clean
21
+ fi
22
+ - save_cache:
23
+ key: v1-gems-ruby-2.5.8-{{ checksum "salsify_rubocop.gemspec" }}-{{ checksum "Gemfile" }}
24
+ paths:
25
+ - "vendor/bundle"
26
+ - run:
27
+ name: Run Rubocop
28
+ command: bundle exec rubocop
29
+ - run:
30
+ name: Run Tests
31
+ command: |
32
+ bundle exec rspec --format RspecJunitFormatter --out $CIRCLE_TEST_REPORTS/rspec/junit.xml --format progress spec
33
+ - store_test_results:
34
+ path: "test-results"
@@ -2,7 +2,7 @@ inherit_from:
2
2
  - conf/rubocop.yml
3
3
 
4
4
  AllCops:
5
- TargetRubyVersion: 2.3
5
+ TargetRubyVersion: 2.4
6
6
 
7
7
  Layout/LineLength:
8
8
  Exclude:
@@ -1,5 +1,28 @@
1
1
  # salsify_rubocop
2
2
 
3
+ ## 1.0.1
4
+ - Configure file exclusions for `Rails/RakeEnvironment` and `Gemspec/RequiredRubyVersion`
5
+
6
+ ## 1.0.0
7
+ - Upgrade to `rubocop` v1.0.0
8
+ - Upgrade to `rubocop-rspec` v2.0.0
9
+
10
+ ## 0.93.1
11
+ - Upgrade to `rubocop` v0.93.1
12
+ - Add configuration for pending 1.0 cops
13
+
14
+ ## 0.91.0
15
+ - Upgrade to `rubocop` v0.91.0
16
+
17
+ ## 0.85.0
18
+ - Upgrade to `rubocop` v0.85.0
19
+ - Enable enforcement of Gem comments when specifying versions or sources
20
+ - Drop support for Ruby 2.3, as rubocop v0.81+ doesn't support it anymore
21
+ - Add `FrozenStringLiteralComment` and `LineLength` (max 120) rules.
22
+
23
+ ## v0.78.1
24
+ - Fix "`Style/SymbolArray` is concealed by line 190" warning
25
+
3
26
  ## v0.78.0
4
27
  - Upgrade to `rubocop` v0.78.0
5
28
  - Upgrade to `rubocop_rspec` v1.37.0
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in salsify_rubocop.gemspec
data/README.md CHANGED
@@ -93,6 +93,30 @@ This gem also includes a dependency on `rubocop-rspec` that will be updated to
93
93
  the latest compatible version each time that the MAJOR.MINOR version of `rubocop`
94
94
  is updated.
95
95
 
96
+ ## Change Process
97
+
98
+ This configuration is meant to represent the general opinion of Salsify's Ruby community around best practices for
99
+ writing readable Ruby code. As a result, changes to this configuration should go through a discussion phase in the
100
+ #rubocop-changes Slack channel to ensure the broader Salsify Ruby community is on board with the change. Non-Salsify
101
+ developers should file an issue via GitHub with proposed changes.
102
+
103
+ When enabling a cop we try to keep the following points in mind to avoid overburdening consumers:
104
+
105
+ * Does the cop support safe auto-correction? If not, do we expect a large number of offenses needing manual remediation?
106
+ * Does the cop help avoid bugs or is it merely stylistic?
107
+ * For stylistic cops, does the enforced style reflect that of Salsify developers?
108
+
109
+ ### Updating RuboCop
110
+
111
+ Updating to a new minor version of `rubocop` may add new "pending" cops which are not enabled until the next major
112
+ version (see: [RuboCop Versioning](https://docs.rubocop.org/rubocop/versioning.html)). However, we may wish to eagerly
113
+ enable or explicitly disable newly introduced cops. Any such decisions around "pending" cops should go through the
114
+ change process described above.
115
+
116
+ When updating to a new major version or updating other dependencies that don't follow the same versioning pattern, we
117
+ should check if there are any newly enabled cops included in the update. Any new cops should go through a review process
118
+ in #rubocop-changes to ensure we truly want to enable the cop.
119
+
96
120
  ## Development
97
121
 
98
122
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. Run `bundle exec salsify_rubocop` to use the gem in this directory, ignoring other installed copies of this gem.
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rspec/core/rake_task'
3
5
 
@@ -37,3 +37,6 @@ RSpec/NestedGroups:
37
37
 
38
38
  RSpec/ContextWording:
39
39
  Enabled: false
40
+
41
+ RSpec/MultipleMemoizedHelpers:
42
+ Enabled: false
@@ -15,6 +15,10 @@ Rails/TimeZone:
15
15
  Exclude:
16
16
  - 'spec/**/*'
17
17
 
18
+ Rails/RakeEnvironment:
19
+ Exclude:
20
+ - lib/tasks/auto_annotate_models.rake
21
+
18
22
  Rails/UniqBeforePluck:
19
23
  EnforcedStyle: aggressive
20
24
 
@@ -1,4 +1,5 @@
1
1
  AllCops:
2
+ NewCops: disable
2
3
  DisplayCopNames: true
3
4
  Exclude:
4
5
  - 'bin/**/*'
@@ -9,6 +10,19 @@ AllCops:
9
10
  - 'tmp/**/*'
10
11
  - 'vendor/**/*'
11
12
 
13
+ Bundler/GemComment:
14
+ Enabled: true
15
+ OnlyFor:
16
+ - 'version_specifiers'
17
+ - 'source'
18
+ - 'git'
19
+ - 'github'
20
+ - 'gist'
21
+
22
+ Gemspec/RequiredRubyVersion:
23
+ Exclude:
24
+ - schemas_gem/*_schemas.gemspec
25
+
12
26
  # This cop has poor handling for the common case of a lambda arg in a DSL
13
27
  Lint/AmbiguousBlockAssociation:
14
28
  Enabled: false
@@ -67,7 +81,7 @@ Naming/FileName:
67
81
  - 'Appraisals'
68
82
 
69
83
  Style/FrozenStringLiteralComment:
70
- Enabled: false
84
+ Enabled: true
71
85
 
72
86
  Style/GuardClause:
73
87
  Enabled: false
@@ -134,10 +148,6 @@ Style/StringLiterals:
134
148
  Exclude:
135
149
  - 'spec/**/*'
136
150
 
137
- # We don't require %i() for an array of symbols.
138
- Style/SymbolArray:
139
- Enabled: false
140
-
141
151
  Naming/VariableNumber:
142
152
  Enabled: false
143
153
 
@@ -156,10 +166,12 @@ Metrics/ClassLength:
156
166
  Metrics/CyclomaticComplexity:
157
167
  Enabled: false
158
168
 
159
- # Disabling line length enforcement since annotate generates
160
- # some pretty long lines
161
169
  Layout/LineLength:
162
- Enabled: false
170
+ Enabled: true
171
+ Max: 120
172
+ IgnoreCopDirectives: true
173
+ IgnoredPatterns:
174
+ - ^#
163
175
 
164
176
  Metrics/MethodLength:
165
177
  Enabled: false
@@ -189,3 +201,33 @@ Style/WordArray:
189
201
 
190
202
  Style/SymbolArray:
191
203
  EnforcedStyle: brackets
204
+
205
+ Lint/HashCompareByIdentity:
206
+ Enabled: false
207
+
208
+ Lint/IdentityComparison:
209
+ Enabled: false
210
+
211
+ Lint/MixedRegexpCaptureTypes:
212
+ Enabled: false
213
+
214
+ Lint/TopLevelReturnWithArgument:
215
+ Enabled: false
216
+
217
+ Style/CombinableLoops:
218
+ Enabled: false
219
+
220
+ Style/HashAsLastArrayItem:
221
+ Enabled: false
222
+
223
+ Style/HashEachMethods:
224
+ Enabled: false
225
+
226
+ Style/OptionalBooleanParameter:
227
+ Enabled: false
228
+
229
+ Style/RedundantSelfAssignment:
230
+ Enabled: false
231
+
232
+ Style/SingleArgumentDig:
233
+ Enabled: false
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RuboCop
2
4
  module Cop
3
5
  module Salsify
@@ -19,9 +21,9 @@ module RuboCop
19
21
 
20
22
  minimum_target_rails_version 5.0
21
23
 
22
- MSG = 'Mailers should subclass `ApplicationMailer`.'.freeze
23
- SUPERCLASS = 'ApplicationMailer'.freeze
24
- BASE_PATTERN = '(const (const nil? :ActionMailer) :Base)'.freeze
24
+ MSG = 'Mailers should subclass `ApplicationMailer`.'
25
+ SUPERCLASS = 'ApplicationMailer'
26
+ BASE_PATTERN = '(const (const nil? :ActionMailer) :Base)'
25
27
 
26
28
  include RuboCop::Cop::EnforceSuperclass
27
29
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RuboCop
2
4
  module Cop
3
5
  module Salsify
@@ -19,9 +21,9 @@ module RuboCop
19
21
 
20
22
  minimum_target_rails_version 5.0
21
23
 
22
- MSG = 'Serializers should subclass `ApplicationSerializer`.'.freeze
23
- SUPERCLASS = 'ApplicationSerializer'.freeze
24
- BASE_PATTERN = '(const (const nil? :ActiveModel) :Serializer)'.freeze
24
+ MSG = 'Serializers should subclass `ApplicationSerializer`.'
25
+ SUPERCLASS = 'ApplicationSerializer'
26
+ BASE_PATTERN = '(const (const nil? :ActiveModel) :Serializer)'
25
27
 
26
28
  include RuboCop::Cop::EnforceSuperclass
27
29
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RuboCop
2
4
  module Cop
3
5
  module Salsify
@@ -11,7 +13,7 @@ module RuboCop
11
13
  # # bad
12
14
  # User.unscoped
13
15
  class RailsUnscoped < Cop
14
- MSG = 'Explicitly remove scopes instead of using `unscoped`.'.freeze
16
+ MSG = 'Explicitly remove scopes instead of using `unscoped`.'
15
17
 
16
18
  def_node_matcher :unscoped?, <<-PATTERN
17
19
  (send _ :unscoped)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RuboCop
2
4
  module Cop
3
5
  module Salsify
@@ -17,45 +19,47 @@ module RuboCop
17
19
  # it 'does something' do
18
20
  # ...
19
21
  # end
20
- class RspecDocString < Cop
22
+ class RspecDocString < RuboCop::Cop::RSpec::Base
23
+ extend RuboCop::Cop::AutoCorrector
21
24
  include ConfigurableEnforcedStyle
22
25
 
23
26
  SINGLE_QUOTE_MSG =
24
- 'Example Group/Example doc strings must be single-quoted.'.freeze
27
+ 'Example Group/Example doc strings must be single-quoted.'
25
28
  DOUBLE_QUOTE_MSG =
26
- 'Example Group/Example doc strings must be double-quoted.'.freeze
29
+ 'Example Group/Example doc strings must be double-quoted.'
30
+
27
31
 
28
- SHARED_EXAMPLES = RuboCop::RSpec::Language::SelectorSet.new(
29
- [:include_examples, :it_behaves_like, :it_should_behave_like, :include_context]
30
- ).freeze
32
+ DOCUMENTED_METHODS = RuboCop::ConfigLoader.default_configuration.for_department('RSpec')
33
+ .fetch('Language')
34
+ .values_at('ExampleGroups', 'Examples', 'SharedGroups', 'Includes')
35
+ .flat_map { |element| element.values.flatten }
36
+ .map(&:to_sym)
31
37
 
32
- DOCUMENTED_METHODS = (RuboCop::RSpec::Language::ExampleGroups::ALL +
33
- RuboCop::RSpec::Language::Examples::ALL +
34
- RuboCop::RSpec::Language::SharedGroups::ALL +
35
- SHARED_EXAMPLES).freeze
38
+ def_node_matcher :documented_method?,
39
+ send_pattern(<<~PATTERN)
40
+ {
41
+ #ExampleGroups.all
42
+ #Examples.all
43
+ #SharedGroups.all
44
+ #Includes.all
45
+ }
46
+ PATTERN
36
47
 
37
48
  def on_send(node)
38
- _receiver, method_name, *args = *node
39
- return unless DOCUMENTED_METHODS.include?(method_name) &&
40
- !args.empty? && args.first.str_type?
49
+ _receiver, _method_name, *args = *node
50
+ return unless documented_method?(node) && args.first&.str_type?
41
51
 
42
52
  check_quotes(args.first)
43
53
  end
44
54
 
45
- def autocorrect(node)
46
- StringLiteralCorrector.correct(node, style)
47
- end
48
-
49
55
  private
50
56
 
51
57
  def check_quotes(doc_node)
52
- if wrong_quotes?(doc_node)
53
- if style == :single_quotes
54
- add_offense(doc_node, message: SINGLE_QUOTE_MSG)
55
- else
56
- add_offense(doc_node, message: DOUBLE_QUOTE_MSG)
57
- end
58
- end
58
+ return unless wrong_quotes?(doc_node)
59
+
60
+ add_offense(doc_node,
61
+ message: style == :single_quotes ? SINGLE_QUOTE_MSG : DOUBLE_QUOTE_MSG,
62
+ &StringLiteralCorrector.correct(doc_node, style))
59
63
  end
60
64
 
61
65
  def wrong_quotes?(node)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RuboCop
2
4
  module Cop
3
5
  module Salsify
@@ -15,26 +17,25 @@ module RuboCop
15
17
  # describe "self.does_stuff" do
16
18
  # ...
17
19
  # end
18
- class RspecDotNotSelfDot < Cop
20
+ class RspecDotNotSelfDot < RuboCop::Cop::RSpec::Base
21
+ extend RuboCop::Cop::AutoCorrector
19
22
 
20
23
  SELF_DOT_REGEXP = /["']self\./.freeze
21
- MSG = 'Use ".<class method>" instead of "self.<class method>" for example group description.'.freeze
24
+ MSG = 'Use ".<class method>" instead of "self.<class method>" for example group description.'
22
25
 
23
26
  def_node_matcher :example_group_match, <<-PATTERN
24
- (send _ #{RuboCop::RSpec::Language::ExampleGroups::ALL.node_pattern_union} $_ ...)
27
+ (send _ #ExampleGroups.all $_ ...)
25
28
  PATTERN
26
29
 
27
30
  def on_send(node)
28
31
  example_group_match(node) do |doc|
29
- add_offense(doc) if SELF_DOT_REGEXP =~ doc.source
30
- end
31
- end
32
+ next unless SELF_DOT_REGEXP.match?(doc.source)
32
33
 
33
- def autocorrect(node)
34
- lambda do |corrector|
35
- corrector.remove(Parser::Source::Range.new(node.source_range.source_buffer,
36
- node.source_range.begin_pos + 1,
37
- node.source_range.begin_pos + 5))
34
+ add_offense(doc) do |corrector|
35
+ corrector.remove(Parser::Source::Range.new(doc.source_range.source_buffer,
36
+ doc.source_range.begin_pos + 1,
37
+ doc.source_range.begin_pos + 5))
38
+ end
38
39
  end
39
40
  end
40
41
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RuboCop
2
4
  module Cop
3
5
  module Salsify
@@ -16,9 +18,9 @@ module RuboCop
16
18
  DOCUMENTED_METHODS = RuboCop::Cop::Salsify::RspecDocString::DOCUMENTED_METHODS
17
19
 
18
20
  SINGLE_QUOTE_MSG = 'Prefer single-quoted strings unless you need ' \
19
- 'interpolation or special symbols.'.freeze
21
+ 'interpolation or special symbols.'
20
22
  DOUBLE_QUOTE_MSG = 'Prefer double-quoted strings unless you need ' \
21
- 'single quotes to avoid extra backslashes for escaping.'.freeze
23
+ 'single quotes to avoid extra backslashes for escaping.'
22
24
 
23
25
  def autocorrect(node)
24
26
  StringLiteralCorrector.correct(node, style)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # This may be added in the near future to rubocop, see https://github.com/bbatsov/rubocop/issues/5332
2
4
 
3
5
  module RuboCop
@@ -21,7 +23,7 @@ module RuboCop
21
23
 
22
24
  minimum_target_ruby_version 2.3
23
25
 
24
- MSG = 'Use `dig` for nested access.'.freeze
26
+ MSG = 'Use `dig` for nested access.'
25
27
 
26
28
  def_node_matcher :nested_access_match, <<-PATTERN
27
29
  (send (send (send _receiver !:[]) :[] !{irange erange}) :[] !{irange erange})
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'salsify_rubocop/version'
2
4
  require 'rubocop-performance'
3
5
  require 'rubocop-rails'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SalsifyRubocop
2
- VERSION = '0.78.0'.freeze
4
+ VERSION = '1.0.1'
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  lib = File.expand_path('lib', __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
  require 'salsify_rubocop/version'
@@ -28,12 +30,15 @@ Gem::Specification.new do |spec|
28
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
31
  spec.require_paths = ['lib']
30
32
 
33
+ spec.required_ruby_version = '>= 2.4'
34
+
31
35
  spec.add_development_dependency 'bundler', '~> 2.0'
32
36
  spec.add_development_dependency 'rake', '~> 10.0'
33
37
  spec.add_development_dependency 'rspec', '~> 3.0'
38
+ spec.add_development_dependency 'rspec_junit_formatter'
34
39
 
35
- spec.add_runtime_dependency 'rubocop', '~> 0.78.0'
40
+ spec.add_runtime_dependency 'rubocop', '~> 1.0.0'
36
41
  spec.add_runtime_dependency 'rubocop-performance', '~> 1.5.0'
37
42
  spec.add_runtime_dependency 'rubocop-rails', '~> 2.4.0'
38
- spec.add_runtime_dependency 'rubocop-rspec', '~> 1.37.0'
43
+ spec.add_runtime_dependency 'rubocop-rspec', '~> 2.0.0'
39
44
  end
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: 0.78.0
4
+ version: 1.0.1
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-01-06 00:00:00.000000000 Z
11
+ date: 2020-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,20 +52,34 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec_junit_formatter
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rubocop
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: 0.78.0
75
+ version: 1.0.0
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: 0.78.0
82
+ version: 1.0.0
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rubocop-performance
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +114,14 @@ dependencies:
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: 1.37.0
117
+ version: 2.0.0
104
118
  type: :runtime
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: 1.37.0
124
+ version: 2.0.0
111
125
  description: Shared shared RuboCop configuration
112
126
  email:
113
127
  - engineering@salsify.com
@@ -115,10 +129,10 @@ executables: []
115
129
  extensions: []
116
130
  extra_rdoc_files: []
117
131
  files:
132
+ - ".circleci/config.yml"
118
133
  - ".gitignore"
119
134
  - ".rspec"
120
135
  - ".rubocop.yml"
121
- - ".travis.yml"
122
136
  - CHANGELOG.md
123
137
  - Gemfile
124
138
  - LICENSE.txt
@@ -138,7 +152,6 @@ files:
138
152
  - lib/rubocop/cop/salsify/rspec_dot_not_self_dot.rb
139
153
  - lib/rubocop/cop/salsify/rspec_string_literals.rb
140
154
  - lib/rubocop/cop/salsify/style_dig.rb
141
- - lib/rubocop/rspec/language/each_selector.rb
142
155
  - lib/salsify_rubocop.rb
143
156
  - lib/salsify_rubocop/version.rb
144
157
  - salsify_rubocop.gemspec
@@ -147,7 +160,7 @@ licenses:
147
160
  - MIT
148
161
  metadata:
149
162
  allowed_push_host: https://rubygems.org
150
- post_install_message:
163
+ post_install_message:
151
164
  rdoc_options: []
152
165
  require_paths:
153
166
  - lib
@@ -155,15 +168,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
168
  requirements:
156
169
  - - ">="
157
170
  - !ruby/object:Gem::Version
158
- version: '0'
171
+ version: '2.4'
159
172
  required_rubygems_version: !ruby/object:Gem::Requirement
160
173
  requirements:
161
174
  - - ">="
162
175
  - !ruby/object:Gem::Version
163
176
  version: '0'
164
177
  requirements: []
165
- rubygems_version: 3.0.6
166
- signing_key:
178
+ rubygems_version: 3.0.8
179
+ signing_key:
167
180
  specification_version: 4
168
181
  summary: Shared shared RuboCop configuration
169
182
  test_files: []
@@ -1,13 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.7.0
4
- - 2.6.0
5
- - 2.5.3
6
- - 2.4.5
7
- - 2.3.8
8
- before_install:
9
- - gem update --system
10
- - gem install bundler
11
- script:
12
- - bundle exec rubocop
13
- - bundle exec rspec
@@ -1,13 +0,0 @@
1
- # Monkey-patch SelectorSet to allow enumeration of selectors.
2
-
3
- module RuboCop
4
- module RSpec
5
- module Language
6
- class SelectorSet
7
- def each(&blk)
8
- selectors.each(&blk)
9
- end
10
- end
11
- end
12
- end
13
- end