rubocop-inst 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/rubocop-rspec.yml +25 -0
  3. data/rubocop.yml +62 -0
  4. metadata +89 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 41d721e8aefe1d0de2823518a714cab45df04136163eef584958438d58f7e1e2
4
+ data.tar.gz: bcd273622cf2d5eccf077e059eb1644e96ebe07b3eba19dc5085fce3fb5b3749
5
+ SHA512:
6
+ metadata.gz: b8585418fa7a1de05fbf6b4304f24582abc3505f83c1ae00fc9d0f6153426e813035a0516c4fad52742fc33743801139cb5c90c093b933ffa84444e9340c6f9a
7
+ data.tar.gz: cc0a07ed42f9163d053285cd40ae053a0544e17a1823009541dd63d5aa3c8f10360b96a94d07e77f80a5acd5da49412d0139a5b1d191a9182ddee628c4e3e56d
data/rubocop-rspec.yml ADDED
@@ -0,0 +1,25 @@
1
+ require:
2
+ - rubocop-rspec
3
+
4
+ RSpec/ContainExactly:
5
+ Enabled: false # prefers match_array in some cases, which is an alias, and we don't have a strong preference either way
6
+ RSpec/DescribedClass:
7
+ Enabled: false # we haven't used it, and it seems antithetical to RSpec/NamedSubject
8
+ RSpec/ExampleLength:
9
+ Enabled: false # this is a Metrics-style cop
10
+ RSpec/ExampleWording:
11
+ Enabled: false # this is a Metrics-style cop
12
+ RSpec/ExpectInHook:
13
+ Enabled: false # follows RSpec/MultipleExpectations
14
+ RSpec/MatchArray:
15
+ Enabled: false # prefers contain_exactly in some cases, which is an alias, and we don't have a strong preference either way
16
+ RSpec/MessageSpies:
17
+ Enabled: false
18
+ RSpec/MultipleExpectations:
19
+ Enabled: false # this is a Metrics-style cop
20
+ RSpec/NestedGroups:
21
+ Enabled: false # this is a Metrics-style cop
22
+ RSpec/NoExpectationExample:
23
+ Enabled: false # it's okay to simply "assert" that nothing is raised
24
+ RSpec/StubbedMock:
25
+ Enabled: false # this style goes along with spies
data/rubocop.yml ADDED
@@ -0,0 +1,62 @@
1
+ require:
2
+ - rubocop-performance
3
+
4
+ AllCops:
5
+ NewCops: enable
6
+ Exclude:
7
+ - node_modules/**/*
8
+ - vendor/**/*
9
+
10
+ Gemspec/DevelopmentDependencies:
11
+ EnforcedStyle: gemspec
12
+
13
+ Layout/MultilineArrayLineBreaks:
14
+ Enabled: true
15
+ Layout/MultilineHashKeyLineBreaks:
16
+ Enabled: true
17
+ Layout/MultilineMethodArgumentLineBreaks:
18
+ Enabled: true
19
+ AllowMultilineFinalElement: true
20
+ Layout/MultilineMethodParameterLineBreaks:
21
+ Enabled: true
22
+ AllowMultilineFinalElement: true
23
+
24
+ Lint/UnusedBlockArgument:
25
+ AutoCorrect: false # force the engineer to think about how come it's unused, instead of silently _ prefixing it
26
+ Lint/UnusedMethodArgument:
27
+ AllowUnusedKeywordArguments: true # there's no way to mark a kwarg as unused
28
+ AutoCorrect: false # force the engineer to think about how come it's unused, instead of silently _ prefixing it
29
+
30
+ Metrics:
31
+ Enabled: false # SnR is just too low to have this enabled by default
32
+
33
+ Naming/HeredocDelimiterNaming:
34
+ ForbiddenDelimiters:
35
+ # negative regex - these are the _allowed_ delimiters
36
+ # any you add should describe the format of the data, not describe
37
+ # what the data is for. this allows editors to syntax highlight
38
+ - ^(?!AST|BASE64|CSV|GQL|HTML|JS|MD|PEM|REGEX|RUBY|SQL|SRT|TEXT|XML|YAML|PATTERN).+$
39
+
40
+ Performance/Casecmp:
41
+ Enabled: false # casecmp(other).zero? is a bad suggestion because it's not Unicode-aware (also it's less clear)
42
+
43
+ Style/Alias:
44
+ EnforcedStyle: prefer_alias_method # https://github.com/rubocop/ruby-style-guide/issues/821
45
+ Style/EmptyElse:
46
+ EnforcedStyle: empty # explicit nil indicates programmer intent
47
+ Style/FormatStringToken:
48
+ EnforcedStyle: template
49
+ Style/HashSyntax:
50
+ EnforcedStyle: ruby19_no_mixed_keys
51
+ Style/PercentQLiterals:
52
+ EnforcedStyle: upper_case_q
53
+ Style/PerlBackrefs:
54
+ Enabled: false # Regexp.last_match(1) is far worse than $1
55
+ Style/RescueStandardError:
56
+ EnforcedStyle: implicit
57
+ Style/StringLiterals:
58
+ EnforcedStyle: double_quotes
59
+ Style/StringLiteralsInInterpolation:
60
+ EnforcedStyle: double_quotes
61
+ Style/TernaryParentheses:
62
+ EnforcedStyle: require_parentheses_when_complex
metadata ADDED
@@ -0,0 +1,89 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rubocop-inst
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Cody Cutrer
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-04-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rubocop
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.50'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.50'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop-performance
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.17'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.17'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop-rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.6'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.6'
55
+ description: Shared Rubocop configuration for all Instructure Ruby projects
56
+ email:
57
+ - cody@instructure.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - rubocop-rspec.yml
63
+ - rubocop.yml
64
+ homepage: https://github.com/instructure/rubocop-inst
65
+ licenses:
66
+ - MIT
67
+ metadata:
68
+ homepage_uri: https://github.com/instructure/rubocop-inst
69
+ rubygems_mfa_required: 'true'
70
+ post_install_message:
71
+ rdoc_options: []
72
+ require_paths:
73
+ - lib
74
+ required_ruby_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: 2.6.0
79
+ required_rubygems_version: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ requirements: []
85
+ rubygems_version: 3.3.26
86
+ signing_key:
87
+ specification_version: 4
88
+ summary: Rubocop Config for Instructure
89
+ test_files: []