rubocop-katalyst 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,29 @@
1
+ # Naming configuration overrides
2
+ # https://docs.rubocop.org/rubocop/1.5/cops_lint.html
3
+
4
+ Naming/AccessorMethodName:
5
+ Description: Check the naming of accessor methods for get_/set_.
6
+ Enabled: false
7
+
8
+ Naming/AsciiIdentifiers:
9
+ Description: 'Use only ascii symbols in identifiers.'
10
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#english-identifiers'
11
+ Enabled: false
12
+
13
+ Naming/BinaryOperatorParameterName:
14
+ Description: 'When defining binary operators, name the argument other.'
15
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#other-arg'
16
+ Enabled: false
17
+
18
+ Naming/FileName:
19
+ Description: 'Use snake_case for source file names.'
20
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#snake-case-files'
21
+ Enabled: false
22
+
23
+ Naming/PredicateName:
24
+ Description: 'Check the names of predicate methods.'
25
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#bool-methods-qmark'
26
+ ForbiddenPrefixes:
27
+ - is_
28
+ Exclude:
29
+ - spec/**/*
@@ -0,0 +1,50 @@
1
+ # RuboCop Performance extension configuration overrides
2
+ # https://github.com/rubocop/rubocop-performance
3
+
4
+ Performance/CaseWhenSplat:
5
+ Description: >-
6
+ Place `when` conditions that use splat at the end
7
+ of the list of `when` branches.
8
+ Enabled: false
9
+
10
+ Performance/Count:
11
+ Description: >-
12
+ Use `count` instead of `select...size`, `reject...size`,
13
+ `select...count`, `reject...count`, `select...length`,
14
+ and `reject...length`.
15
+ Enabled: false
16
+
17
+ Performance/Detect:
18
+ Description: >-
19
+ Use `detect` instead of `select.first`, `find_all.first`,
20
+ `select.last`, and `find_all.last`.
21
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
22
+ Enabled: false
23
+
24
+ Performance/FlatMap:
25
+ Description: >-
26
+ Use `Enumerable#flat_map`
27
+ instead of `Enumerable#map...Array#flatten(1)`
28
+ or `Enumberable#collect..Array#flatten(1)`
29
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
30
+ Enabled: false
31
+
32
+ Performance/ReverseEach:
33
+ Description: 'Use `reverse_each` instead of `reverse.each`.'
34
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
35
+ Enabled: false
36
+
37
+ Performance/Size:
38
+ Description: >-
39
+ Use `size` instead of `count` for counting
40
+ the number of elements in `Array` and `Hash`.
41
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
42
+ Enabled: false
43
+
44
+ Performance/StringReplacement:
45
+ Description: >-
46
+ Use `tr` instead of `gsub` when you are replacing the same
47
+ number of characters. Use `delete` instead of `gsub` when
48
+ you are deleting characters.
49
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
50
+ Enabled: false
@@ -0,0 +1,61 @@
1
+ # RuboCop Rails extension configuration overrides
2
+ # https://github.com/rubocop/rubocop-rails
3
+
4
+ AllCops:
5
+ Exclude:
6
+ - bin/*
7
+ - db/schema.rb
8
+ - vendor/bundle/**/*
9
+
10
+ Rails:
11
+ TargetRailsVersion: ">= 6.0"
12
+
13
+ Rails/ActionFilter:
14
+ Description: 'Enforces consistent use of action filter methods.'
15
+ Enabled: false
16
+
17
+ Rails/Date:
18
+ Description: >-
19
+ Checks the correct usage of date aware methods,
20
+ such as Date.today, Date.current etc.
21
+ Enabled: true
22
+
23
+ Rails/Delegate:
24
+ Description: 'Prefer delegate method for delegations.'
25
+ Enabled: false
26
+
27
+ Rails/FindBy:
28
+ Description: 'Prefer find_by over where.first.'
29
+ Enabled: false
30
+
31
+ Rails/FindEach:
32
+ Description: 'Prefer all.find_each over all.find.'
33
+ Enabled: false
34
+
35
+ Rails/HasAndBelongsToMany:
36
+ Description: 'Prefer has_many :through to has_and_belongs_to_many.'
37
+ Enabled: false
38
+
39
+ Rails/Output:
40
+ Description: 'Checks for calls to puts, print, etc.'
41
+ Enabled: false
42
+
43
+ Rails/ReadWriteAttribute:
44
+ Description: >-
45
+ Checks for read_attribute(:attr) and
46
+ write_attribute(:attr, val).
47
+ Enabled: false
48
+
49
+ Rails/ScopeArgs:
50
+ Description: 'Checks the arguments of ActiveRecord scopes.'
51
+ Enabled: false
52
+
53
+ Rails/TimeZone:
54
+ Description: 'Checks the correct usage of time zone aware methods.'
55
+ StyleGuide: 'https://github.com/rubocop/rails-style-guide#time'
56
+ Reference: 'https://danilenko.org/2012/7/6/rails_timezones'
57
+ Enabled: false
58
+
59
+ Rails/Validation:
60
+ Description: 'Use validates :attribute, hash of validations.'
61
+ Enabled: false
@@ -0,0 +1,2 @@
1
+ # RuboCop Rake extension configuration overrides
2
+ # https://github.com/rubocop/rubocop-rake
@@ -0,0 +1,6 @@
1
+ # RuboCop RSpec extension configuration overrides
2
+ # https://github.com/rubocop/rubocop-rspec
3
+
4
+ RSpec/ExampleLength:
5
+ Exclude:
6
+ - spec/features/*
@@ -0,0 +1,2 @@
1
+ # Security configuration overrides
2
+ # https://docs.rubocop.org/rubocop/1.5/cops_security.html
@@ -0,0 +1,325 @@
1
+ # Style configuration overrides
2
+ # https://docs.rubocop.org/rubocop/1.5/cops_style.html
3
+
4
+ Style/Alias:
5
+ Description: 'Use alias_method instead of alias.'
6
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#alias-method'
7
+ Enabled: false
8
+
9
+ Style/ArrayJoin:
10
+ Description: 'Use Array#join instead of Array#*.'
11
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#array-join'
12
+ Enabled: false
13
+
14
+ Style/AsciiComments:
15
+ Description: 'Use only ascii symbols in comments.'
16
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#english-comments'
17
+ Enabled: false
18
+
19
+ Style/Attr:
20
+ Description: 'Checks for uses of Module#attr.'
21
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#attr'
22
+ Enabled: false
23
+
24
+ Style/CaseEquality:
25
+ Description: 'Avoid explicit use of the case equality operator(===).'
26
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-case-equality'
27
+ Enabled: false
28
+
29
+ Style/CharacterLiteral:
30
+ Description: 'Checks for uses of character literals.'
31
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-character-literals'
32
+ Enabled: false
33
+
34
+ Style/ClassAndModuleChildren:
35
+ Description: 'Checks style of children classes and modules.'
36
+ Enabled: true
37
+ EnforcedStyle: nested
38
+
39
+ Style/ClassVars:
40
+ Description: 'Avoid the use of class variables.'
41
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-class-vars'
42
+ Enabled: false
43
+
44
+ Style/CollectionMethods:
45
+ Enabled: true
46
+ PreferredMethods:
47
+ find: detect
48
+ inject: reduce
49
+ collect: map
50
+ find_all: select
51
+
52
+ Style/ColonMethodCall:
53
+ Description: 'Do not use :: for method call.'
54
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#double-colons'
55
+ Enabled: false
56
+
57
+ Style/CommentAnnotation:
58
+ Description: >-
59
+ Checks formatting of special comments
60
+ (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
61
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#annotate-keywords'
62
+ Enabled: false
63
+
64
+ Style/PreferredHashMethods:
65
+ Description: 'Checks use of `has_key?` and `has_value?` Hash methods.'
66
+ StyleGuide: '#hash-key'
67
+ Enabled: false
68
+
69
+ Style/Documentation:
70
+ Description: 'Document classes and non-namespace modules.'
71
+ Enabled: false
72
+
73
+ Style/DoubleNegation:
74
+ Description: 'Checks for uses of double negation (!!).'
75
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-bang-bang'
76
+ Enabled: false
77
+
78
+ Style/EachWithObject:
79
+ Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
80
+ Enabled: false
81
+
82
+ Style/EmptyLiteral:
83
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
84
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#literal-array-hash'
85
+ Enabled: false
86
+
87
+ # Checks whether the source file has a utf-8 encoding comment or not
88
+ # AutoCorrectEncodingComment must match the regex
89
+ # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
90
+ Style/Encoding:
91
+ Enabled: false
92
+
93
+ Style/EvenOdd:
94
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
95
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#predicate-methods'
96
+ Enabled: false
97
+
98
+ Style/FrozenStringLiteralComment:
99
+ Description: >-
100
+ Add the frozen_string_literal comment to the top of files
101
+ to help transition from Ruby 2.3.0 to Ruby 3.0.
102
+ Enabled: true
103
+
104
+ Style/FormatString:
105
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
106
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#sprintf'
107
+ Enabled: false
108
+
109
+ Style/GlobalVars:
110
+ Description: 'Do not introduce global variables.'
111
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#instance-vars'
112
+ Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
113
+ Enabled: false
114
+
115
+ Style/GuardClause:
116
+ Description: 'Check for conditionals that can be replaced with guard clauses'
117
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-nested-conditionals'
118
+ Enabled: false
119
+
120
+ Style/IfUnlessModifier:
121
+ Description: >-
122
+ Favor modifier if/unless usage when you have a
123
+ single-line body.
124
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#if-as-a-modifier'
125
+ Enabled: false
126
+
127
+ Style/IfWithSemicolon:
128
+ Description: 'Do not use if x; .... Use the ternary operator instead.'
129
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-semicolon-ifs'
130
+ Enabled: false
131
+
132
+ Style/InlineComment:
133
+ Description: 'Avoid inline comments.'
134
+ Enabled: false
135
+
136
+ Style/Lambda:
137
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
138
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#lambda-multi-line'
139
+ Enabled: false
140
+
141
+ Style/LambdaCall:
142
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
143
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#proc-call'
144
+ Enabled: false
145
+
146
+ Style/LineEndConcatenation:
147
+ Description: >-
148
+ Use \ instead of + or << to concatenate two string literals at
149
+ line end.
150
+ Enabled: false
151
+
152
+ Style/ModuleFunction:
153
+ Description: 'Checks for usage of `extend self` in modules.'
154
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#module-function'
155
+ Enabled: false
156
+
157
+ Style/MultilineBlockChain:
158
+ Description: 'Avoid multi-line chains of blocks.'
159
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#single-line-blocks'
160
+ Enabled: false
161
+
162
+ Style/NegatedIf:
163
+ Description: >-
164
+ Favor unless over if for negative conditions
165
+ (or control flow or).
166
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#unless-for-negatives'
167
+ Enabled: false
168
+
169
+ Style/NegatedWhile:
170
+ Description: 'Favor until over while for negative conditions.'
171
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#until-for-negatives'
172
+ Enabled: false
173
+
174
+ Style/Next:
175
+ Description: 'Use `next` to skip iteration instead of a condition at the end.'
176
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-nested-conditionals'
177
+ Enabled: false
178
+
179
+ Style/NilComparison:
180
+ Description: 'Prefer x.nil? to x == nil.'
181
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#predicate-methods'
182
+ Enabled: false
183
+
184
+ Style/Not:
185
+ Description: 'Use ! instead of not.'
186
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#bang-not-not'
187
+ Enabled: false
188
+
189
+ Style/NumericLiterals:
190
+ Description: >-
191
+ Add underscores to large numeric literals to improve their
192
+ readability.
193
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#underscores-in-numerics'
194
+ Enabled: false
195
+
196
+ Style/OneLineConditional:
197
+ Description: >-
198
+ Favor the ternary operator(?:) over
199
+ if/then/else/end constructs.
200
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#ternary-operator'
201
+ Enabled: false
202
+
203
+ Style/PercentLiteralDelimiters:
204
+ Description: 'Use `%`-literal delimiters consistently'
205
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#percent-literal-braces'
206
+ Enabled: false
207
+
208
+ Style/PerlBackrefs:
209
+ Description: 'Avoid Perl-style regex back references.'
210
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-perl-regexp-last-matchers'
211
+ Enabled: false
212
+
213
+ Style/Proc:
214
+ Description: 'Use proc instead of Proc.new.'
215
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#proc'
216
+ Enabled: false
217
+
218
+ Style/RaiseArgs:
219
+ Description: 'Checks the arguments passed to raise/fail.'
220
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#exception-class-messages'
221
+ Enabled: false
222
+
223
+ Style/RegexpLiteral:
224
+ Description: 'Use / or %r around regular expressions.'
225
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#percent-r'
226
+ Enabled: false
227
+
228
+ Style/Sample:
229
+ Description: >-
230
+ Use `sample` instead of `shuffle.first`,
231
+ `shuffle.last`, and `shuffle[Fixnum]`.
232
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
233
+ Enabled: false
234
+
235
+ Style/SelfAssignment:
236
+ Description: >-
237
+ Checks for places where self-assignment shorthand should have
238
+ been used.
239
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#self-assignment'
240
+ Enabled: false
241
+
242
+ Style/SingleLineBlockParams:
243
+ Description: 'Enforces the names of some block params.'
244
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#reduce-blocks'
245
+ Enabled: false
246
+
247
+ Style/SingleLineMethods:
248
+ Description: 'Avoid single-line methods.'
249
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-single-line-methods'
250
+ Enabled: false
251
+
252
+ Style/SignalException:
253
+ Description: 'Checks for proper usage of fail and raise.'
254
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#fail-method'
255
+ Enabled: false
256
+
257
+ Style/SpecialGlobalVars:
258
+ Description: 'Avoid Perl-style global variables.'
259
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-cryptic-perlisms'
260
+ Enabled: false
261
+
262
+ Style/StringLiterals:
263
+ Description: 'Checks if uses of quotes match the configured preference.'
264
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#consistent-string-literals'
265
+ EnforcedStyle: double_quotes
266
+ Enabled: true
267
+
268
+ Style/TrailingCommaInArguments:
269
+ Description: 'Checks for trailing comma in argument lists.'
270
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-trailing-array-commas'
271
+ EnforcedStyleForMultiline: comma
272
+ SupportedStylesForMultiline:
273
+ - comma
274
+ - consistent_comma
275
+ - no_comma
276
+ Enabled: true
277
+
278
+ Style/TrailingCommaInArrayLiteral:
279
+ Description: 'Checks for trailing comma in array literals.'
280
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-trailing-array-commas'
281
+ EnforcedStyleForMultiline: comma
282
+ SupportedStylesForMultiline:
283
+ - comma
284
+ - consistent_comma
285
+ - no_comma
286
+ Enabled: true
287
+
288
+ Style/TrailingCommaInHashLiteral:
289
+ Description: 'Checks for trailing comma in hash literals.'
290
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#no-trailing-array-commas'
291
+ EnforcedStyleForMultiline: comma
292
+ SupportedStylesForMultiline:
293
+ - comma
294
+ - consistent_comma
295
+ - no_comma
296
+ Enabled: true
297
+
298
+ Style/TrivialAccessors:
299
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
300
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#attr_family'
301
+ Enabled: false
302
+
303
+ Style/VariableInterpolation:
304
+ Description: >-
305
+ Don't interpolate global, instance and class variables
306
+ directly in strings.
307
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#curlies-interpolate'
308
+ Enabled: false
309
+
310
+ Style/WhenThen:
311
+ Description: 'Use when x then ... for one-line cases.'
312
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#one-line-cases'
313
+ Enabled: false
314
+
315
+ Style/WhileUntilModifier:
316
+ Description: >-
317
+ Favor modifier while/until usage when you have a
318
+ single-line body.
319
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#while-as-a-modifier'
320
+ Enabled: false
321
+
322
+ Style/WordArray:
323
+ Description: 'Use %w or %W for arrays of words.'
324
+ StyleGuide: 'https://github.com/rubocop/ruby-style-guide#percent-w'
325
+ Enabled: false
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module Cop
5
+ module Katalyst; end
6
+ end
7
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # The original code is from https://github.com/rubocop-hq/rubocop-rspec/blob/master/lib/rubocop/rspec/inject.rb
4
+ # See https://github.com/rubocop-hq/rubocop-rspec/blob/master/MIT-LICENSE.md
5
+ module RuboCop
6
+ module Katalyst
7
+ # Because RuboCop doesn't yet support plugins, we have to monkey patch in a
8
+ # bit of our configuration.
9
+ module Inject
10
+ def self.defaults!
11
+ project_root = Pathname.new(__dir__).parent.parent.parent.expand_path
12
+ config_default = project_root.join("config", "default.yml")
13
+ path = config_default.to_s
14
+ hash = ConfigLoader.send(:load_file, File.new(path))
15
+ config = RuboCop::Config.new(hash, path)
16
+ puts "configuration from #{path}" if ConfigLoader.debug?
17
+ config = ConfigLoader.merge_with_default(config, path)
18
+ ConfigLoader.instance_variable_set(:@default_configuration, config)
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module Katalyst
5
+ VERSION = "0.1.0"
6
+ end
7
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "katalyst/version"
4
+
5
+ module RuboCop
6
+ module Katalyst
7
+ class Error < StandardError; end
8
+ # Your code goes here...
9
+ PROJECT_ROOT = Pathname.new(__dir__).parent.parent.expand_path.freeze
10
+ CONFIG_DEFAULT = PROJECT_ROOT.join("config", "default.yml").freeze
11
+ CONFIG = YAML.safe_load(CONFIG_DEFAULT.read).freeze
12
+
13
+ private_constant(:CONFIG_DEFAULT, :PROJECT_ROOT)
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rubocop"
4
+ require "rubocop-performance"
5
+ require "rubocop-rails"
6
+ require "rubocop-rake"
7
+ require "rubocop-rspec"
8
+
9
+ require_relative "rubocop/katalyst"
10
+ require_relative "rubocop/katalyst/inject"
11
+ require_relative "rubocop/katalyst/version"
12
+
13
+ RuboCop::Katalyst::Inject.defaults!
14
+
15
+ require_relative "rubocop/cop/katalyst_cops"
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/rubocop/katalyst/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "rubocop-katalyst"
7
+ spec.version = RuboCop::Katalyst::VERSION
8
+ spec.authors = ["Matt Redmond"]
9
+ spec.email = ["matt.redmond@katalyst.com.au"]
10
+
11
+ spec.summary = "Code standards for Katalyst"
12
+ spec.description = "Custom RuboCop for the Katalyst styleguide"
13
+ spec.homepage = "https://github.com/katalyst/rubocop-katalyst"
14
+ spec.license = "MIT"
15
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
16
+
17
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
18
+
19
+ spec.metadata["homepage_uri"] = spec.homepage
20
+ spec.metadata["source_code_uri"] = "https://github.com/katalyst/rubocop-katalyst"
21
+ spec.metadata["changelog_uri"] = "https://github.com/katalyst/rubocop-katalyst/changelog.md"
22
+
23
+ # Specify which files should be added to the gem when it is released.
24
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
26
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features|\.rubocop)/}) }
27
+ end
28
+ spec.bindir = "exe"
29
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
30
+ spec.require_paths = ["lib"]
31
+
32
+ # Uncomment to register a new dependency of your gem
33
+ # spec.add_dependency "example-gem", "~> 1.0"
34
+
35
+ # For more information and examples about making a new gem, checkout our
36
+ # guide at: https://bundler.io/guides/creating_gem.html
37
+
38
+ spec.add_runtime_dependency "rubocop"
39
+ spec.add_runtime_dependency "rubocop-performance"
40
+ spec.add_runtime_dependency "rubocop-rails"
41
+ spec.add_runtime_dependency "rubocop-rake"
42
+ spec.add_runtime_dependency "rubocop-rspec"
43
+ end