gitlab-styles 9.0.0 → 9.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: 410e573c3c17d84349a00ff756141e55ece0ba68c0d9aa23b76cfe2a8abde3ae
4
- data.tar.gz: a2fb908127f5f31c8d4a235155b4b2ad3208802cfc01bf895321a522a270477b
3
+ metadata.gz: 2e3e06ef1557da413f41116af9b5b01733a309e35bcd2717e8d8ec2473470589
4
+ data.tar.gz: 704feb3fc08d96cde2a0cdadc8dbe5bbdde1bcb3b18a010f6b964462ec0f33aa
5
5
  SHA512:
6
- metadata.gz: aa3f38ac00b776237c2a497ebb76d36e1ad51addc814ecbba7370a4d4cbeb0f67777131494a825431a2aa592d6597e57eaa83cae86ec452955b0399e1e46e1ec
7
- data.tar.gz: 445dfab1d9c2f0874c1c7ddb65426bf32953515fcfe1e96b15a119914acc5258753182318b524ff2d8af86b0fb1769d09f0991ce1aa8d2d24cd2a22cfcbe62fb
6
+ metadata.gz: 1dcbe74347c735155eed09bfd24923dff24013454269d8edc7d5e62c4b35ebf7413958bd3b4cff55192bdc51f01dbdfdf438f853dfab322e20b96f6ed283142c
7
+ data.tar.gz: 74ce09358878dd2deca30b2af8698eb46f3417b9f041794c00ee5e97bda90719548fb86250ef8718a7969c23361d256e7acf5669abaaaf6d60ed23eb5608e516
data/.gitlab-ci.yml CHANGED
@@ -3,7 +3,7 @@ stages:
3
3
  - deploy
4
4
 
5
5
  default:
6
- image: ruby:2.7
6
+ image: "ruby:${RUBY_VERSION}"
7
7
  tags:
8
8
  - gitlab-org
9
9
  before_script:
@@ -23,11 +23,17 @@ styles:
23
23
  stage: test
24
24
  script:
25
25
  - bundle exec rubocop --debug --parallel
26
+ parallel:
27
+ matrix:
28
+ - RUBY_VERSION: ['2.7', '3.0']
26
29
 
27
30
  specs:
28
31
  stage: test
29
32
  script:
30
33
  - bundle exec rspec
34
+ parallel:
35
+ matrix:
36
+ - RUBY_VERSION: ['2.7', '3.0']
31
37
 
32
38
  include:
33
39
  - project: 'gitlab-org/quality/pipeline-common'
data/Gemfile CHANGED
@@ -5,9 +5,13 @@ source 'https://rubygems.org'
5
5
  # Specify your gem's dependencies in gitlab-rubocop.gemspec
6
6
  gemspec
7
7
 
8
+ group :development do
9
+ gem "lefthook", require: false
10
+ end
11
+
8
12
  group :test do
9
13
  # Pin these dependencies, otherwise a new rule could break the CI pipelines
10
- gem 'rubocop', '1.36.0'
11
- gem 'rubocop-rspec', '2.12.1'
14
+ gem 'rubocop', '1.38.0'
15
+ gem 'rubocop-rspec', '2.15.0'
12
16
  gem 'rspec-parameterized', '0.5.2', require: false
13
17
  end
data/README.md CHANGED
@@ -66,10 +66,35 @@ After checking out the repo, run `bin/setup` to install dependencies.
66
66
  Then, run `rake spec` to run the tests. You can also run `bin/console` for an
67
67
  interactive prompt that will allow you to experiment.
68
68
 
69
- To install this gem onto your local machine, run `bundle exec rake install`. To
70
- release a new version, update the version number in `version.rb`, and then run
71
- `bundle exec rake release`, which will create a git tag for the version, push
72
- git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
69
+ To test some rules locally, there is a test application [in the playground folder](./playground/). It is a vanilla Rails 6 application with your local `gitlab-styles` included, and it is used to test RuboCop rules. You can add code in it (preferably RuboCop offenses) and run the following command to test the RuboCop policy we setup:
70
+
71
+ ```shell
72
+ cd playground
73
+ bundle install
74
+ bundle exec rubocop -c .rubocop.yml
75
+ ```
76
+
77
+ ### Activate lefthook locally
78
+
79
+ ```shell
80
+ lefthook install
81
+ ```
82
+
83
+ ## Release Process
84
+
85
+ We release `gitlab-styles` on an ad-hoc basis. There is no regularity to when
86
+ we release, we just release when we make a change - no matter the size of the
87
+ change.
88
+
89
+ To release a new version:
90
+
91
+ 1. Create a Merge Request.
92
+ 1. Use Merge Request template [Release.md](https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/blob/master/.gitlab/merge_request_templates/Release.md).
93
+ 1. Follow the instructions.
94
+ 1. (Optional, but appreciated) Create an MR on `gitlab-org/gitlab` project [with the `New Version of gitlab-styles.md` template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/merge_request_templates/New%20Version%20of%20gitlab-styles.md) to test the new version of `gitlab-styles`, and follow the MR instructions.
95
+ 1. After the Merge Request has been merged, a new gem version is [published automatically](https://gitlab.com/gitlab-org/quality/pipeline-common/-/blob/master/ci/gem-release.yml)
96
+
97
+ See [!123](https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/merge_requests/123) as an example.
73
98
 
74
99
  ## Contributing
75
100
 
@@ -78,10 +103,6 @@ https://gitlab.com/gitlab-org/gitlab-styles. This project is intended to be a
78
103
  safe, welcoming space for collaboration, and contributors are expected to adhere
79
104
  to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
80
105
 
81
- ## Release Process
82
-
83
- Please refer to the [Release Process](docs/release_process.md).
84
-
85
106
  ## License
86
107
 
87
108
  The gem is available as open source under the terms of the
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require "bundler/setup"
4
5
  require "gitlab/styles"
@@ -16,18 +16,18 @@ Gem::Specification.new do |spec|
16
16
  spec.license = 'MIT'
17
17
 
18
18
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
- f.match(%r{^(docs|test|spec|features)/})
19
+ f.match(%r{^(docs|test|spec|features|playground)/})
20
20
  end
21
21
  spec.bindir = 'exe'
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ['lib']
24
24
 
25
- spec.add_dependency 'rubocop', '~> 1.36.0'
25
+ spec.add_dependency 'rubocop', '~> 1.38.0'
26
26
  spec.add_dependency 'rubocop-gitlab-security', '~> 0.1.1'
27
27
  spec.add_dependency 'rubocop-graphql', '~> 0.14'
28
28
  spec.add_dependency 'rubocop-performance', '~> 1.14'
29
29
  spec.add_dependency 'rubocop-rails', '~> 2.15'
30
- spec.add_dependency 'rubocop-rspec', '~> 2.12'
30
+ spec.add_dependency 'rubocop-rspec', '~> 2.15'
31
31
 
32
32
  spec.add_development_dependency 'bundler', '~> 2.1'
33
33
  spec.add_development_dependency 'gitlab-dangerfiles', '~> 2.11.0'
data/lefthook.yml ADDED
@@ -0,0 +1,16 @@
1
+ # Lefthook configuration. For more information, see:
2
+ # https://github.com/Arkweid/lefthook/blob/master/docs/full_guide.md
3
+
4
+ pre-push:
5
+ parallel: true
6
+ commands:
7
+ # Run ruby linting
8
+ rubocop:
9
+ files: git diff --name-only --diff-filter=d $(git merge-base origin/master HEAD)..HEAD
10
+ glob: '*.{rb,rake}'
11
+ run: bundle exec rubocop --parallel --force-exclusion {files}
12
+
13
+ # Run all tests (warn if there are any missing tools required for tests).
14
+ rspec:
15
+ run: bundle exec rspec -f progress
16
+ glob: '*.rb'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Gitlab
4
4
  module Styles
5
- VERSION = '9.0.0'
5
+ VERSION = '9.2.0'
6
6
  end
7
7
  end
@@ -6,31 +6,29 @@ module Rubocop
6
6
  # `Gemfile` in order to avoid additional points of failure beyond
7
7
  # rubygems.org.
8
8
  class GemFetcher < RuboCop::Cop::Base
9
- MSG = 'Do not use gems from git repositories, only use gems from RubyGems.'
9
+ MSG = 'Do not use gems from git repositories, only use gems from RubyGems or vendored gems. ' \
10
+ 'See https://docs.gitlab.com/ee/development/gemfile.html#no-gems-fetched-from-git-repositories'
10
11
 
11
- GIT_KEYS = [:git, :github].freeze
12
+ # See https://bundler.io/guides/git.html#custom-git-sources
13
+ GIT_SOURCES = %i[git github gist bitbucket].freeze
12
14
 
13
- def on_send(node)
14
- return unless gemfile?(node)
15
-
16
- func_name = node.children[1]
17
- return unless func_name == :gem
15
+ # @!method gem_option(node)
16
+ def_node_matcher :gem_option, <<~PATTERN
17
+ (send nil? :gem _
18
+ (hash
19
+ <$(pair (sym {#{GIT_SOURCES.map(&:inspect).join(' ')}}) _)
20
+ ...>
21
+ )
22
+ )
23
+ PATTERN
18
24
 
19
- node.children.last.each_node(:pair) do |pair|
20
- key_name = pair.children[0].children[0].to_sym
21
- add_offense(pair.source_range) if GIT_KEYS.include?(key_name)
22
- end
23
- end
25
+ RESTRICT_ON_SEND = %i[gem].freeze
24
26
 
25
- private
27
+ def on_send(node)
28
+ pair_node = gem_option(node)
29
+ return unless pair_node
26
30
 
27
- def gemfile?(node)
28
- node
29
- .location
30
- .expression
31
- .source_buffer
32
- .name
33
- .end_with?("Gemfile")
31
+ add_offense(pair_node)
34
32
  end
35
33
  end
36
34
  end
@@ -70,6 +70,7 @@ module Rubocop
70
70
  def previous_line_valid?(node)
71
71
  previous_line(node).empty? ||
72
72
  start_clause_line?(previous_line(node)) ||
73
+ method_def_end?(node.parent, previous_line(node)) ||
73
74
  block_start?(previous_line(node)) ||
74
75
  begin_line?(previous_line(node)) ||
75
76
  assignment_line?(previous_line(node)) ||
@@ -94,6 +95,10 @@ module Rubocop
94
95
  line =~ /^\s*(def|=end|#|module|class|if|unless|else|elsif|ensure|when)/
95
96
  end
96
97
 
98
+ def method_def_end?(node, line)
99
+ node.def_type? && /\)\s*(#.*)?$/.match?(line)
100
+ end
101
+
97
102
  def end_clause_line?(line)
98
103
  line =~ /^\s*(#|rescue|else|elsif|when)/
99
104
  end
@@ -45,7 +45,7 @@ module Rubocop
45
45
 
46
46
  # @!method shared_examples(node)
47
47
  def_node_matcher :shared_examples,
48
- block_pattern('{#SharedGroups.all #Includes.all}')
48
+ block_pattern('{#SharedGroups.all #Includes.all}')
49
49
 
50
50
  def on_block(node)
51
51
  shared_examples(node) do
data/rubocop-bundler.yml CHANGED
@@ -1,4 +1,14 @@
1
1
  ---
2
+ require:
3
+ - ./lib/rubocop/cop/gem_fetcher
4
+
2
5
  # Gems in consecutive lines should be alphabetically sorted
3
6
  Bundler/OrderedGems:
4
7
  Enabled: false
8
+
9
+ Cop/GemFetcher:
10
+ Enabled: true
11
+ Include:
12
+ - '**/*.gemfile'
13
+ - '**/Gemfile'
14
+ - '**/gems.rb'
data/rubocop-layout.yml CHANGED
@@ -3,9 +3,15 @@
3
3
  Layout/AccessModifierIndentation:
4
4
  Enabled: true
5
5
 
6
+ # Check if the arguments on a multi-line method definition are aligned.
7
+ Layout/ArgumentAlignment:
8
+ # See https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/issues/42
9
+ EnforcedStyle: with_fixed_indentation
10
+
6
11
  # Align the elements of an array literal if they span more than one line.
7
12
  Layout/ArrayAlignment:
8
- Enabled: true
13
+ # See https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/issues/42
14
+ EnforcedStyle: with_fixed_indentation
9
15
 
10
16
  # Checks the indentation of the first line of the right-hand-side of a
11
17
  # multi-line assignment.
@@ -102,6 +108,23 @@ Layout/EndOfLine:
102
108
  Layout/ExtraSpacing:
103
109
  Enabled: true
104
110
 
111
+ # Checks the indentation of the first argument in a method call.
112
+ Layout/FirstArgumentIndentation:
113
+ # See https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/issues/42
114
+ EnforcedStyle: consistent
115
+
116
+ # Checks the indentation of the first element in an array literal where the
117
+ # opening bracket and the first element are on separate lines.
118
+ Layout/FirstArrayElementIndentation:
119
+ # See https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/issues/42
120
+ EnforcedStyle: consistent
121
+
122
+ # Checks the indentation of the first key in a hash literal where the opening
123
+ # brace and the first key are on separate lines.
124
+ Layout/FirstHashElementIndentation:
125
+ # See https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/issues/42
126
+ EnforcedStyle: consistent
127
+
105
128
  # Checks for a line break before the first parameter in a multi-line method
106
129
  # parameter definition.
107
130
  Layout/FirstMethodParameterLineBreak:
@@ -137,6 +160,17 @@ Layout/LineLength:
137
160
  Max: 120
138
161
  AllowedPatterns: ['\s#\srubocop']
139
162
 
163
+ # Checks that strings broken over multiple lines (by a backslash) contain
164
+ # trailing spaces instead of leading spaces (default) or leading spaces instead
165
+ # of trailing spaces.
166
+ Layout/LineContinuationLeadingSpace:
167
+ Enabled: true
168
+
169
+ # Checks that the backslash of a line continuation is separated from preceding
170
+ # text by exactly one space (default) or zero spaces.
171
+ Layout/LineContinuationSpacing:
172
+ Enabled: true
173
+
140
174
  # Checks that the closing brace in an array literal is either on the same line
141
175
  # as the last array element, or a new line.
142
176
  Layout/MultilineArrayBraceLayout:
@@ -147,6 +181,11 @@ Layout/MultilineArrayBraceLayout:
147
181
  Layout/MultilineBlockLayout:
148
182
  Enabled: true
149
183
 
184
+ # Checks the indentation of the next line after a line that ends with a string
185
+ # literal and a backslash.
186
+ Layout/LineEndStringConcatenationIndentation:
187
+ Enabled: true
188
+
150
189
  # Checks that the closing brace in a hash literal is either on the same line as
151
190
  # the last hash element, or a new line.
152
191
  Layout/MultilineHashBraceLayout:
@@ -177,7 +216,8 @@ Layout/MultilineOperationIndentation:
177
216
  # Here we check if the parameters on a multi-line method call or
178
217
  # definition are aligned.
179
218
  Layout/ParameterAlignment:
180
- Enabled: false
219
+ # See https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/issues/42
220
+ EnforcedStyle: with_fixed_indentation
181
221
 
182
222
  # Use spaces after colons.
183
223
  Layout/SpaceAfterColon:
@@ -223,6 +263,10 @@ Layout/SpaceAroundOperators:
223
263
  Layout/SpaceBeforeBlockBraces:
224
264
  Enabled: true
225
265
 
266
+ # Checks for space between the name of a receiver and a left brackets.
267
+ Layout/SpaceBeforeBrackets:
268
+ Enabled: true
269
+
226
270
  # No spaces before commas.
227
271
  Layout/SpaceBeforeComma:
228
272
  Enabled: true
data/rubocop-lint.yml CHANGED
@@ -12,7 +12,7 @@ Lint/AmbiguousOperator:
12
12
  # This cop checks for ambiguous regexp literals in the first argument of
13
13
  # a method invocation without parentheses.
14
14
  Lint/AmbiguousRegexpLiteral:
15
- Enabled: false
15
+ Enabled: true
16
16
 
17
17
  # This cop checks for assignments in the conditions of
18
18
  # if/while/until.
@@ -28,6 +28,11 @@ Performance/Casecmp:
28
28
  Performance/CollectionLiteralInLoop: # (new in 1.8)
29
29
  Enabled: true
30
30
 
31
+ # Identifies places where Concurrent.monotonic_time can be replaced by
32
+ # Process.clock_gettime(Process::CLOCK_MONOTONIC).
33
+ Performance/ConcurrentMonotonicTime:
34
+ Enabled: true
35
+
31
36
  Performance/ConstantRegexp: # (new in 1.9)
32
37
  Enabled: true
33
38
 
@@ -36,6 +41,17 @@ Performance/ConstantRegexp: # (new in 1.9)
36
41
  Performance/DoubleStartEndWith:
37
42
  Enabled: true
38
43
 
44
+ # Identifies usages of map { ... }.flatten and change them to use
45
+ # flat_map { ... } instead.
46
+ Performance/FlatMap:
47
+ Enabled: true
48
+ EnabledForFlattenWithoutParams: true
49
+
50
+ # This cop identifies places where map { …​ }.compact can be replaced by
51
+ # filter_map.
52
+ Performance/MapCompact:
53
+ Enabled: true
54
+
39
55
  Performance/MethodObjectAsBlock: # (new in 1.9)
40
56
  Enabled: true
41
57
 
@@ -52,6 +68,11 @@ Performance/RangeInclude:
52
68
  Performance/RedundantBlockCall:
53
69
  Enabled: true
54
70
 
71
+ # Checks for uses Enumerable#all?, Enumerable#any?, Enumerable#one?, and
72
+ # Enumerable#none? are compared with === or similar methods in block.
73
+ Performance/RedundantEqualityComparisonBlock:
74
+ Enabled: true
75
+
55
76
  # This cop identifies use of `Regexp#match` or `String#match in a context
56
77
  # where the integral return value of `=~` would do just as well.
57
78
  Performance/RedundantMatch:
@@ -73,6 +94,11 @@ Performance/RedundantSortBlock:
73
94
  Performance/RedundantStringChars:
74
95
  Enabled: true
75
96
 
97
+ # Identifies places where split argument can be replaced from a deterministic
98
+ # regexp to a string.
99
+ Performance/RedundantSplitRegexpArgument:
100
+ Enabled: true
101
+
76
102
  # Identifies places where reverse.first(n) and reverse.first can be replaced by last(n).reverse and last.
77
103
  # https://docs.rubocop.org/rubocop-performance/1.8/cops_performance.html#performancereversefirst
78
104
  Performance/ReverseFirst:
@@ -98,6 +124,12 @@ Performance/StartWith:
98
124
  Performance/StringInclude:
99
125
  Enabled: true
100
126
 
127
+ # Identifies places where string identifier argument can be replaced by symbol
128
+ # identifier argument. It prevents the redundancy of the internal
129
+ # string-to-symbol conversion.
130
+ Performance/StringIdentifierArgument:
131
+ Enabled: true
132
+
101
133
  # Use `tr` instead of `gsub` when you are replacing the same number of
102
134
  # characters. Use `delete` instead of `gsub` when you are deleting
103
135
  # characters.
data/rubocop-rspec.yml CHANGED
@@ -14,6 +14,16 @@ RSpec/BeEql:
14
14
  RSpec/BeforeAfterAll:
15
15
  Enabled: false
16
16
 
17
+ # Checks if there is a more specific finder offered by Capybara.
18
+ # https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/merge_requests/131#note_1141024624
19
+ RSpec/Capybara/SpecificFinders:
20
+ Enabled: false
21
+
22
+ # Enforces consistent use of be_a or be_kind_of.
23
+ # https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/merge_requests/131#note_1141022718
24
+ RSpec/ClassCheck:
25
+ Enabled: false
26
+
17
27
  # Check that the first argument to the top level describe is the tested class or
18
28
  # module.
19
29
  RSpec/DescribeClass:
@@ -30,6 +40,7 @@ RSpec/DescribeSymbol:
30
40
  # Checks that tests use `described_class`.
31
41
  RSpec/DescribedClass:
32
42
  Enabled: true
43
+ SkipBlocks: true
33
44
 
34
45
  # Checks if an example group does not include any tests.
35
46
  RSpec/EmptyExampleGroup:
@@ -61,6 +72,12 @@ RSpec/ExampleWording:
61
72
  RSpec/ExpectActual:
62
73
  Enabled: true
63
74
 
75
+ # Checks for `expect {...}.to change {...}` using a block.
76
+ # See https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/merge_requests/122#note_1089192391
77
+ RSpec/ExpectChange:
78
+ Enabled: true
79
+ EnforcedStyle: block
80
+
64
81
  # Checks for opportunities to use `expect { … }.to output`.
65
82
  RSpec/ExpectOutput:
66
83
  Enabled: true
@@ -131,6 +148,10 @@ RSpec/NotToNot:
131
148
  EnforcedStyle: not_to
132
149
  Enabled: true
133
150
 
151
+ # See https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/merge_requests/122#note_1089202045
152
+ RSpec/PredicateMatcher:
153
+ Enabled: false
154
+
134
155
  # Check for repeated description strings in example groups.
135
156
  RSpec/RepeatedDescription:
136
157
  Enabled: false
@@ -161,9 +182,3 @@ RSpec:
161
182
  - let_it_be
162
183
  - let_it_be_with_refind
163
184
  - let_it_be_with_reload
164
- Includes:
165
- Examples:
166
- - run_permission_checks
167
- - run_group_permission_checks
168
- - it_should_email!
169
- - it_should_not_email!
data/rubocop-security.yml CHANGED
@@ -11,6 +11,10 @@ Security/JSONLoad:
11
11
  Security/Eval:
12
12
  Enabled: true
13
13
 
14
+ # Checks for the first argument to IO.read, IO.binread, IO.write, IO.binwrite, IO.foreach, and IO.readlines
15
+ Security/IoMethods:
16
+ Enabled: true
17
+
14
18
  GitlabSecurity/DeepMunge:
15
19
  Enabled: true
16
20
  Exclude:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-styles
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.0
4
+ version: 9.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitLab
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-09 00:00:00.000000000 Z
11
+ date: 2022-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.36.0
19
+ version: 1.38.0
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.36.0
26
+ version: 1.38.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rubocop-gitlab-security
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '2.12'
89
+ version: '2.15'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '2.12'
96
+ version: '2.15'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bundler
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -175,6 +175,7 @@ files:
175
175
  - bin/console
176
176
  - bin/setup
177
177
  - gitlab-styles.gemspec
178
+ - lefthook.yml
178
179
  - lib/gitlab/styles.rb
179
180
  - lib/gitlab/styles/common/banned_constants.rb
180
181
  - lib/gitlab/styles/rubocop.rb