packwerk 2.1.1 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +29 -20
  3. data/.github/workflows/cla.yml +22 -0
  4. data/.rubocop.yml +48 -19
  5. data/Gemfile +7 -2
  6. data/Gemfile.lock +204 -177
  7. data/README.md +7 -2
  8. data/RESOLVING_VIOLATIONS.md +81 -0
  9. data/Rakefile +1 -1
  10. data/USAGE.md +14 -5
  11. data/bin/m +1 -1
  12. data/bin/rake +1 -1
  13. data/bin/rubocop +1 -1
  14. data/bin/srb +1 -1
  15. data/bin/tapioca +1 -1
  16. data/gemfiles/Gemfile-rails-6-0 +1 -1
  17. data/gemfiles/Gemfile-rails-6-1 +22 -0
  18. data/lib/packwerk/application_load_paths.rb +12 -18
  19. data/lib/packwerk/application_validator.rb +7 -6
  20. data/lib/packwerk/association_inspector.rb +17 -15
  21. data/lib/packwerk/cache.rb +36 -29
  22. data/lib/packwerk/cli.rb +14 -8
  23. data/lib/packwerk/const_node_inspector.rb +8 -7
  24. data/lib/packwerk/constant_name_inspector.rb +2 -2
  25. data/lib/packwerk/deprecated_references.rb +34 -19
  26. data/lib/packwerk/file_processor.rb +25 -23
  27. data/lib/packwerk/files_for_processing.rb +33 -35
  28. data/lib/packwerk/formatters/offenses_formatter.rb +3 -3
  29. data/lib/packwerk/formatters/progress_formatter.rb +2 -2
  30. data/lib/packwerk/node.rb +1 -294
  31. data/lib/packwerk/node_helpers.rb +335 -0
  32. data/lib/packwerk/node_processor.rb +6 -5
  33. data/lib/packwerk/node_processor_factory.rb +3 -3
  34. data/lib/packwerk/node_visitor.rb +1 -1
  35. data/lib/packwerk/offense_collection.rb +6 -3
  36. data/lib/packwerk/offenses_formatter.rb +2 -2
  37. data/lib/packwerk/package.rb +3 -0
  38. data/lib/packwerk/package_set.rb +3 -1
  39. data/lib/packwerk/parse_run.rb +15 -13
  40. data/lib/packwerk/parsed_constant_definitions.rb +23 -20
  41. data/lib/packwerk/parsers/erb.rb +3 -3
  42. data/lib/packwerk/parsers/parser_interface.rb +2 -0
  43. data/lib/packwerk/reference_checking/checkers/checker.rb +16 -3
  44. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +16 -0
  45. data/lib/packwerk/reference_checking/checkers/privacy_checker.rb +18 -0
  46. data/lib/packwerk/reference_checking/reference_checker.rb +4 -4
  47. data/lib/packwerk/reference_extractor.rb +51 -54
  48. data/lib/packwerk/reference_offense.rb +3 -27
  49. data/lib/packwerk/run_context.rb +9 -7
  50. data/lib/packwerk/spring_command.rb +1 -1
  51. data/lib/packwerk/version.rb +1 -1
  52. data/lib/packwerk.rb +1 -0
  53. data/packwerk.gemspec +4 -11
  54. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +2754 -0
  55. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +1496 -0
  56. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +2362 -0
  57. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +19397 -0
  58. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +1569 -0
  59. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +14907 -0
  60. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +2553 -0
  61. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +5999 -0
  62. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +37832 -0
  63. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +2321 -0
  64. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +18818 -0
  65. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +11722 -0
  66. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +90 -0
  67. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  68. data/sorbet/rbi/gems/digest@3.1.0.rbi +189 -0
  69. data/sorbet/rbi/gems/erubi@1.11.0.rbi +140 -0
  70. data/sorbet/rbi/gems/globalid@1.0.0.rbi +572 -0
  71. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  72. data/sorbet/rbi/gems/json@2.6.2.rbi +1548 -0
  73. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +8 -0
  74. data/sorbet/rbi/gems/loofah@2.18.0.rbi +877 -0
  75. data/sorbet/rbi/gems/m@1.6.0.rbi +257 -0
  76. data/sorbet/rbi/gems/marcel@1.0.2.rbi +220 -0
  77. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +170 -0
  78. data/sorbet/rbi/gems/mini_portile2@2.8.0.rbi +8 -0
  79. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +104 -0
  80. data/sorbet/rbi/gems/minitest@5.16.2.rbi +2136 -0
  81. data/sorbet/rbi/gems/mocha@1.14.0.rbi +4177 -0
  82. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +2147 -0
  83. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +926 -0
  84. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +11 -0
  85. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +1108 -0
  86. data/sorbet/rbi/gems/netrc@0.11.0.rbi +153 -0
  87. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +292 -0
  88. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +6478 -0
  89. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  90. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +9029 -0
  91. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +8 -0
  92. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  93. data/sorbet/rbi/gems/racc@1.6.0.rbi +152 -0
  94. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +953 -0
  95. data/sorbet/rbi/gems/rack@2.2.4.rbi +5636 -0
  96. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +688 -0
  97. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +8 -0
  98. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +3507 -0
  99. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +392 -0
  100. data/sorbet/rbi/gems/rake@13.0.6.rbi +2924 -0
  101. data/sorbet/rbi/gems/rbi@0.0.15.rbi +3007 -0
  102. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +3383 -0
  103. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4714 -0
  104. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +6961 -0
  105. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +2986 -0
  106. data/sorbet/rbi/gems/{rubocop-shopify@2.0.1.rbi → rubocop-shopify@2.9.0.rbi} +4 -4
  107. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +992 -0
  108. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +51820 -0
  109. data/sorbet/rbi/gems/ruby-lsp@0.2.1.rbi +11 -0
  110. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +474 -0
  111. data/sorbet/rbi/gems/spoom@1.1.11.rbi +2181 -0
  112. data/sorbet/rbi/gems/spring@4.0.0.rbi +411 -0
  113. data/sorbet/rbi/gems/strscan@3.0.4.rbi +8 -0
  114. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +8 -0
  115. data/sorbet/rbi/gems/tapioca@0.9.2.rbi +3181 -0
  116. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  117. data/sorbet/rbi/gems/timeout@0.3.0.rbi +142 -0
  118. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +5896 -0
  119. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +48 -0
  120. data/sorbet/rbi/gems/unparser@0.6.5.rbi +4529 -0
  121. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2582 -0
  122. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +993 -0
  123. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +388 -0
  124. data/sorbet/rbi/gems/yard@0.9.28.rbi +18242 -0
  125. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +867 -0
  126. data/sorbet/rbi/shims/psych.rbi +5 -0
  127. data/sorbet/tapioca/require.rb +2 -3
  128. metadata +88 -143
  129. data/.github/probots.yml +0 -2
  130. data/library.yml +0 -6
  131. data/service.yml +0 -1
  132. data/sorbet/rbi/gems/actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -860
  133. data/sorbet/rbi/gems/actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -568
  134. data/sorbet/rbi/gems/actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -587
  135. data/sorbet/rbi/gems/actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -5314
  136. data/sorbet/rbi/gems/actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -699
  137. data/sorbet/rbi/gems/actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -2515
  138. data/sorbet/rbi/gems/activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -624
  139. data/sorbet/rbi/gems/activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -1248
  140. data/sorbet/rbi/gems/activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8363
  141. data/sorbet/rbi/gems/activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -876
  142. data/sorbet/rbi/gems/activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -3987
  143. data/sorbet/rbi/gems/colorize@0.8.1.rbi +0 -40
  144. data/sorbet/rbi/gems/commander@4.5.2.rbi +0 -8
  145. data/sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi +0 -1969
  146. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +0 -26
  147. data/sorbet/rbi/gems/erubi@1.10.0.rbi +0 -41
  148. data/sorbet/rbi/gems/globalid@0.4.2.rbi +0 -178
  149. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -8
  150. data/sorbet/rbi/gems/i18n@1.8.10.rbi +0 -600
  151. data/sorbet/rbi/gems/loofah@2.9.0.rbi +0 -274
  152. data/sorbet/rbi/gems/m@1.5.1.rbi +0 -108
  153. data/sorbet/rbi/gems/marcel@1.0.0.rbi +0 -70
  154. data/sorbet/rbi/gems/mini_mime@1.0.3.rbi +0 -71
  155. data/sorbet/rbi/gems/minitest-focus@1.2.1.rbi +0 -8
  156. data/sorbet/rbi/gems/minitest@5.14.4.rbi +0 -544
  157. data/sorbet/rbi/gems/mocha@1.12.0.rbi +0 -953
  158. data/sorbet/rbi/gems/nio4r@2.5.7.rbi +0 -90
  159. data/sorbet/rbi/gems/nokogiri@1.11.2.rbi +0 -1647
  160. data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -117
  161. data/sorbet/rbi/gems/parlour@6.0.0.rbi +0 -1272
  162. data/sorbet/rbi/gems/parser@3.0.0.0.rbi +0 -1745
  163. data/sorbet/rbi/gems/pry@0.14.0.rbi +0 -8
  164. data/sorbet/rbi/gems/psych@3.3.2.rbi +0 -24
  165. data/sorbet/rbi/gems/racc@1.5.2.rbi +0 -57
  166. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +0 -335
  167. data/sorbet/rbi/gems/rack@2.2.3.rbi +0 -1718
  168. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +0 -213
  169. data/sorbet/rbi/gems/rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8
  170. data/sorbet/rbi/gems/railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -880
  171. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -155
  172. data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -837
  173. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -8
  174. data/sorbet/rbi/gems/rexml@3.2.4.rbi +0 -8
  175. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -8
  176. data/sorbet/rbi/gems/rubocop-performance@1.10.2.rbi +0 -8
  177. data/sorbet/rbi/gems/rubocop-sorbet@0.6.1.rbi +0 -8
  178. data/sorbet/rbi/gems/rubocop@1.12.0.rbi +0 -8
  179. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +0 -168
  180. data/sorbet/rbi/gems/spoom@1.1.0.rbi +0 -1061
  181. data/sorbet/rbi/gems/spring@2.1.1.rbi +0 -160
  182. data/sorbet/rbi/gems/sprockets-rails@3.2.2.rbi +0 -451
  183. data/sorbet/rbi/gems/sprockets@4.0.2.rbi +0 -1133
  184. data/sorbet/rbi/gems/tapioca@0.4.19.rbi +0 -603
  185. data/sorbet/rbi/gems/thor@1.1.0.rbi +0 -893
  186. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +0 -566
  187. data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +0 -8
  188. data/sorbet/rbi/gems/websocket-driver@0.7.3.rbi +0 -438
  189. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +0 -177
@@ -1,1061 +0,0 @@
1
- # DO NOT EDIT MANUALLY
2
- # This is an autogenerated file for types exported from the `spoom` gem.
3
- # Please instead update this file by running `bin/tapioca sync`.
4
-
5
- # typed: true
6
-
7
- module Spoom
8
- class << self
9
- sig { params(cmd: String, arg: String, path: String, capture_err: T::Boolean).returns([String, T::Boolean]) }
10
- def exec(cmd, *arg, path: T.unsafe(nil), capture_err: T.unsafe(nil)); end
11
- end
12
- end
13
-
14
- module Spoom::Cli
15
- end
16
-
17
- class Spoom::Cli::Bump < ::Thor
18
- include(::Spoom::Cli::Helper)
19
-
20
- sig { params(directory: String).void }
21
- def bump(directory = T.unsafe(nil)); end
22
- def config_files(path: T.unsafe(nil)); end
23
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
24
- def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil)); end
25
- def undo_changes(files, from_strictness); end
26
- end
27
-
28
- class Spoom::Cli::Config < ::Thor
29
- include(::Spoom::Cli::Helper)
30
-
31
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
32
- def show; end
33
- end
34
-
35
- class Spoom::Cli::Coverage < ::Thor
36
- include(::Spoom::Cli::Helper)
37
-
38
- def bundle_install(path, sha); end
39
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
40
- def message_no_data(file); end
41
- def open(file = T.unsafe(nil)); end
42
- def parse_time(string, option); end
43
- def report; end
44
- def snapshot; end
45
- def timeline; end
46
- end
47
-
48
- Spoom::Cli::Coverage::DATA_DIR = T.let(T.unsafe(nil), String)
49
-
50
- module Spoom::Cli::Helper
51
- include(::Thor::Shell)
52
-
53
- sig { params(string: String).returns(String) }
54
- def blue(string); end
55
- sig { returns(T::Boolean) }
56
- def color?; end
57
- sig { params(string: String, color: Symbol).returns(String) }
58
- def colorize(string, color); end
59
- sig { returns(String) }
60
- def exec_path; end
61
- sig { params(string: String).returns(String) }
62
- def gray(string); end
63
- sig { params(string: String).returns(String) }
64
- def green(string); end
65
- sig { params(string: String).returns(String) }
66
- def highlight(string); end
67
- sig { void }
68
- def in_sorbet_project!; end
69
- sig { returns(T::Boolean) }
70
- def in_sorbet_project?; end
71
- sig { params(string: String).returns(String) }
72
- def red(string); end
73
- sig { params(message: String).void }
74
- def say(message); end
75
- sig { params(message: String, status: T.nilable(String), nl: T::Boolean).void }
76
- def say_error(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end
77
- sig { returns(Spoom::Sorbet::Config) }
78
- def sorbet_config; end
79
- sig { returns(String) }
80
- def sorbet_config_file; end
81
- sig { params(string: String).returns(String) }
82
- def yellow(string); end
83
- end
84
-
85
- Spoom::Cli::Helper::HIGHLIGHT_COLOR = T.let(T.unsafe(nil), Symbol)
86
-
87
- class Spoom::Cli::LSP < ::Thor
88
- include(::Spoom::Cli::Helper)
89
-
90
- def defs(file, line, col); end
91
- def find(query); end
92
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
93
- def hover(file, line, col); end
94
- def list; end
95
- def lsp_client; end
96
- def refs(file, line, col); end
97
- def run(&block); end
98
- def show; end
99
- def sigs(file, line, col); end
100
- def symbol_printer; end
101
- def symbols(file); end
102
- def to_uri(path); end
103
- def types(file, line, col); end
104
- end
105
-
106
- class Spoom::Cli::Main < ::Thor
107
- include(::Spoom::Cli::Helper)
108
-
109
- def __print_version; end
110
- def bump(*args); end
111
- def config(*args); end
112
- def coverage(*args); end
113
- def files; end
114
- def lsp(*args); end
115
- def tc(*args); end
116
-
117
- class << self
118
- def exit_on_failure?; end
119
- end
120
- end
121
-
122
- class Spoom::Cli::Run < ::Thor
123
- include(::Spoom::Cli::Helper)
124
-
125
- def colorize_message(message); end
126
- def format_error(error, format); end
127
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
128
- def tc(*arg); end
129
- end
130
-
131
- Spoom::Cli::Run::DEFAULT_FORMAT = T.let(T.unsafe(nil), String)
132
-
133
- Spoom::Cli::Run::SORT_CODE = T.let(T.unsafe(nil), String)
134
-
135
- Spoom::Cli::Run::SORT_ENUM = T.let(T.unsafe(nil), Array)
136
-
137
- Spoom::Cli::Run::SORT_LOC = T.let(T.unsafe(nil), String)
138
-
139
- module Spoom::Coverage
140
- class << self
141
- sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], palette: Spoom::Coverage::D3::ColorPalette, path: String).returns(Spoom::Coverage::Report) }
142
- def report(snapshots, palette:, path: T.unsafe(nil)); end
143
- sig { params(path: String).returns(Spoom::FileTree) }
144
- def sigils_tree(path: T.unsafe(nil)); end
145
- sig { params(path: String, rbi: T::Boolean, sorbet_bin: T.nilable(String)).returns(Spoom::Coverage::Snapshot) }
146
- def snapshot(path: T.unsafe(nil), rbi: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
147
- sig { params(path: String).returns(Spoom::Sorbet::Config) }
148
- def sorbet_config(path: T.unsafe(nil)); end
149
- end
150
- end
151
-
152
- module Spoom::Coverage::Cards
153
- end
154
-
155
- class Spoom::Coverage::Cards::Card < ::Spoom::Coverage::Template
156
- sig { params(template: String, title: T.nilable(String), body: T.nilable(String)).void }
157
- def initialize(template: T.unsafe(nil), title: T.unsafe(nil), body: T.unsafe(nil)); end
158
-
159
- def body; end
160
- sig { returns(T.nilable(String)) }
161
- def title; end
162
- end
163
-
164
- Spoom::Coverage::Cards::Card::TEMPLATE = T.let(T.unsafe(nil), String)
165
-
166
- class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card
167
- abstract!
168
-
169
- sig { void }
170
- def initialize; end
171
-
172
- sig { abstract.returns(String) }
173
- def erb; end
174
- sig { override.returns(String) }
175
- def html; end
176
- end
177
-
178
- class Spoom::Coverage::Cards::Map < ::Spoom::Coverage::Cards::Card
179
- sig { params(sigils_tree: Spoom::FileTree, title: String).void }
180
- def initialize(sigils_tree:, title: T.unsafe(nil)); end
181
- end
182
-
183
- class Spoom::Coverage::Cards::Snapshot < ::Spoom::Coverage::Cards::Card
184
- sig { params(snapshot: Spoom::Coverage::Snapshot, title: String).void }
185
- def initialize(snapshot:, title: T.unsafe(nil)); end
186
-
187
- sig { returns(Spoom::Coverage::D3::Pie::Calls) }
188
- def pie_calls; end
189
- sig { returns(Spoom::Coverage::D3::Pie::Sigils) }
190
- def pie_sigils; end
191
- sig { returns(Spoom::Coverage::D3::Pie::Sigs) }
192
- def pie_sigs; end
193
- sig { returns(Spoom::Coverage::Snapshot) }
194
- def snapshot; end
195
- end
196
-
197
- Spoom::Coverage::Cards::Snapshot::TEMPLATE = T.let(T.unsafe(nil), String)
198
-
199
- class Spoom::Coverage::Cards::SorbetIntro < ::Spoom::Coverage::Cards::Erb
200
- sig { params(sorbet_intro_commit: T.nilable(String), sorbet_intro_date: T.nilable(Time)).void }
201
- def initialize(sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end
202
-
203
- sig { override.returns(String) }
204
- def erb; end
205
- end
206
-
207
- class Spoom::Coverage::Cards::Timeline < ::Spoom::Coverage::Cards::Card
208
- sig { params(title: String, timeline: Spoom::Coverage::D3::Timeline).void }
209
- def initialize(title:, timeline:); end
210
- end
211
-
212
- class Spoom::Coverage::Cards::Timeline::Calls < ::Spoom::Coverage::Cards::Timeline
213
- sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void }
214
- def initialize(snapshots:, title: T.unsafe(nil)); end
215
- end
216
-
217
- class Spoom::Coverage::Cards::Timeline::Runtimes < ::Spoom::Coverage::Cards::Timeline
218
- sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void }
219
- def initialize(snapshots:, title: T.unsafe(nil)); end
220
- end
221
-
222
- class Spoom::Coverage::Cards::Timeline::Sigils < ::Spoom::Coverage::Cards::Timeline
223
- sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void }
224
- def initialize(snapshots:, title: T.unsafe(nil)); end
225
- end
226
-
227
- class Spoom::Coverage::Cards::Timeline::Sigs < ::Spoom::Coverage::Cards::Timeline
228
- sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void }
229
- def initialize(snapshots:, title: T.unsafe(nil)); end
230
- end
231
-
232
- class Spoom::Coverage::Cards::Timeline::Versions < ::Spoom::Coverage::Cards::Timeline
233
- sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void }
234
- def initialize(snapshots:, title: T.unsafe(nil)); end
235
- end
236
-
237
- module Spoom::Coverage::D3
238
- class << self
239
- sig { params(palette: Spoom::Coverage::D3::ColorPalette).returns(String) }
240
- def header_script(palette); end
241
- sig { returns(String) }
242
- def header_style; end
243
- end
244
- end
245
-
246
- class Spoom::Coverage::D3::Base
247
- abstract!
248
-
249
- sig { params(id: String, data: T.untyped).void }
250
- def initialize(id, data); end
251
-
252
- sig { returns(String) }
253
- def html; end
254
- sig { returns(String) }
255
- def id; end
256
- sig { abstract.returns(String) }
257
- def script; end
258
- sig { returns(String) }
259
- def tooltip; end
260
-
261
- class << self
262
- sig { returns(String) }
263
- def header_script; end
264
- sig { returns(String) }
265
- def header_style; end
266
- end
267
- end
268
-
269
- Spoom::Coverage::D3::COLOR_FALSE = T.let(T.unsafe(nil), String)
270
-
271
- Spoom::Coverage::D3::COLOR_IGNORE = T.let(T.unsafe(nil), String)
272
-
273
- Spoom::Coverage::D3::COLOR_STRICT = T.let(T.unsafe(nil), String)
274
-
275
- Spoom::Coverage::D3::COLOR_STRONG = T.let(T.unsafe(nil), String)
276
-
277
- Spoom::Coverage::D3::COLOR_TRUE = T.let(T.unsafe(nil), String)
278
-
279
- class Spoom::Coverage::D3::CircleMap < ::Spoom::Coverage::D3::Base
280
- sig { override.returns(String) }
281
- def script; end
282
-
283
- class << self
284
- sig { returns(String) }
285
- def header_script; end
286
- sig { returns(String) }
287
- def header_style; end
288
- end
289
- end
290
-
291
- class Spoom::Coverage::D3::CircleMap::Sigils < ::Spoom::Coverage::D3::CircleMap
292
- sig { params(id: String, sigils_tree: Spoom::FileTree).void }
293
- def initialize(id, sigils_tree); end
294
-
295
- sig { params(node: Spoom::FileTree::Node).returns(Float) }
296
- def tree_node_score(node); end
297
- sig { params(node: Spoom::FileTree::Node).returns(T.nilable(String)) }
298
- def tree_node_strictness(node); end
299
- sig { params(node: Spoom::FileTree::Node).returns(T::Hash[Symbol, T.untyped]) }
300
- def tree_node_to_json(node); end
301
- end
302
-
303
- class Spoom::Coverage::D3::ColorPalette < ::T::Struct
304
- prop :ignore, String
305
- prop :false, String
306
- prop :true, String
307
- prop :strict, String
308
- prop :strong, String
309
-
310
- class << self
311
- def inherited(s); end
312
- end
313
- end
314
-
315
- class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base
316
- abstract!
317
-
318
- sig { params(id: String, title: String, data: T.untyped).void }
319
- def initialize(id, title, data); end
320
-
321
- sig { override.returns(String) }
322
- def script; end
323
-
324
- class << self
325
- sig { returns(String) }
326
- def header_script; end
327
- sig { returns(String) }
328
- def header_style; end
329
- end
330
- end
331
-
332
- class Spoom::Coverage::D3::Pie::Calls < ::Spoom::Coverage::D3::Pie
333
- sig { params(id: String, title: String, snapshot: Spoom::Coverage::Snapshot).void }
334
- def initialize(id, title, snapshot); end
335
-
336
- sig { override.returns(String) }
337
- def tooltip; end
338
- end
339
-
340
- class Spoom::Coverage::D3::Pie::Sigils < ::Spoom::Coverage::D3::Pie
341
- sig { params(id: String, title: String, snapshot: Spoom::Coverage::Snapshot).void }
342
- def initialize(id, title, snapshot); end
343
-
344
- sig { override.returns(String) }
345
- def tooltip; end
346
- end
347
-
348
- class Spoom::Coverage::D3::Pie::Sigs < ::Spoom::Coverage::D3::Pie
349
- sig { params(id: String, title: String, snapshot: Spoom::Coverage::Snapshot).void }
350
- def initialize(id, title, snapshot); end
351
-
352
- sig { override.returns(String) }
353
- def tooltip; end
354
- end
355
-
356
- class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base
357
- abstract!
358
-
359
- sig { params(id: String, data: T.untyped, keys: T::Array[String]).void }
360
- def initialize(id, data, keys); end
361
-
362
- sig { params(y: String, color: String, curve: String).returns(String) }
363
- def area(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
364
- sig { params(y: String, color: String, curve: String).returns(String) }
365
- def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
366
- sig { abstract.returns(String) }
367
- def plot; end
368
- sig { params(y: String).returns(String) }
369
- def points(y:); end
370
- sig { override.returns(String) }
371
- def script; end
372
- sig { returns(String) }
373
- def x_scale; end
374
- sig { returns(String) }
375
- def x_ticks; end
376
- sig { params(min: String, max: String, ticks: String).returns(String) }
377
- def y_scale(min:, max:, ticks:); end
378
- sig { params(ticks: String, format: String, padding: Integer).returns(String) }
379
- def y_ticks(ticks:, format:, padding:); end
380
-
381
- class << self
382
- sig { returns(String) }
383
- def header_script; end
384
- sig { returns(String) }
385
- def header_style; end
386
- end
387
- end
388
-
389
- class Spoom::Coverage::D3::Timeline::Calls < ::Spoom::Coverage::D3::Timeline::Stacked
390
- sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void }
391
- def initialize(id, snapshots); end
392
-
393
- sig { override.returns(String) }
394
- def tooltip; end
395
- end
396
-
397
- class Spoom::Coverage::D3::Timeline::Runtimes < ::Spoom::Coverage::D3::Timeline
398
- sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void }
399
- def initialize(id, snapshots); end
400
-
401
- sig { override.returns(String) }
402
- def plot; end
403
- sig { override.returns(String) }
404
- def tooltip; end
405
- end
406
-
407
- class Spoom::Coverage::D3::Timeline::Sigils < ::Spoom::Coverage::D3::Timeline::Stacked
408
- sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void }
409
- def initialize(id, snapshots); end
410
-
411
- sig { override.returns(String) }
412
- def tooltip; end
413
- end
414
-
415
- class Spoom::Coverage::D3::Timeline::Sigs < ::Spoom::Coverage::D3::Timeline::Stacked
416
- sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void }
417
- def initialize(id, snapshots); end
418
-
419
- sig { override.returns(String) }
420
- def tooltip; end
421
- end
422
-
423
- class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline
424
- abstract!
425
-
426
- def initialize(*args, &blk); end
427
-
428
- sig { override.params(y: String, color: String, curve: String).returns(String) }
429
- def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
430
- sig { override.returns(String) }
431
- def plot; end
432
- sig { override.returns(String) }
433
- def script; end
434
- end
435
-
436
- class Spoom::Coverage::D3::Timeline::Versions < ::Spoom::Coverage::D3::Timeline
437
- sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void }
438
- def initialize(id, snapshots); end
439
-
440
- sig { override.returns(String) }
441
- def plot; end
442
- sig { override.returns(String) }
443
- def tooltip; end
444
- end
445
-
446
- class Spoom::Coverage::Page < ::Spoom::Coverage::Template
447
- abstract!
448
-
449
- sig { params(title: String, palette: Spoom::Coverage::D3::ColorPalette, template: String).void }
450
- def initialize(title:, palette:, template: T.unsafe(nil)); end
451
-
452
- sig { returns(String) }
453
- def body_html; end
454
- sig { abstract.returns(T::Array[Spoom::Coverage::Cards::Card]) }
455
- def cards; end
456
- sig { returns(String) }
457
- def footer_html; end
458
- sig { returns(String) }
459
- def header_html; end
460
- sig { returns(String) }
461
- def header_script; end
462
- sig { returns(String) }
463
- def header_style; end
464
- sig { returns(Spoom::Coverage::D3::ColorPalette) }
465
- def palette; end
466
- sig { returns(String) }
467
- def title; end
468
- end
469
-
470
- Spoom::Coverage::Page::TEMPLATE = T.let(T.unsafe(nil), String)
471
-
472
- class Spoom::Coverage::Report < ::Spoom::Coverage::Page
473
- sig { params(project_name: String, palette: Spoom::Coverage::D3::ColorPalette, snapshots: T::Array[Spoom::Coverage::Snapshot], sigils_tree: Spoom::FileTree, sorbet_intro_commit: T.nilable(String), sorbet_intro_date: T.nilable(Time)).void }
474
- def initialize(project_name:, palette:, snapshots:, sigils_tree:, sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end
475
-
476
- sig { override.returns(T::Array[Spoom::Coverage::Cards::Card]) }
477
- def cards; end
478
- sig { override.returns(String) }
479
- def header_html; end
480
- sig { returns(String) }
481
- def project_name; end
482
- sig { returns(Spoom::FileTree) }
483
- def sigils_tree; end
484
- sig { returns(T::Array[Spoom::Coverage::Snapshot]) }
485
- def snapshots; end
486
- sig { returns(T.nilable(String)) }
487
- def sorbet_intro_commit; end
488
- sig { returns(T.nilable(Time)) }
489
- def sorbet_intro_date; end
490
- end
491
-
492
- class Spoom::Coverage::Snapshot < ::T::Struct
493
- prop :timestamp, Integer, default: T.unsafe(nil)
494
- prop :version_static, T.nilable(String), default: T.unsafe(nil)
495
- prop :version_runtime, T.nilable(String), default: T.unsafe(nil)
496
- prop :duration, Integer, default: T.unsafe(nil)
497
- prop :commit_sha, T.nilable(String), default: T.unsafe(nil)
498
- prop :commit_timestamp, T.nilable(Integer), default: T.unsafe(nil)
499
- prop :files, Integer, default: T.unsafe(nil)
500
- prop :modules, Integer, default: T.unsafe(nil)
501
- prop :classes, Integer, default: T.unsafe(nil)
502
- prop :singleton_classes, Integer, default: T.unsafe(nil)
503
- prop :methods_without_sig, Integer, default: T.unsafe(nil)
504
- prop :methods_with_sig, Integer, default: T.unsafe(nil)
505
- prop :calls_untyped, Integer, default: T.unsafe(nil)
506
- prop :calls_typed, Integer, default: T.unsafe(nil)
507
- prop :sigils, T::Hash[String, Integer], default: T.unsafe(nil)
508
-
509
- sig { params(out: T.any(IO, StringIO), colors: T::Boolean, indent_level: Integer).void }
510
- def print(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
511
- sig { params(arg: T.untyped).returns(String) }
512
- def to_json(*arg); end
513
-
514
- class << self
515
- sig { params(json: String).returns(Spoom::Coverage::Snapshot) }
516
- def from_json(json); end
517
- sig { params(obj: T::Hash[String, T.untyped]).returns(Spoom::Coverage::Snapshot) }
518
- def from_obj(obj); end
519
- def inherited(s); end
520
- end
521
- end
522
-
523
- Spoom::Coverage::Snapshot::STRICTNESSES = T.let(T.unsafe(nil), Array)
524
-
525
- class Spoom::Coverage::SnapshotPrinter < ::Spoom::Printer
526
- sig { params(snapshot: Spoom::Coverage::Snapshot).void }
527
- def print_snapshot(snapshot); end
528
-
529
- private
530
-
531
- sig { params(value: T.nilable(Integer), total: T.nilable(Integer)).returns(String) }
532
- def percent(value, total); end
533
- sig { params(hash: T::Hash[String, Integer], total: Integer).void }
534
- def print_map(hash, total); end
535
- end
536
-
537
- class Spoom::Coverage::Template
538
- abstract!
539
-
540
- sig { params(template: String).void }
541
- def initialize(template:); end
542
-
543
- sig { returns(String) }
544
- def erb; end
545
- sig { returns(Binding) }
546
- def get_binding; end
547
- sig { returns(String) }
548
- def html; end
549
- end
550
-
551
- class Spoom::Error < ::StandardError
552
- end
553
-
554
- class Spoom::FileTree
555
- sig { params(paths: T::Enumerable[String], strip_prefix: T.nilable(String)).void }
556
- def initialize(paths = T.unsafe(nil), strip_prefix: T.unsafe(nil)); end
557
-
558
- sig { params(path: String).returns(Spoom::FileTree::Node) }
559
- def add_path(path); end
560
- sig { params(paths: T::Enumerable[String]).void }
561
- def add_paths(paths); end
562
- sig { returns(T::Array[Spoom::FileTree::Node]) }
563
- def nodes; end
564
- sig { returns(T::Array[String]) }
565
- def paths; end
566
- sig { params(out: T.any(IO, StringIO), show_strictness: T::Boolean, colors: T::Boolean, indent_level: Integer).void }
567
- def print(out: T.unsafe(nil), show_strictness: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
568
- sig { returns(T::Array[Spoom::FileTree::Node]) }
569
- def roots; end
570
- sig { returns(T.nilable(String)) }
571
- def strip_prefix; end
572
-
573
- private
574
-
575
- sig { params(node: Spoom::FileTree::Node, collected_nodes: T::Array[Spoom::FileTree::Node]).returns(T::Array[Spoom::FileTree::Node]) }
576
- def collect_nodes(node, collected_nodes = T.unsafe(nil)); end
577
- end
578
-
579
- class Spoom::FileTree::Node < ::T::Struct
580
- const :parent, T.nilable(Spoom::FileTree::Node)
581
- const :name, String
582
- const :children, T::Hash[String, Spoom::FileTree::Node], default: T.unsafe(nil)
583
-
584
- sig { returns(String) }
585
- def path; end
586
-
587
- class << self
588
- def inherited(s); end
589
- end
590
- end
591
-
592
- class Spoom::FileTree::TreePrinter < ::Spoom::Printer
593
- sig { params(tree: Spoom::FileTree, out: T.any(IO, StringIO), show_strictness: T::Boolean, colors: T::Boolean, indent_level: Integer).void }
594
- def initialize(tree:, out: T.unsafe(nil), show_strictness: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
595
-
596
- sig { params(node: Spoom::FileTree::Node).void }
597
- def print_node(node); end
598
- sig { params(nodes: T::Array[Spoom::FileTree::Node]).void }
599
- def print_nodes(nodes); end
600
- sig { void }
601
- def print_tree; end
602
- sig { returns(Spoom::FileTree) }
603
- def tree; end
604
-
605
- private
606
-
607
- sig { params(node: Spoom::FileTree::Node).returns(T.nilable(String)) }
608
- def node_strictness(node); end
609
- sig { params(strictness: T.nilable(String)).returns(Symbol) }
610
- def strictness_color(strictness); end
611
- end
612
-
613
- module Spoom::Git
614
- class << self
615
- sig { params(arg: String, path: String).returns([String, String, T::Boolean]) }
616
- def checkout(*arg, path: T.unsafe(nil)); end
617
- sig { params(sha: String, path: String).returns(T.nilable(Time)) }
618
- def commit_time(sha, path: T.unsafe(nil)); end
619
- sig { params(sha: String, path: String).returns(T.nilable(Integer)) }
620
- def commit_timestamp(sha, path: T.unsafe(nil)); end
621
- sig { params(arg: String, path: String).returns([String, String, T::Boolean]) }
622
- def diff(*arg, path: T.unsafe(nil)); end
623
- sig { params(timestamp: String).returns(Time) }
624
- def epoch_to_time(timestamp); end
625
- sig { params(command: String, arg: String, path: String).returns([String, String, T::Boolean]) }
626
- def exec(command, *arg, path: T.unsafe(nil)); end
627
- sig { params(path: String).returns(T.nilable(String)) }
628
- def last_commit(path: T.unsafe(nil)); end
629
- sig { params(arg: String, path: String).returns([String, String, T::Boolean]) }
630
- def log(*arg, path: T.unsafe(nil)); end
631
- sig { params(arg: String, path: String).returns([String, String, T::Boolean]) }
632
- def rev_parse(*arg, path: T.unsafe(nil)); end
633
- sig { params(arg: String, path: String).returns([String, String, T::Boolean]) }
634
- def show(*arg, path: T.unsafe(nil)); end
635
- sig { params(path: String).returns(T.nilable(String)) }
636
- def sorbet_intro_commit(path: T.unsafe(nil)); end
637
- sig { params(path: String).returns(T::Boolean) }
638
- def workdir_clean?(path: T.unsafe(nil)); end
639
- end
640
- end
641
-
642
- module Spoom::LSP
643
- end
644
-
645
- class Spoom::LSP::Client
646
- def initialize(sorbet_bin, *sorbet_args, path: T.unsafe(nil)); end
647
-
648
- def close; end
649
- def definitions(uri, line, column); end
650
- def document_symbols(uri); end
651
- def hover(uri, line, column); end
652
- def next_id; end
653
- def open(workspace_path); end
654
- def read; end
655
- def read_raw; end
656
- def references(uri, line, column, include_decl = T.unsafe(nil)); end
657
- def send(message); end
658
- def send_raw(json_string); end
659
- def signatures(uri, line, column); end
660
- def symbols(query); end
661
- def type_definitions(uri, line, column); end
662
- end
663
-
664
- class Spoom::LSP::Diagnostic < ::T::Struct
665
- include(::Spoom::LSP::PrintableSymbol)
666
-
667
- const :range, Spoom::LSP::Range
668
- const :code, Integer
669
- const :message, String
670
- const :informations, Object
671
-
672
- sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
673
- def accept_printer(printer); end
674
- def to_s; end
675
-
676
- class << self
677
- def from_json(json); end
678
- def inherited(s); end
679
- end
680
- end
681
-
682
- class Spoom::LSP::DocumentSymbol < ::T::Struct
683
- include(::Spoom::LSP::PrintableSymbol)
684
-
685
- const :name, String
686
- const :detail, T.nilable(String)
687
- const :kind, Integer
688
- const :location, T.nilable(Spoom::LSP::Location)
689
- const :range, T.nilable(Spoom::LSP::Range)
690
- const :children, T::Array[Spoom::LSP::DocumentSymbol]
691
-
692
- sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
693
- def accept_printer(printer); end
694
- def kind_string; end
695
- def to_s; end
696
-
697
- class << self
698
- def from_json(json); end
699
- def inherited(s); end
700
- end
701
- end
702
-
703
- Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash)
704
-
705
- class Spoom::LSP::Error < ::StandardError
706
- end
707
-
708
- class Spoom::LSP::Error::AlreadyOpen < ::Spoom::LSP::Error
709
- end
710
-
711
- class Spoom::LSP::Error::BadHeaders < ::Spoom::LSP::Error
712
- end
713
-
714
- class Spoom::LSP::Error::Diagnostics < ::Spoom::LSP::Error
715
- def initialize(uri, diagnostics); end
716
-
717
- def diagnostics; end
718
- def uri; end
719
-
720
- class << self
721
- def from_json(json); end
722
- end
723
- end
724
-
725
- class Spoom::LSP::Hover < ::T::Struct
726
- include(::Spoom::LSP::PrintableSymbol)
727
-
728
- const :contents, String
729
- const :range, T.nilable(T::Range[T.untyped])
730
-
731
- sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
732
- def accept_printer(printer); end
733
- def to_s; end
734
-
735
- class << self
736
- def from_json(json); end
737
- def inherited(s); end
738
- end
739
- end
740
-
741
- class Spoom::LSP::Location < ::T::Struct
742
- include(::Spoom::LSP::PrintableSymbol)
743
-
744
- const :uri, String
745
- const :range, Spoom::LSP::Range
746
-
747
- sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
748
- def accept_printer(printer); end
749
- def to_s; end
750
-
751
- class << self
752
- def from_json(json); end
753
- def inherited(s); end
754
- end
755
- end
756
-
757
- class Spoom::LSP::Message
758
- def initialize; end
759
-
760
- def as_json; end
761
- def jsonrpc; end
762
- def to_json(*args); end
763
- end
764
-
765
- class Spoom::LSP::Notification < ::Spoom::LSP::Message
766
- def initialize(method, params); end
767
-
768
- def method; end
769
- def params; end
770
- end
771
-
772
- class Spoom::LSP::Position < ::T::Struct
773
- include(::Spoom::LSP::PrintableSymbol)
774
-
775
- const :line, Integer
776
- const :char, Integer
777
-
778
- sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
779
- def accept_printer(printer); end
780
- def to_s; end
781
-
782
- class << self
783
- def from_json(json); end
784
- def inherited(s); end
785
- end
786
- end
787
-
788
- module Spoom::LSP::PrintableSymbol
789
- interface!
790
-
791
- sig { abstract.params(printer: Spoom::LSP::SymbolPrinter).void }
792
- def accept_printer(printer); end
793
- end
794
-
795
- class Spoom::LSP::Range < ::T::Struct
796
- include(::Spoom::LSP::PrintableSymbol)
797
-
798
- const :start, Spoom::LSP::Position
799
- const :end, Spoom::LSP::Position
800
-
801
- sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
802
- def accept_printer(printer); end
803
- def to_s; end
804
-
805
- class << self
806
- def from_json(json); end
807
- def inherited(s); end
808
- end
809
- end
810
-
811
- class Spoom::LSP::Request < ::Spoom::LSP::Message
812
- def initialize(id, method, params); end
813
-
814
- def id; end
815
- def method; end
816
- def params; end
817
- end
818
-
819
- class Spoom::LSP::ResponseError < ::Spoom::LSP::Error
820
- def initialize(code, message, data); end
821
-
822
- def code; end
823
- def data; end
824
- def message; end
825
-
826
- class << self
827
- def from_json(json); end
828
- end
829
- end
830
-
831
- class Spoom::LSP::SignatureHelp < ::T::Struct
832
- include(::Spoom::LSP::PrintableSymbol)
833
-
834
- const :label, T.nilable(String)
835
- const :doc, Object
836
- const :params, T::Array[T.untyped]
837
-
838
- sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
839
- def accept_printer(printer); end
840
- def to_s; end
841
-
842
- class << self
843
- def from_json(json); end
844
- def inherited(s); end
845
- end
846
- end
847
-
848
- class Spoom::LSP::SymbolPrinter < ::Spoom::Printer
849
- sig { params(out: T.any(IO, StringIO), colors: T::Boolean, indent_level: Integer, prefix: T.nilable(String)).void }
850
- def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil), prefix: T.unsafe(nil)); end
851
-
852
- sig { params(uri: String).returns(String) }
853
- def clean_uri(uri); end
854
- def prefix; end
855
- def prefix=(_arg0); end
856
- sig { params(objects: T::Array[Spoom::LSP::PrintableSymbol]).void }
857
- def print_list(objects); end
858
- sig { params(object: T.nilable(Spoom::LSP::PrintableSymbol)).void }
859
- def print_object(object); end
860
- sig { params(objects: T::Array[Spoom::LSP::PrintableSymbol]).void }
861
- def print_objects(objects); end
862
- def seen; end
863
- def seen=(_arg0); end
864
- end
865
-
866
- class Spoom::Printer
867
- abstract!
868
-
869
- sig { params(out: T.any(IO, StringIO), colors: T::Boolean, indent_level: Integer).void }
870
- def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
871
-
872
- sig { params(string: String, color: Symbol).returns(String) }
873
- def colorize(string, color); end
874
- sig { void }
875
- def dedent; end
876
- sig { void }
877
- def indent; end
878
- sig { returns(T.any(IO, StringIO)) }
879
- def out; end
880
- def out=(_arg0); end
881
- sig { params(string: T.nilable(String)).void }
882
- def print(string); end
883
- sig { params(string: T.nilable(String), color: Symbol, colors: Symbol).void }
884
- def print_colored(string, color, *colors); end
885
- sig { params(string: T.nilable(String)).void }
886
- def printl(string); end
887
- sig { void }
888
- def printn; end
889
- sig { void }
890
- def printt; end
891
- end
892
-
893
- Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String)
894
-
895
- module Spoom::Sorbet
896
- class << self
897
- sig { params(arg: String, path: String, capture_err: T::Boolean, sorbet_bin: T.nilable(String)).returns([String, T::Boolean]) }
898
- def srb(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
899
- sig { params(config: Spoom::Sorbet::Config, path: String).returns(T::Array[String]) }
900
- def srb_files(config, path: T.unsafe(nil)); end
901
- sig { params(arg: String, path: String, capture_err: T::Boolean, sorbet_bin: T.nilable(String)).returns(T.nilable(T::Hash[String, Integer])) }
902
- def srb_metrics(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
903
- sig { params(arg: String, path: String, capture_err: T::Boolean, sorbet_bin: T.nilable(String)).returns([String, T::Boolean]) }
904
- def srb_tc(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
905
- sig { params(arg: String, path: String, capture_err: T::Boolean, sorbet_bin: T.nilable(String)).returns(T.nilable(String)) }
906
- def srb_version(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
907
- sig { params(gem: String, path: String).returns(T.nilable(String)) }
908
- def version_from_gemfile_lock(gem: T.unsafe(nil), path: T.unsafe(nil)); end
909
- end
910
- end
911
-
912
- Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String)
913
-
914
- Spoom::Sorbet::CONFIG_PATH = T.let(T.unsafe(nil), String)
915
-
916
- class Spoom::Sorbet::Config
917
- sig { void }
918
- def initialize; end
919
-
920
- def allowed_extensions; end
921
- sig { returns(Spoom::Sorbet::Config) }
922
- def copy; end
923
- def ignore; end
924
- sig { returns(String) }
925
- def options_string; end
926
- sig { returns(T::Array[String]) }
927
- def paths; end
928
-
929
- class << self
930
- sig { params(sorbet_config_path: String).returns(Spoom::Sorbet::Config) }
931
- def parse_file(sorbet_config_path); end
932
- sig { params(sorbet_config: String).returns(Spoom::Sorbet::Config) }
933
- def parse_string(sorbet_config); end
934
-
935
- private
936
-
937
- sig { params(line: String).returns(String) }
938
- def parse_option(line); end
939
- end
940
- end
941
-
942
- module Spoom::Sorbet::Errors
943
- class << self
944
- sig { params(errors: T::Array[Spoom::Sorbet::Errors::Error]).returns(T::Array[Spoom::Sorbet::Errors::Error]) }
945
- def sort_errors_by_code(errors); end
946
- end
947
- end
948
-
949
- class Spoom::Sorbet::Errors::Error
950
- include(::Comparable)
951
-
952
- sig { params(file: T.nilable(String), line: T.nilable(Integer), message: T.nilable(String), code: T.nilable(Integer), more: T::Array[String]).void }
953
- def initialize(file, line, message, code, more = T.unsafe(nil)); end
954
-
955
- sig { params(other: T.untyped).returns(Integer) }
956
- def <=>(other); end
957
- def code; end
958
- sig { returns(T.nilable(String)) }
959
- def file; end
960
- sig { returns(T.nilable(Integer)) }
961
- def line; end
962
- def message; end
963
- sig { returns(T::Array[String]) }
964
- def more; end
965
- sig { returns(String) }
966
- def to_s; end
967
- end
968
-
969
- class Spoom::Sorbet::Errors::Parser
970
- sig { void }
971
- def initialize; end
972
-
973
- sig { params(output: String).returns(T::Array[Spoom::Sorbet::Errors::Error]) }
974
- def parse(output); end
975
-
976
- private
977
-
978
- sig { params(line: String).void }
979
- def append_error(line); end
980
- sig { void }
981
- def close_error; end
982
- sig { params(line: String).returns(T.nilable(Spoom::Sorbet::Errors::Error)) }
983
- def match_error_line(line); end
984
- sig { params(error: Spoom::Sorbet::Errors::Error).void }
985
- def open_error(error); end
986
-
987
- class << self
988
- sig { params(output: String).returns(T::Array[Spoom::Sorbet::Errors::Error]) }
989
- def parse_string(output); end
990
- end
991
- end
992
-
993
- Spoom::Sorbet::Errors::Parser::ERROR_LINE_MATCH_REGEX = T.let(T.unsafe(nil), Regexp)
994
-
995
- Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array)
996
-
997
- Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String)
998
-
999
- module Spoom::Sorbet::MetricsParser
1000
- class << self
1001
- sig { params(path: String, prefix: String).returns(T::Hash[String, Integer]) }
1002
- def parse_file(path, prefix = T.unsafe(nil)); end
1003
- sig { params(obj: T::Hash[String, T.untyped], prefix: String).returns(T::Hash[String, Integer]) }
1004
- def parse_hash(obj, prefix = T.unsafe(nil)); end
1005
- sig { params(string: String, prefix: String).returns(T::Hash[String, Integer]) }
1006
- def parse_string(string, prefix = T.unsafe(nil)); end
1007
- end
1008
- end
1009
-
1010
- Spoom::Sorbet::MetricsParser::DEFAULT_PREFIX = T.let(T.unsafe(nil), String)
1011
-
1012
- module Spoom::Sorbet::Sigils
1013
- class << self
1014
- sig { params(path: T.any(Pathname, String), new_strictness: String).returns(T::Boolean) }
1015
- def change_sigil_in_file(path, new_strictness); end
1016
- sig { params(path_list: T::Array[String], new_strictness: String).returns(T::Array[String]) }
1017
- def change_sigil_in_files(path_list, new_strictness); end
1018
- sig { params(path: T.any(Pathname, String)).returns(T.nilable(String)) }
1019
- def file_strictness(path); end
1020
- sig { params(directory: T.any(Pathname, String), strictness: String, extension: String).returns(T::Array[String]) }
1021
- def files_with_sigil_strictness(directory, strictness, extension: T.unsafe(nil)); end
1022
- sig { params(strictness: String).returns(String) }
1023
- def sigil_string(strictness); end
1024
- sig { params(content: String).returns(T.nilable(String)) }
1025
- def strictness_in_content(content); end
1026
- sig { params(content: String, new_strictness: String).returns(String) }
1027
- def update_sigil(content, new_strictness); end
1028
- sig { params(strictness: String).returns(T::Boolean) }
1029
- def valid_strictness?(strictness); end
1030
- end
1031
- end
1032
-
1033
- Spoom::Sorbet::Sigils::SIGIL_REGEXP = T.let(T.unsafe(nil), Regexp)
1034
-
1035
- Spoom::Sorbet::Sigils::STRICTNESS_FALSE = T.let(T.unsafe(nil), String)
1036
-
1037
- Spoom::Sorbet::Sigils::STRICTNESS_IGNORE = T.let(T.unsafe(nil), String)
1038
-
1039
- Spoom::Sorbet::Sigils::STRICTNESS_INTERNAL = T.let(T.unsafe(nil), String)
1040
-
1041
- Spoom::Sorbet::Sigils::STRICTNESS_STRICT = T.let(T.unsafe(nil), String)
1042
-
1043
- Spoom::Sorbet::Sigils::STRICTNESS_STRONG = T.let(T.unsafe(nil), String)
1044
-
1045
- Spoom::Sorbet::Sigils::STRICTNESS_TRUE = T.let(T.unsafe(nil), String)
1046
-
1047
- Spoom::Sorbet::Sigils::VALID_STRICTNESS = T.let(T.unsafe(nil), Array)
1048
-
1049
- class Spoom::Timeline
1050
- sig { params(from: Time, to: Time, path: String).void }
1051
- def initialize(from, to, path: T.unsafe(nil)); end
1052
-
1053
- sig { params(dates: T::Array[Time]).returns(T::Array[String]) }
1054
- def commits_for_dates(dates); end
1055
- sig { returns(T::Array[Time]) }
1056
- def months; end
1057
- sig { returns(T::Array[String]) }
1058
- def ticks; end
1059
- end
1060
-
1061
- Spoom::VERSION = T.let(T.unsafe(nil), String)