niftany 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e4dfb09145aab3adf6b701335ed268fb542528c14613988e086b5f8f09234c66
4
+ data.tar.gz: 00747f91fe011a869ae8f816f953e74a776ef1c748020dec589011669c683fa6
5
+ SHA512:
6
+ metadata.gz: 1fadc30550257e696583f7e35241b68b2ac56618639a2412490ff0daf6a2e50a985001fb1b7d980226fe52b7d8e0f53b87851965193f946706ffb92ac476f76c
7
+ data.tar.gz: f9b9f096af4e694c8b392e1c36f31dd6e0e28fbf017dc6e0b7c720fe889197cd36fd42c0d37e8476b7f57b391c0431d1a662f5c42b57d85f8e6e555cff2e53c7
@@ -0,0 +1,13 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
12
+ niftany-0.0.1.gem
13
+ Gemfile.lock
@@ -0,0 +1,2 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
@@ -0,0 +1,13 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2018-03-20 11:47:53 -0400 using RuboCop version 0.52.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 2
10
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
11
+ # URISchemes: http, https
12
+ Metrics/LineLength:
13
+ Max: 116
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.4.1
5
+ before_install: gem install bundler -v 1.16.1
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in niftany.gemspec
6
+ gemspec
@@ -0,0 +1,46 @@
1
+ # Niftany
2
+
3
+ A portmanteau of Penn State's _nittany_ lion, and _nifty_, meaning fashionable and stylish.
4
+ Niftany combines different linters such as Rubocop, erb-lint, scss-lint and others,
5
+ manging their different versions and configurations in one gem.
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'niftany'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install niftany
22
+
23
+ ## Usage
24
+
25
+ Setup and run each linter accordingly:
26
+
27
+ ### Rubocop
28
+
29
+ In your local `.rubocop.yml` file, add:
30
+
31
+ inherit_gem:
32
+ niftany: niftany_rubocop.yml
33
+
34
+ Then run:
35
+
36
+ $ bundle exec rubocop -a
37
+
38
+ ### erb-lint
39
+
40
+ Copy `niftany_erblint.yml` to your local repo and run:
41
+
42
+ $ bundle exec erblint --lint-all --autocorrect
43
+
44
+ ### scss-lint
45
+
46
+ $ bundle exec scss-lint
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'niftany'
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require 'irb'
14
+ IRB.start(__FILE__)
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,22 @@
1
+
2
+ Gem::Specification.new do |spec|
3
+ spec.name = 'niftany'
4
+ spec.version = '0.0.1'
5
+ spec.authors = ['Adam Wead']
6
+ spec.email = ['amsterdamos@gmail.com']
7
+ spec.summary = 'Manages configurations and versions of linters used in projects at '\
8
+ 'Penn State University Libraries.'
9
+ spec.description = 'Combining "nittany" and "nifty" into one, super-nice gem that lints all our code at once.'
10
+ spec.homepage = 'https://github.com/psu-libraries/niftany'
11
+ spec.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
12
+ spec.bindir = 'exe'
13
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
14
+
15
+ spec.add_dependency 'erb_lint', '~> 0.0.22'
16
+ spec.add_dependency 'rubocop', '~> 0.51', '<= 0.52.1'
17
+ spec.add_dependency 'rubocop-rspec', '~> 1.22', '<= 1.22.2'
18
+ spec.add_dependency 'scss_lint', '~> 0.55'
19
+
20
+ spec.add_development_dependency 'bundler', '~> 1.16'
21
+ spec.add_development_dependency 'rake', '~> 10.0'
22
+ end
@@ -0,0 +1,48 @@
1
+ ---
2
+ linters:
3
+ ClosingErbTagIndent:
4
+ enabled: true
5
+ FinalNewline:
6
+ enabled: false
7
+ ExtraNewline:
8
+ enabled: true
9
+ FinalNewline:
10
+ enabled: true
11
+ HardCodedString:
12
+ enabled: false
13
+ RightTrim:
14
+ enabled: true
15
+ enforced_style: '-'
16
+ Rubocop:
17
+ enabled: true
18
+ rubocop_config:
19
+ inherit_gem:
20
+ niftany:
21
+ - niftany_rubocop_ruby.yml
22
+ - niftany_rubocop_rails.yml
23
+ Layout/InitialIndentation:
24
+ Enabled: false
25
+ Layout/TrailingBlankLines:
26
+ Enabled: false
27
+ Layout/TrailingWhitespace:
28
+ Enabled: false
29
+ Naming/FileName:
30
+ Enabled: false
31
+ Style/FrozenStringLiteralComment:
32
+ Enabled: false
33
+ Metrics/LineLength:
34
+ Enabled: false
35
+ Lint/UselessAssignment:
36
+ Enabled: false
37
+ Rails/OutputSafety:
38
+ Enabled: false
39
+ SelfClosingTag:
40
+ enabled: true
41
+ SpaceAroundErbTag:
42
+ enabled: true
43
+ SpaceInHtmlTag:
44
+ enabled: true
45
+ SpaceIndentation:
46
+ enabled: true
47
+ TrailingWhitespace:
48
+ enabled: true
@@ -0,0 +1,5 @@
1
+ ---
2
+ inherit_from:
3
+ - niftany_rubocop_rails.yml
4
+ - niftany_rubocop_rspec.yml
5
+ - niftany_rubocop_ruby.yml
@@ -0,0 +1,63 @@
1
+ ---
2
+ AllCops:
3
+ Include:
4
+ - '**/Rakefile'
5
+ - '**/config.ru'
6
+ Exclude:
7
+ - 'db/**/*'
8
+ - 'script/**/*'
9
+ - 'tmp/**/*'
10
+ - 'vendor/**/*'
11
+
12
+ Rails/Delegate:
13
+ Description: 'Prefer delegate method for delegations.'
14
+ Enabled: false
15
+
16
+ Rails:
17
+ Enabled: true
18
+
19
+ Rails/ActionFilter:
20
+ Description: 'Enforces consistent use of action filter methods.'
21
+ Enabled: false
22
+
23
+ Rails/Date:
24
+ Description: >-
25
+ Checks the correct usage of date aware methods,
26
+ such as Date.today, Date.current etc.
27
+ Enabled: false
28
+
29
+ Rails/FindBy:
30
+ Description: 'Prefer find_by over where.first.'
31
+ Enabled: false
32
+
33
+ Rails/FindEach:
34
+ Description: 'Prefer all.find_each over all.find.'
35
+ Enabled: false
36
+
37
+ Rails/HasAndBelongsToMany:
38
+ Description: 'Prefer has_many :through to has_and_belongs_to_many.'
39
+ Enabled: false
40
+
41
+ Rails/Output:
42
+ Description: 'Checks for calls to puts, print, etc.'
43
+ Enabled: false
44
+
45
+ Rails/ReadWriteAttribute:
46
+ Description: >-
47
+ Checks for read_attribute(:attr) and
48
+ write_attribute(:attr, val).
49
+ Enabled: false
50
+
51
+ Rails/ScopeArgs:
52
+ Description: 'Checks the arguments of ActiveRecord scopes.'
53
+ Enabled: false
54
+
55
+ Rails/TimeZone:
56
+ Description: 'Checks the correct usage of time zone aware methods.'
57
+ StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
58
+ Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
59
+ Enabled: false
60
+
61
+ Rails/Validation:
62
+ Description: 'Use validates :attribute, hash of validations.'
63
+ Enabled: false
@@ -0,0 +1,42 @@
1
+ ---
2
+ require: rubocop-rspec
3
+
4
+ AllCops:
5
+ RSpec:
6
+ Patterns:
7
+ - _spec.rb
8
+ - "(?:^|/)spec/"
9
+
10
+ Layout/MultilineBlockLayout:
11
+ Exclude:
12
+ - 'spec/**/*'
13
+
14
+ Naming/PredicateName:
15
+ Exclude:
16
+ - spec/**/*
17
+
18
+ Style/BlockDelimiters:
19
+ Exclude:
20
+ - 'spec/**/*'
21
+
22
+ Layout/BlockEndNewline:
23
+ Exclude:
24
+ - 'spec/**/*'
25
+
26
+ RSpec/ExampleWording:
27
+ CustomTransform:
28
+ be: is
29
+ have: has
30
+ not: does not
31
+ NOT: does NOT
32
+ IgnoredWords:
33
+ - only
34
+
35
+ RSpec/FilePath:
36
+ Enabled: false
37
+
38
+ RSpec/InstanceVariable:
39
+ Enabled: false
40
+
41
+ RSpec/DescribeClass:
42
+ Enabled: true
@@ -0,0 +1,612 @@
1
+ ---
2
+ AllCops:
3
+ TargetRubyVersion: 2.3
4
+ DisplayCopNames: true
5
+
6
+ Naming/AccessorMethodName:
7
+ Description: Check the naming of accessor methods for get_/set_.
8
+ Enabled: true
9
+
10
+ Style/Alias:
11
+ Description: 'Use alias_method instead of alias.'
12
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
13
+ Enabled: false
14
+
15
+ Style/ArrayJoin:
16
+ Description: 'Use Array#join instead of Array#*.'
17
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
18
+ Enabled: false
19
+
20
+ Style/AsciiComments:
21
+ Description: 'Use only ascii symbols in comments.'
22
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
23
+ Enabled: false
24
+
25
+ Naming/AsciiIdentifiers:
26
+ Description: 'Use only ascii symbols in identifiers.'
27
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
28
+ Enabled: false
29
+
30
+ Style/Attr:
31
+ Description: 'Checks for uses of Module#attr.'
32
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
33
+ Enabled: false
34
+
35
+ Metrics/BlockNesting:
36
+ Description: 'Avoid excessive block nesting'
37
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
38
+ Enabled: false
39
+
40
+ Style/BracesAroundHashParameters:
41
+ Description: >-
42
+ Checks for braces around the last parameter in a method call if the last parameter is a hash.
43
+ It supports 3 styles: braces, no_braces, context_dependent
44
+ Enabled: true
45
+
46
+ Style/CaseEquality:
47
+ Description: 'Avoid explicit use of the case equality operator(===).'
48
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
49
+ Enabled: false
50
+
51
+ Style/CharacterLiteral:
52
+ Description: 'Checks for uses of character literals.'
53
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
54
+ Enabled: false
55
+
56
+ Style/ClassAndModuleChildren:
57
+ Description: 'Checks style of children classes and modules.'
58
+ Enabled: false
59
+
60
+ Metrics/ClassLength:
61
+ Description: 'Avoid classes longer than 100 lines of code.'
62
+ Enabled: true
63
+
64
+ Metrics/ModuleLength:
65
+ Description: 'Avoid modules longer than 100 lines of code.'
66
+ Enabled: false
67
+
68
+ Style/ClassVars:
69
+ Description: 'Avoid the use of class variables.'
70
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
71
+ Enabled: true
72
+
73
+ Style/CollectionMethods:
74
+ Enabled: true
75
+ PreferredMethods:
76
+ inject: reduce
77
+ collect: map
78
+ collect!: map!
79
+ find_all: select
80
+ detect: find
81
+
82
+ Style/ColonMethodCall:
83
+ Description: 'Do not use :: for method call.'
84
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
85
+ Enabled: false
86
+
87
+ Style/CommentAnnotation:
88
+ Description: >-
89
+ Checks formatting of special comments
90
+ (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
91
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
92
+ Enabled: false
93
+
94
+ Metrics/AbcSize:
95
+ Description: >-
96
+ A calculated magnitude based on number of assignments,
97
+ branches, and conditions.
98
+ Enabled: false
99
+
100
+ Metrics/CyclomaticComplexity:
101
+ Description: >-
102
+ A complexity metric that is strongly correlated to the number
103
+ of test cases needed to validate a method.
104
+ Enabled: true
105
+
106
+ Metrics/PerceivedComplexity:
107
+ Description: >-
108
+ This cop tries to produce a complexity score that's a measure of the complexity
109
+ the reader experiences when looking at a method
110
+ Enabled: true
111
+
112
+ Style/Documentation:
113
+ Description: 'Document classes and non-namespace modules.'
114
+ Enabled: false
115
+
116
+ Style/DoubleNegation:
117
+ Description: 'Checks for uses of double negation (!!).'
118
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
119
+ Enabled: false
120
+
121
+ Style/EachWithObject:
122
+ Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
123
+ Enabled: false
124
+
125
+ Style/EmptyLiteral:
126
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
127
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
128
+ Enabled: false
129
+
130
+ # Checks whether the source file has a utf-8 encoding comment or not
131
+ # AutoCorrectEncodingComment must match the regex
132
+ # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
133
+ Style/Encoding:
134
+ Enabled: false
135
+
136
+ Style/EvenOdd:
137
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
138
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
139
+ Enabled: false
140
+
141
+ Naming/FileName:
142
+ Description: 'Use snake_case for source file names.'
143
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
144
+ Enabled: false
145
+
146
+ Style/FrozenStringLiteralComment:
147
+ Description: >-
148
+ Add the frozen_string_literal comment to the top of files
149
+ to help transition from Ruby 2.3.0 to Ruby 3.0.
150
+ Enabled: true
151
+
152
+ Style/FlipFlop:
153
+ Description: 'Checks for flip flops'
154
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
155
+ Enabled: false
156
+
157
+ Style/FormatString:
158
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
159
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
160
+ Enabled: false
161
+
162
+ Style/GlobalVars:
163
+ Description: 'Do not introduce global variables.'
164
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
165
+ Enabled: true
166
+
167
+ Style/GuardClause:
168
+ Description: 'Check for conditionals that can be replaced with guard clauses'
169
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
170
+ Enabled: false
171
+
172
+ Style/IfUnlessModifier:
173
+ Description: >-
174
+ Favor modifier if/unless usage when you have a
175
+ single-line body.
176
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
177
+ Enabled: false
178
+
179
+ Style/IfWithSemicolon:
180
+ Description: 'Do not use if x; .... Use the ternary operator instead.'
181
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
182
+ Enabled: false
183
+
184
+ Layout/IndentationConsistency:
185
+ Description: 'Checks for inconsistent indentation.'
186
+ EnforcedStyle: rails
187
+
188
+ Style/InlineComment:
189
+ Description: 'Avoid inline comments.'
190
+ Enabled: false
191
+
192
+ Style/Lambda:
193
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
194
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
195
+ Enabled: false
196
+
197
+ Style/LambdaCall:
198
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
199
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
200
+ Enabled: false
201
+
202
+ Style/LineEndConcatenation:
203
+ Description: >-
204
+ Use \ instead of + or << to concatenate two string literals at
205
+ line end.
206
+ Enabled: false
207
+
208
+ Metrics/LineLength:
209
+ Description: 'Limit lines to 80 characters.'
210
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
211
+ Enabled: false
212
+
213
+ Metrics/MethodLength:
214
+ Description: 'Avoid methods longer than 10 lines of code.'
215
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
216
+ Enabled: false
217
+
218
+ Style/ModuleFunction:
219
+ Description: 'Checks for usage of `extend self` in modules.'
220
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
221
+ Enabled: false
222
+
223
+ Style/MultilineBlockChain:
224
+ Description: 'Avoid multi-line chains of blocks.'
225
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
226
+ Enabled: false
227
+
228
+ Layout/MultilineBlockLayout:
229
+ Description: 'Checks whether the multiline do end blocks have a newline after the start of the block.'
230
+ Enabled: true
231
+
232
+ Style/NegatedIf:
233
+ Description: >-
234
+ Favor unless over if for negative conditions
235
+ (or control flow or).
236
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
237
+ Enabled: false
238
+
239
+ Style/NegatedWhile:
240
+ Description: 'Favor until over while for negative conditions.'
241
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
242
+ Enabled: false
243
+
244
+ Style/Next:
245
+ Description: 'Use `next` to skip iteration instead of a condition at the end.'
246
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
247
+ Enabled: false
248
+
249
+ Style/NilComparison:
250
+ Description: 'Prefer x.nil? to x == nil.'
251
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
252
+ Enabled: false
253
+
254
+ Style/Not:
255
+ Description: 'Use ! instead of not.'
256
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
257
+ Enabled: false
258
+
259
+ Style/NumericLiterals:
260
+ Description: >-
261
+ Add underscores to large numeric literals to improve their
262
+ readability.
263
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
264
+ Enabled: false
265
+
266
+ Style/OneLineConditional:
267
+ Description: >-
268
+ Favor the ternary operator(?:) over
269
+ if/then/else/end constructs.
270
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
271
+ Enabled: false
272
+
273
+ Naming/BinaryOperatorParameterName:
274
+ Description: 'When defining binary operators, name the argument other.'
275
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
276
+ Enabled: false
277
+
278
+ Metrics/ParameterLists:
279
+ Description: 'Avoid parameter lists longer than three or four parameters.'
280
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
281
+ Enabled: false
282
+
283
+ Style/PercentLiteralDelimiters:
284
+ Description: 'Use `%`-literal delimiters consistently'
285
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
286
+ Enabled: false
287
+
288
+ Style/PerlBackrefs:
289
+ Description: 'Avoid Perl-style regex back references.'
290
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
291
+ Enabled: false
292
+
293
+ Naming/PredicateName:
294
+ Description: 'Check the names of predicate methods.'
295
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
296
+ NamePrefixBlacklist:
297
+ - is_
298
+
299
+ Style/Proc:
300
+ Description: 'Use proc instead of Proc.new.'
301
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
302
+ Enabled: false
303
+
304
+ Style/RaiseArgs:
305
+ Description: 'Checks the arguments passed to raise/fail.'
306
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
307
+ Enabled: false
308
+
309
+ Style/RegexpLiteral:
310
+ Description: 'Use / or %r around regular expressions.'
311
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
312
+ Enabled: false
313
+
314
+ Style/SelfAssignment:
315
+ Description: >-
316
+ Checks for places where self-assignment shorthand should have
317
+ been used.
318
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
319
+ Enabled: false
320
+
321
+ Style/SingleLineBlockParams:
322
+ Description: 'Enforces the names of some block params.'
323
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
324
+ Enabled: false
325
+
326
+ Style/SingleLineMethods:
327
+ Description: 'Avoid single-line methods.'
328
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
329
+ Enabled: false
330
+
331
+ Style/SignalException:
332
+ Description: 'Checks for proper usage of fail and raise.'
333
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
334
+ Enabled: false
335
+
336
+ Style/SpecialGlobalVars:
337
+ Description: 'Avoid Perl-style global variables.'
338
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
339
+ Enabled: false
340
+
341
+ Style/StringLiterals:
342
+ Description: 'Checks if uses of quotes match the configured preference.'
343
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
344
+ EnforcedStyle: single_quotes
345
+ Enabled: true
346
+
347
+ Style/TrailingCommaInArguments:
348
+ Description: >-
349
+ Checks for trailing comma in argument lists. Supported styles are:
350
+ comma
351
+ consistent_comma
352
+ no_comma
353
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
354
+ EnforcedStyleForMultiline: no_comma
355
+ Enabled: true
356
+
357
+ Style/TrailingCommaInLiteral:
358
+ Description: >-
359
+ Checks for trailing comma in array and hash literals. Supported styles are:
360
+ comma
361
+ consistent_comma
362
+ no_comma
363
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
364
+ EnforcedStyleForMultiline: no_comma
365
+ Enabled: true
366
+
367
+ Style/TrivialAccessors:
368
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
369
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
370
+ Enabled: false
371
+
372
+ Lint/UselessAssignment:
373
+ Description: >-
374
+ Checks for every useless assignment to local variable in every scope.
375
+ The basic idea for this cop was from the warning of `ruby -cw`:'
376
+ Enabled: true
377
+
378
+ Naming/VariableName:
379
+ Description: 'Makes sure that all variables use the configured style, snake_case or camelCase, for their names.'
380
+ Enabled: true
381
+
382
+ Style/VariableInterpolation:
383
+ Description: >-
384
+ Don't interpolate global, instance and class variables
385
+ directly in strings.
386
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
387
+ Enabled: false
388
+
389
+ Style/WhenThen:
390
+ Description: 'Use when x then ... for one-line cases.'
391
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
392
+ Enabled: false
393
+
394
+ Style/WhileUntilModifier:
395
+ Description: >-
396
+ Favor modifier while/until usage when you have a
397
+ single-line body.
398
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
399
+ Enabled: false
400
+
401
+ Style/WordArray:
402
+ Description: 'Use %w or %W for arrays of words.'
403
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
404
+ Enabled: false
405
+
406
+ # Layout
407
+
408
+ Layout/AlignParameters:
409
+ Description: 'Here we check if the parameters on a multi-line method call or definition are aligned.'
410
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
411
+ Enabled: false
412
+
413
+ Layout/DotPosition:
414
+ Description: 'Checks the position of the dot in multi-line method calls.'
415
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
416
+ EnforcedStyle: leading
417
+
418
+ Layout/ExtraSpacing:
419
+ Description: 'Do not use unnecessary spacing.'
420
+ Enabled: true
421
+
422
+ Layout/MultilineOperationIndentation:
423
+ Description: >-
424
+ Checks indentation of binary operations that span more than
425
+ one line.
426
+ Enabled: true
427
+ EnforcedStyle: indented
428
+
429
+ Layout/MultilineMethodCallIndentation:
430
+ Description: >-
431
+ Checks indentation of method calls with the dot operator
432
+ that span more than one line.
433
+ Enabled: true
434
+ EnforcedStyle: indented
435
+
436
+ Layout/InitialIndentation:
437
+ Description: >-
438
+ Checks the indentation of the first non-blank non-comment line in a file.
439
+ Enabled: false
440
+
441
+ Style/SymbolArray:
442
+ Description: This cop checks for array literals made up of symbols that are not using the %i() syntax.
443
+ Enabled: false
444
+
445
+ Style/SymbolArray:
446
+ Description: This cop checks for array literals made up of symbols that are not using the %i() syntax.
447
+ Enabled: false
448
+
449
+ # Lint
450
+
451
+ Lint/AmbiguousOperator:
452
+ Description: >-
453
+ Checks for ambiguous operators in the first argument of a
454
+ method invocation without parentheses.
455
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
456
+ Enabled: false
457
+
458
+ Lint/AmbiguousRegexpLiteral:
459
+ Description: >-
460
+ Checks for ambiguous regexp literals in the first argument of
461
+ a method invocation without parenthesis.
462
+ Enabled: false
463
+
464
+ Lint/AssignmentInCondition:
465
+ Description: "Don't use assignment in conditions."
466
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
467
+ Enabled: false
468
+
469
+ Lint/CircularArgumentReference:
470
+ Description: "Don't refer to the keyword argument in the default value."
471
+ Enabled: false
472
+
473
+ Lint/ConditionPosition:
474
+ Description: >-
475
+ Checks for condition placed in a confusing position relative to
476
+ the keyword.
477
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
478
+ Enabled: false
479
+
480
+ Lint/DeprecatedClassMethods:
481
+ Description: 'Check for deprecated class method calls.'
482
+ Enabled: false
483
+
484
+ Lint/DuplicatedKey:
485
+ Description: 'Check for duplicate keys in hash literals.'
486
+ Enabled: true
487
+
488
+ Lint/EachWithObjectArgument:
489
+ Description: 'Check for immutable argument given to each_with_object.'
490
+ Enabled: false
491
+
492
+ Lint/ElseLayout:
493
+ Description: 'Check for odd code arrangement in an else block.'
494
+ Enabled: false
495
+
496
+ Lint/FormatParameterMismatch:
497
+ Description: 'The number of parameters to format/sprint must match the fields.'
498
+ Enabled: false
499
+
500
+ Lint/HandleExceptions:
501
+ Description: "Don't suppress exception."
502
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
503
+ Enabled: false
504
+
505
+ Lint/LiteralAsCondition:
506
+ Description: 'Checks of literals used in conditions.'
507
+ Enabled: true
508
+
509
+ Lint/LiteralInInterpolation:
510
+ Description: 'Checks for literals used in interpolation.'
511
+ Enabled: false
512
+
513
+ Lint/Loop:
514
+ Description: >-
515
+ Use Kernel#loop with break rather than begin/end/until or
516
+ begin/end/while for post-loop tests.
517
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
518
+ Enabled: false
519
+
520
+ Lint/NestedMethodDefinition:
521
+ Description: 'Do not use nested method definitions.'
522
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
523
+ Enabled: false
524
+
525
+ Lint/NonLocalExitFromIterator:
526
+ Description: 'Do not use return in iterator to cause non-local exit.'
527
+ Enabled: false
528
+
529
+ Lint/ParenthesesAsGroupedExpression:
530
+ Description: >-
531
+ Checks for method calls with a space before the opening
532
+ parenthesis.
533
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
534
+ Enabled: false
535
+
536
+ Lint/RequireParentheses:
537
+ Description: >-
538
+ Use parentheses in the method call to avoid confusion
539
+ about precedence.
540
+ Enabled: false
541
+
542
+ Lint/UnderscorePrefixedVariableName:
543
+ Description: 'Do not use prefix `_` for a variable that is used.'
544
+ Enabled: false
545
+
546
+ Lint/UnneededDisable:
547
+ Description: >-
548
+ Checks for rubocop:disable comments that can be removed.
549
+ Note: this cop is not disabled when disabling all cops.
550
+ It must be explicitly disabled.
551
+ Enabled: false
552
+
553
+ Lint/Void:
554
+ Description: 'Possible use of operator/literal/variable in void context.'
555
+ Enabled: false
556
+
557
+ # Performance
558
+
559
+ Performance/CaseWhenSplat:
560
+ Description: >-
561
+ Place `when` conditions that use splat at the end
562
+ of the list of `when` branches.
563
+ Enabled: false
564
+
565
+ Performance/Count:
566
+ Description: >-
567
+ Use `count` instead of `select...size`, `reject...size`,
568
+ `select...count`, `reject...count`, `select...length`,
569
+ and `reject...length`.
570
+ Enabled: false
571
+
572
+ Performance/Detect:
573
+ Description: >-
574
+ Use `detect` instead of `select.first`, `find_all.first`,
575
+ `select.last`, and `find_all.last`.
576
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
577
+ Enabled: false
578
+
579
+ Performance/FlatMap:
580
+ Description: >-
581
+ Use `Enumerable#flat_map`
582
+ instead of `Enumerable#map...Array#flatten(1)`
583
+ or `Enumberable#collect..Array#flatten(1)`
584
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
585
+ Enabled: false
586
+
587
+ Performance/ReverseEach:
588
+ Description: 'Use `reverse_each` instead of `reverse.each`.'
589
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
590
+ Enabled: false
591
+
592
+ Performance/Sample:
593
+ Description: >-
594
+ Use `sample` instead of `shuffle.first`,
595
+ `shuffle.last`, and `shuffle[Fixnum]`.
596
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
597
+ Enabled: false
598
+
599
+ Performance/Size:
600
+ Description: >-
601
+ Use `size` instead of `count` for counting
602
+ the number of elements in `Array` and `Hash`.
603
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
604
+ Enabled: false
605
+
606
+ Performance/StringReplacement:
607
+ Description: >-
608
+ Use `tr` instead of `gsub` when you are replacing the same
609
+ number of characters. Use `delete` instead of `gsub` when
610
+ you are deleting characters.
611
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
612
+ Enabled: false
metadata ADDED
@@ -0,0 +1,156 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: niftany
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Adam Wead
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-03-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: erb_lint
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.22
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.0.22
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.51'
34
+ - - "<="
35
+ - !ruby/object:Gem::Version
36
+ version: 0.52.1
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '0.51'
44
+ - - "<="
45
+ - !ruby/object:Gem::Version
46
+ version: 0.52.1
47
+ - !ruby/object:Gem::Dependency
48
+ name: rubocop-rspec
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.22'
54
+ - - "<="
55
+ - !ruby/object:Gem::Version
56
+ version: 1.22.2
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '1.22'
64
+ - - "<="
65
+ - !ruby/object:Gem::Version
66
+ version: 1.22.2
67
+ - !ruby/object:Gem::Dependency
68
+ name: scss_lint
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '0.55'
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '0.55'
81
+ - !ruby/object:Gem::Dependency
82
+ name: bundler
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '1.16'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '1.16'
95
+ - !ruby/object:Gem::Dependency
96
+ name: rake
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '10.0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '10.0'
109
+ description: Combining "nittany" and "nifty" into one, super-nice gem that lints all
110
+ our code at once.
111
+ email:
112
+ - amsterdamos@gmail.com
113
+ executables: []
114
+ extensions: []
115
+ extra_rdoc_files: []
116
+ files:
117
+ - ".gitignore"
118
+ - ".rubocop.yml"
119
+ - ".rubocop_todo.yml"
120
+ - ".travis.yml"
121
+ - Gemfile
122
+ - README.md
123
+ - Rakefile
124
+ - bin/console
125
+ - bin/setup
126
+ - niftany.gemspec
127
+ - niftany_erblint.yml
128
+ - niftany_rubocop.yml
129
+ - niftany_rubocop_rails.yml
130
+ - niftany_rubocop_rspec.yml
131
+ - niftany_rubocop_ruby.yml
132
+ homepage: https://github.com/psu-libraries/niftany
133
+ licenses: []
134
+ metadata: {}
135
+ post_install_message:
136
+ rdoc_options: []
137
+ require_paths:
138
+ - lib
139
+ required_ruby_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ required_rubygems_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ requirements: []
150
+ rubyforge_project:
151
+ rubygems_version: 2.7.4
152
+ signing_key:
153
+ specification_version: 4
154
+ summary: Manages configurations and versions of linters used in projects at Penn State
155
+ University Libraries.
156
+ test_files: []