rubocop-inst 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []