-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSteepfile
More file actions
33 lines (24 loc) · 1.06 KB
/
Steepfile
File metadata and controls
33 lines (24 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# frozen_string_literal: true
D = Steep::Diagnostic
target :lib do
signature "sig"
signature "sig/external"
check "lib"
# Enable strict mode for better type safety
configure_code_diagnostics(D::Ruby.strict)
# Disable specific diagnostics that don't work well with common Ruby patterns
configure_code_diagnostics do |config|
# Mixin modules calling super in methods that will be available after include
config[D::Ruby::UnexpectedSuper] = :information
# instance_eval block type mismatch (block doesn't use self argument)
config[D::Ruby::BlockTypeMismatch] = :information
end
# Data.define with block causes Steep type checking issues
# See: https://github.com/ruby/rbs/blob/master/docs/data_and_struct.md
ignore "lib/stroma/hooks/hook.rb"
# Complex splat delegation (*args) in fetch method causes type checking issues
ignore "lib/stroma/settings/setting.rb"
# Dynamic module generation via Module.new causes type checking issues
# Steep can't analyze methods inside Module.new blocks
ignore "lib/stroma/dsl/generator.rb"
end