niftany 0.0.1

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.
@@ -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: []