packwerk 2.2.0 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) 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 +202 -175
  7. data/README.md +1 -1
  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 +1 -1
  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 +24 -20
  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 +40 -20
  26. data/lib/packwerk/file_processor.rb +14 -14
  27. data/lib/packwerk/files_for_processing.rb +27 -31
  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 +27 -8
  36. data/lib/packwerk/offenses_formatter.rb +2 -2
  37. data/lib/packwerk/package.rb +3 -0
  38. data/lib/packwerk/package_set.rb +2 -0
  39. data/lib/packwerk/parse_run.rb +29 -20
  40. data/lib/packwerk/parsed_constant_definitions.rb +23 -20
  41. data/lib/packwerk/parsers/erb.rb +3 -3
  42. data/lib/packwerk/reference_checking/checkers/checker.rb +16 -3
  43. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +16 -0
  44. data/lib/packwerk/reference_checking/checkers/privacy_checker.rb +18 -0
  45. data/lib/packwerk/reference_checking/reference_checker.rb +3 -1
  46. data/lib/packwerk/reference_extractor.rb +51 -48
  47. data/lib/packwerk/reference_offense.rb +3 -27
  48. data/lib/packwerk/run_context.rb +9 -8
  49. data/lib/packwerk/spring_command.rb +1 -1
  50. data/lib/packwerk/version.rb +1 -1
  51. data/lib/packwerk.rb +1 -0
  52. data/packwerk.gemspec +5 -12
  53. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +2754 -0
  54. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +1496 -0
  55. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +2362 -0
  56. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +19397 -0
  57. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +1569 -0
  58. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +14907 -0
  59. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +2553 -0
  60. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +5999 -0
  61. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +37832 -0
  62. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +2321 -0
  63. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +18818 -0
  64. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +11722 -0
  65. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +90 -0
  66. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  67. data/sorbet/rbi/gems/digest@3.1.0.rbi +189 -0
  68. data/sorbet/rbi/gems/erubi@1.11.0.rbi +140 -0
  69. data/sorbet/rbi/gems/globalid@1.0.0.rbi +572 -0
  70. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  71. data/sorbet/rbi/gems/json@2.6.2.rbi +1548 -0
  72. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +8 -0
  73. data/sorbet/rbi/gems/loofah@2.18.0.rbi +877 -0
  74. data/sorbet/rbi/gems/m@1.6.0.rbi +257 -0
  75. data/sorbet/rbi/gems/marcel@1.0.2.rbi +220 -0
  76. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +170 -0
  77. data/sorbet/rbi/gems/mini_portile2@2.8.0.rbi +8 -0
  78. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +104 -0
  79. data/sorbet/rbi/gems/minitest@5.16.2.rbi +2136 -0
  80. data/sorbet/rbi/gems/mocha@1.14.0.rbi +4177 -0
  81. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +2147 -0
  82. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +926 -0
  83. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +11 -0
  84. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +1108 -0
  85. data/sorbet/rbi/gems/netrc@0.11.0.rbi +153 -0
  86. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +292 -0
  87. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +6478 -0
  88. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  89. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +9029 -0
  90. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +8 -0
  91. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  92. data/sorbet/rbi/gems/racc@1.6.0.rbi +152 -0
  93. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +953 -0
  94. data/sorbet/rbi/gems/rack@2.2.4.rbi +5636 -0
  95. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +688 -0
  96. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +8 -0
  97. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +3507 -0
  98. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +392 -0
  99. data/sorbet/rbi/gems/rake@13.0.6.rbi +2924 -0
  100. data/sorbet/rbi/gems/rbi@0.0.15.rbi +3007 -0
  101. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +3383 -0
  102. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4714 -0
  103. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +6961 -0
  104. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +2986 -0
  105. data/sorbet/rbi/gems/{rubocop-shopify@2.0.1.rbi → rubocop-shopify@2.9.0.rbi} +4 -4
  106. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +992 -0
  107. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +51820 -0
  108. data/sorbet/rbi/gems/ruby-lsp@0.2.1.rbi +11 -0
  109. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +474 -0
  110. data/sorbet/rbi/gems/spoom@1.1.11.rbi +2181 -0
  111. data/sorbet/rbi/gems/spring@4.0.0.rbi +411 -0
  112. data/sorbet/rbi/gems/strscan@3.0.4.rbi +8 -0
  113. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +8 -0
  114. data/sorbet/rbi/gems/tapioca@0.9.2.rbi +3181 -0
  115. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  116. data/sorbet/rbi/gems/timeout@0.3.0.rbi +142 -0
  117. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +5896 -0
  118. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +48 -0
  119. data/sorbet/rbi/gems/unparser@0.6.5.rbi +4529 -0
  120. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2582 -0
  121. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +993 -0
  122. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +388 -0
  123. data/sorbet/rbi/gems/yard@0.9.28.rbi +18242 -0
  124. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +867 -0
  125. data/sorbet/rbi/shims/psych.rbi +5 -0
  126. data/sorbet/tapioca/require.rb +2 -3
  127. metadata +91 -146
  128. data/.github/probots.yml +0 -2
  129. data/library.yml +0 -6
  130. data/service.yml +0 -1
  131. data/sorbet/rbi/gems/actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -860
  132. data/sorbet/rbi/gems/actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -568
  133. data/sorbet/rbi/gems/actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -587
  134. data/sorbet/rbi/gems/actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -5314
  135. data/sorbet/rbi/gems/actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -699
  136. data/sorbet/rbi/gems/actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -2515
  137. data/sorbet/rbi/gems/activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -624
  138. data/sorbet/rbi/gems/activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -1248
  139. data/sorbet/rbi/gems/activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8363
  140. data/sorbet/rbi/gems/activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -876
  141. data/sorbet/rbi/gems/activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -3987
  142. data/sorbet/rbi/gems/colorize@0.8.1.rbi +0 -40
  143. data/sorbet/rbi/gems/commander@4.5.2.rbi +0 -8
  144. data/sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi +0 -1969
  145. data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +0 -26
  146. data/sorbet/rbi/gems/erubi@1.10.0.rbi +0 -41
  147. data/sorbet/rbi/gems/globalid@0.4.2.rbi +0 -178
  148. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -8
  149. data/sorbet/rbi/gems/i18n@1.8.10.rbi +0 -600
  150. data/sorbet/rbi/gems/loofah@2.9.0.rbi +0 -274
  151. data/sorbet/rbi/gems/m@1.5.1.rbi +0 -108
  152. data/sorbet/rbi/gems/marcel@1.0.0.rbi +0 -70
  153. data/sorbet/rbi/gems/mini_mime@1.0.3.rbi +0 -71
  154. data/sorbet/rbi/gems/minitest-focus@1.2.1.rbi +0 -8
  155. data/sorbet/rbi/gems/minitest@5.14.4.rbi +0 -544
  156. data/sorbet/rbi/gems/mocha@1.12.0.rbi +0 -953
  157. data/sorbet/rbi/gems/nio4r@2.5.7.rbi +0 -90
  158. data/sorbet/rbi/gems/nokogiri@1.11.2.rbi +0 -1647
  159. data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -117
  160. data/sorbet/rbi/gems/parlour@6.0.0.rbi +0 -1272
  161. data/sorbet/rbi/gems/parser@3.0.0.0.rbi +0 -1745
  162. data/sorbet/rbi/gems/pry@0.14.0.rbi +0 -8
  163. data/sorbet/rbi/gems/psych@3.3.2.rbi +0 -24
  164. data/sorbet/rbi/gems/racc@1.5.2.rbi +0 -57
  165. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +0 -335
  166. data/sorbet/rbi/gems/rack@2.2.3.rbi +0 -1718
  167. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +0 -213
  168. data/sorbet/rbi/gems/rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8
  169. data/sorbet/rbi/gems/railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -880
  170. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -155
  171. data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -837
  172. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -8
  173. data/sorbet/rbi/gems/rexml@3.2.4.rbi +0 -8
  174. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -8
  175. data/sorbet/rbi/gems/rubocop-performance@1.10.2.rbi +0 -8
  176. data/sorbet/rbi/gems/rubocop-sorbet@0.6.1.rbi +0 -8
  177. data/sorbet/rbi/gems/rubocop@1.12.0.rbi +0 -8
  178. data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +0 -168
  179. data/sorbet/rbi/gems/spoom@1.1.0.rbi +0 -1061
  180. data/sorbet/rbi/gems/spring@2.1.1.rbi +0 -160
  181. data/sorbet/rbi/gems/sprockets-rails@3.2.2.rbi +0 -451
  182. data/sorbet/rbi/gems/sprockets@4.0.2.rbi +0 -1133
  183. data/sorbet/rbi/gems/tapioca@0.4.19.rbi +0 -603
  184. data/sorbet/rbi/gems/thor@1.1.0.rbi +0 -893
  185. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +0 -566
  186. data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +0 -8
  187. data/sorbet/rbi/gems/websocket-driver@0.7.3.rbi +0 -438
  188. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +0 -177
@@ -0,0 +1,2181 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `spoom` gem.
5
+ # Please instead update this file by running `bin/tapioca gem spoom`.
6
+
7
+ # source://spoom-1.1.11/lib/spoom.rb:7
8
+ module Spoom
9
+ class << self
10
+ # source://spoom-1.1.11/lib/spoom.rb:29
11
+ sig { params(cmd: ::String, arg: ::String, path: ::String, capture_err: T::Boolean).returns(::Spoom::ExecResult) }
12
+ def exec(cmd, *arg, path: T.unsafe(nil), capture_err: T.unsafe(nil)); end
13
+ end
14
+ end
15
+
16
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:9
17
+ module Spoom::Cli; end
18
+
19
+ # source://spoom-1.1.11/lib/spoom/cli/bump.rb:9
20
+ class Spoom::Cli::Bump < ::Thor
21
+ include ::Spoom::Colorize
22
+ include ::Spoom::Cli::Helper
23
+
24
+ # source://spoom-1.1.11/lib/spoom/cli/bump.rb:32
25
+ sig { params(directory: ::String).void }
26
+ def bump(directory = T.unsafe(nil)); end
27
+
28
+ # source://spoom-1.1.11/lib/spoom/cli/bump.rb:155
29
+ def config_files(path: T.unsafe(nil)); end
30
+
31
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
32
+
33
+ # source://spoom-1.1.11/lib/spoom/cli/bump.rb:130
34
+ def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil)); end
35
+
36
+ # source://spoom-1.1.11/lib/spoom/cli/bump.rb:151
37
+ def undo_changes(files, from_strictness); end
38
+ end
39
+
40
+ # source://spoom-1.1.11/lib/spoom/cli/config.rb:9
41
+ class Spoom::Cli::Config < ::Thor
42
+ include ::Spoom::Colorize
43
+ include ::Spoom::Cli::Helper
44
+
45
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
46
+
47
+ # source://spoom-1.1.11/lib/spoom/cli/config.rb:15
48
+ def show; end
49
+ end
50
+
51
+ # source://spoom-1.1.11/lib/spoom/cli/coverage.rb:9
52
+ class Spoom::Cli::Coverage < ::Thor
53
+ include ::Spoom::Colorize
54
+ include ::Spoom::Cli::Helper
55
+
56
+ # source://spoom-1.1.11/lib/spoom/cli/coverage.rb:183
57
+ def bundle_install(path, sha); end
58
+
59
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
60
+
61
+ # source://spoom-1.1.11/lib/spoom/cli/coverage.rb:195
62
+ def message_no_data(file); end
63
+
64
+ # source://spoom-1.1.11/lib/spoom/cli/coverage.rb:159
65
+ def open(file = T.unsafe(nil)); end
66
+
67
+ # source://spoom-1.1.11/lib/spoom/cli/coverage.rb:175
68
+ def parse_time(string, option); end
69
+
70
+ # source://spoom-1.1.11/lib/spoom/cli/coverage.rb:128
71
+ def report; end
72
+
73
+ # source://spoom-1.1.11/lib/spoom/cli/coverage.rb:20
74
+ def snapshot; end
75
+
76
+ # source://spoom-1.1.11/lib/spoom/cli/coverage.rb:42
77
+ def timeline; end
78
+ end
79
+
80
+ # source://spoom-1.1.11/lib/spoom/cli/coverage.rb:12
81
+ Spoom::Cli::Coverage::DATA_DIR = T.let(T.unsafe(nil), String)
82
+
83
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:10
84
+ module Spoom::Cli::Helper
85
+ include ::Spoom::Colorize
86
+
87
+ requires_ancestor { Thor }
88
+
89
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:142
90
+ sig { params(string: ::String).returns(::String) }
91
+ def blue(string); end
92
+
93
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:87
94
+ sig { params(exit_code: ::Integer, block: T.nilable(T.proc.void)).void }
95
+ def check_sorbet_segfault(exit_code, &block); end
96
+
97
+ # Is the `--color` option true?
98
+ #
99
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:107
100
+ sig { returns(T::Boolean) }
101
+ def color?; end
102
+
103
+ # Colorize a string if `color?`
104
+ #
105
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:136
106
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
107
+ def colorize(string, *color); end
108
+
109
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:147
110
+ sig { params(string: ::String).returns(::String) }
111
+ def cyan(string); end
112
+
113
+ # Return the path specified through `--path`
114
+ #
115
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:72
116
+ sig { returns(::String) }
117
+ def exec_path; end
118
+
119
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:152
120
+ sig { params(string: ::String).returns(::String) }
121
+ def gray(string); end
122
+
123
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:157
124
+ sig { params(string: ::String).returns(::String) }
125
+ def green(string); end
126
+
127
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:112
128
+ sig { params(string: ::String).returns(::String) }
129
+ def highlight(string); end
130
+
131
+ # Enforce that `spoom` is ran inside a project with a `sorbet/config` file
132
+ #
133
+ # Display an error message and exit otherwise.
134
+ #
135
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:59
136
+ sig { void }
137
+ def in_sorbet_project!; end
138
+
139
+ # Is `spoom` ran inside a project with a `sorbet/config` file?
140
+ #
141
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:51
142
+ sig { returns(T::Boolean) }
143
+ def in_sorbet_project?; end
144
+
145
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:162
146
+ sig { params(string: ::String).returns(::String) }
147
+ def red(string); end
148
+
149
+ # Print `message` on `$stdout`
150
+ #
151
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:20
152
+ sig { params(message: ::String).void }
153
+ def say(message); end
154
+
155
+ # Print `message` on `$stderr`
156
+ #
157
+ # The message is prefixed by a status (default: `Error`).
158
+ #
159
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:39
160
+ sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void }
161
+ def say_error(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end
162
+
163
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:82
164
+ sig { returns(::Spoom::Sorbet::Config) }
165
+ def sorbet_config; end
166
+
167
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:77
168
+ sig { returns(::String) }
169
+ def sorbet_config_file; end
170
+
171
+ # source://spoom-1.1.11/lib/spoom/cli/helper.rb:167
172
+ sig { params(string: ::String).returns(::String) }
173
+ def yellow(string); end
174
+ end
175
+
176
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:10
177
+ class Spoom::Cli::LSP < ::Thor
178
+ include ::Spoom::Colorize
179
+ include ::Spoom::Cli::Helper
180
+
181
+ # TODO: options, filter, limit, kind etc.. filter rbi
182
+ #
183
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:53
184
+ def defs(file, line, col); end
185
+
186
+ # TODO: options, filter, limit, kind etc.. filter rbi
187
+ #
188
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:63
189
+ def find(query); end
190
+
191
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
192
+
193
+ # TODO: options, filter, limit, kind etc.. filter rbi
194
+ #
195
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:39
196
+ def hover(file, line, col); end
197
+
198
+ # TODO: options, filter, limit, kind etc.. filter rbi
199
+ #
200
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:25
201
+ def list; end
202
+
203
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:112
204
+ def lsp_client; end
205
+
206
+ # TODO: options, filter, limit, kind etc.. filter rbi
207
+ #
208
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:83
209
+ def refs(file, line, col); end
210
+
211
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:134
212
+ def run(&block); end
213
+
214
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:16
215
+ def show; end
216
+
217
+ # TODO: options, filter, limit, kind etc.. filter rbi
218
+ #
219
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:93
220
+ def sigs(file, line, col); end
221
+
222
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:126
223
+ def symbol_printer; end
224
+
225
+ # TODO: options, filter, limit, kind etc.. filter rbi
226
+ #
227
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:73
228
+ def symbols(file); end
229
+
230
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:159
231
+ def to_uri(path); end
232
+
233
+ # TODO: options, filter, limit, kind etc.. filter rbi
234
+ #
235
+ # source://spoom-1.1.11/lib/spoom/cli/lsp.rb:103
236
+ def types(file, line, col); end
237
+ end
238
+
239
+ # source://spoom-1.1.11/lib/spoom/cli.rb:16
240
+ class Spoom::Cli::Main < ::Thor
241
+ include ::Spoom::Colorize
242
+ include ::Spoom::Cli::Helper
243
+
244
+ # source://spoom-1.1.11/lib/spoom/cli.rb:68
245
+ def __print_version; end
246
+
247
+ # source://thor-1.2.1/lib/thor.rb:239
248
+ def bump(*args); end
249
+
250
+ # source://thor-1.2.1/lib/thor.rb:239
251
+ def config(*args); end
252
+
253
+ # source://thor-1.2.1/lib/thor.rb:239
254
+ def coverage(*args); end
255
+
256
+ # source://spoom-1.1.11/lib/spoom/cli.rb:43
257
+ def files; end
258
+
259
+ # source://thor-1.2.1/lib/thor.rb:239
260
+ def lsp(*args); end
261
+
262
+ # source://thor-1.2.1/lib/thor.rb:239
263
+ def tc(*args); end
264
+
265
+ class << self
266
+ # Utils
267
+ #
268
+ # @return [Boolean]
269
+ #
270
+ # source://spoom-1.1.11/lib/spoom/cli.rb:74
271
+ def exit_on_failure?; end
272
+ end
273
+ end
274
+
275
+ # source://spoom-1.1.11/lib/spoom/cli/run.rb:6
276
+ class Spoom::Cli::Run < ::Thor
277
+ include ::Spoom::Colorize
278
+ include ::Spoom::Cli::Helper
279
+
280
+ # source://spoom-1.1.11/lib/spoom/cli/run.rb:107
281
+ def colorize_message(message); end
282
+
283
+ # source://spoom-1.1.11/lib/spoom/cli/run.rb:98
284
+ def format_error(error, format); end
285
+
286
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
287
+
288
+ # source://spoom-1.1.11/lib/spoom/cli/run.rb:25
289
+ def tc(*arg); end
290
+ end
291
+
292
+ # source://spoom-1.1.11/lib/spoom/cli/run.rb:15
293
+ Spoom::Cli::Run::DEFAULT_FORMAT = T.let(T.unsafe(nil), String)
294
+
295
+ # source://spoom-1.1.11/lib/spoom/cli/run.rb:11
296
+ Spoom::Cli::Run::SORT_CODE = T.let(T.unsafe(nil), String)
297
+
298
+ # source://spoom-1.1.11/lib/spoom/cli/run.rb:13
299
+ Spoom::Cli::Run::SORT_ENUM = T.let(T.unsafe(nil), Array)
300
+
301
+ # source://spoom-1.1.11/lib/spoom/cli/run.rb:12
302
+ Spoom::Cli::Run::SORT_LOC = T.let(T.unsafe(nil), String)
303
+
304
+ # source://spoom-1.1.11/lib/spoom/colors.rb:5
305
+ class Spoom::Color < ::T::Enum
306
+ enums do
307
+ CLEAR = new
308
+ BOLD = new
309
+ BLACK = new
310
+ RED = new
311
+ GREEN = new
312
+ YELLOW = new
313
+ BLUE = new
314
+ MAGENTA = new
315
+ CYAN = new
316
+ WHITE = new
317
+ LIGHT_BLACK = new
318
+ LIGHT_RED = new
319
+ LIGHT_GREEN = new
320
+ LIGHT_YELLOW = new
321
+ LIGHT_BLUE = new
322
+ LIGHT_MAGENTA = new
323
+ LIGHT_CYAN = new
324
+ LIGHT_WHITE = new
325
+ end
326
+
327
+ # source://spoom-1.1.11/lib/spoom/colors.rb:32
328
+ sig { returns(::String) }
329
+ def ansi_code; end
330
+ end
331
+
332
+ # source://spoom-1.1.11/lib/spoom/colors.rb:37
333
+ module Spoom::Colorize
334
+ # source://spoom-1.1.11/lib/spoom/colors.rb:41
335
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
336
+ def set_color(string, *color); end
337
+ end
338
+
339
+ # source://spoom-1.1.11/lib/spoom/coverage/snapshot.rb:5
340
+ module Spoom::Coverage
341
+ class << self
342
+ # source://spoom-1.1.11/lib/spoom/coverage.rb:67
343
+ sig do
344
+ params(
345
+ snapshots: T::Array[::Spoom::Coverage::Snapshot],
346
+ palette: ::Spoom::Coverage::D3::ColorPalette,
347
+ path: ::String
348
+ ).returns(::Spoom::Coverage::Report)
349
+ end
350
+ def report(snapshots, palette:, path: T.unsafe(nil)); end
351
+
352
+ # source://spoom-1.1.11/lib/spoom/coverage.rb:87
353
+ sig { params(path: ::String).returns(::Spoom::FileTree) }
354
+ def sigils_tree(path: T.unsafe(nil)); end
355
+
356
+ # source://spoom-1.1.11/lib/spoom/coverage.rb:15
357
+ sig do
358
+ params(
359
+ path: ::String,
360
+ rbi: T::Boolean,
361
+ sorbet_bin: T.nilable(::String)
362
+ ).returns(::Spoom::Coverage::Snapshot)
363
+ end
364
+ def snapshot(path: T.unsafe(nil), rbi: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
365
+
366
+ # source://spoom-1.1.11/lib/spoom/coverage.rb:82
367
+ sig { params(path: ::String).returns(::Spoom::Sorbet::Config) }
368
+ def sorbet_config(path: T.unsafe(nil)); end
369
+ end
370
+ end
371
+
372
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:88
373
+ module Spoom::Coverage::Cards; end
374
+
375
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:89
376
+ class Spoom::Coverage::Cards::Card < ::Spoom::Coverage::Template
377
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:98
378
+ sig { params(template: ::String, title: T.nilable(::String), body: T.nilable(::String)).void }
379
+ def initialize(template: T.unsafe(nil), title: T.unsafe(nil), body: T.unsafe(nil)); end
380
+
381
+ # @return [String, nil]
382
+ #
383
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:95
384
+ def body; end
385
+
386
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:95
387
+ sig { returns(T.nilable(::String)) }
388
+ def title; end
389
+ end
390
+
391
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:92
392
+ Spoom::Coverage::Cards::Card::TEMPLATE = T.let(T.unsafe(nil), String)
393
+
394
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
395
+ #
396
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:105
397
+ class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card
398
+ abstract!
399
+
400
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:112
401
+ sig { void }
402
+ def initialize; end
403
+
404
+ # @abstract
405
+ #
406
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:120
407
+ sig { abstract.returns(::String) }
408
+ def erb; end
409
+
410
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:115
411
+ sig { override.returns(::String) }
412
+ def html; end
413
+ end
414
+
415
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:153
416
+ class Spoom::Coverage::Cards::Map < ::Spoom::Coverage::Cards::Card
417
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:157
418
+ sig { params(sigils_tree: ::Spoom::FileTree, title: ::String).void }
419
+ def initialize(sigils_tree:, title: T.unsafe(nil)); end
420
+ end
421
+
422
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:123
423
+ class Spoom::Coverage::Cards::Snapshot < ::Spoom::Coverage::Cards::Card
424
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:132
425
+ sig { params(snapshot: ::Spoom::Coverage::Snapshot, title: ::String).void }
426
+ def initialize(snapshot:, title: T.unsafe(nil)); end
427
+
428
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:143
429
+ sig { returns(::Spoom::Coverage::D3::Pie::Calls) }
430
+ def pie_calls; end
431
+
432
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:138
433
+ sig { returns(::Spoom::Coverage::D3::Pie::Sigils) }
434
+ def pie_sigils; end
435
+
436
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:148
437
+ sig { returns(::Spoom::Coverage::D3::Pie::Sigs) }
438
+ def pie_sigs; end
439
+
440
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:129
441
+ sig { returns(::Spoom::Coverage::Snapshot) }
442
+ def snapshot; end
443
+ end
444
+
445
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:126
446
+ Spoom::Coverage::Cards::Snapshot::TEMPLATE = T.let(T.unsafe(nil), String)
447
+
448
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:225
449
+ class Spoom::Coverage::Cards::SorbetIntro < ::Spoom::Coverage::Cards::Erb
450
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:229
451
+ sig { params(sorbet_intro_commit: T.nilable(::String), sorbet_intro_date: T.nilable(::Time)).void }
452
+ def initialize(sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end
453
+
454
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:235
455
+ sig { override.returns(::String) }
456
+ def erb; end
457
+ end
458
+
459
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:162
460
+ class Spoom::Coverage::Cards::Timeline < ::Spoom::Coverage::Cards::Card
461
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:166
462
+ sig { params(title: ::String, timeline: ::Spoom::Coverage::D3::Timeline).void }
463
+ def initialize(title:, timeline:); end
464
+ end
465
+
466
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:179
467
+ class Spoom::Coverage::Cards::Timeline::Calls < ::Spoom::Coverage::Cards::Timeline
468
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:183
469
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
470
+ def initialize(snapshots:, title: T.unsafe(nil)); end
471
+ end
472
+
473
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:197
474
+ class Spoom::Coverage::Cards::Timeline::RBIs < ::Spoom::Coverage::Cards::Timeline
475
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:201
476
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
477
+ def initialize(snapshots:, title: T.unsafe(nil)); end
478
+ end
479
+
480
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:215
481
+ class Spoom::Coverage::Cards::Timeline::Runtimes < ::Spoom::Coverage::Cards::Timeline
482
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:219
483
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
484
+ def initialize(snapshots:, title: T.unsafe(nil)); end
485
+ end
486
+
487
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:170
488
+ class Spoom::Coverage::Cards::Timeline::Sigils < ::Spoom::Coverage::Cards::Timeline
489
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:174
490
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
491
+ def initialize(snapshots:, title: T.unsafe(nil)); end
492
+ end
493
+
494
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:188
495
+ class Spoom::Coverage::Cards::Timeline::Sigs < ::Spoom::Coverage::Cards::Timeline
496
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:192
497
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
498
+ def initialize(snapshots:, title: T.unsafe(nil)); end
499
+ end
500
+
501
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:206
502
+ class Spoom::Coverage::Cards::Timeline::Versions < ::Spoom::Coverage::Cards::Timeline
503
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:210
504
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
505
+ def initialize(snapshots:, title: T.unsafe(nil)); end
506
+ end
507
+
508
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/base.rb:6
509
+ module Spoom::Coverage::D3
510
+ class << self
511
+ # source://spoom-1.1.11/lib/spoom/coverage/d3.rb:60
512
+ sig { params(palette: ::Spoom::Coverage::D3::ColorPalette).returns(::String) }
513
+ def header_script(palette); end
514
+
515
+ # source://spoom-1.1.11/lib/spoom/coverage/d3.rb:20
516
+ sig { returns(::String) }
517
+ def header_style; end
518
+ end
519
+ end
520
+
521
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
522
+ #
523
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/base.rb:7
524
+ class Spoom::Coverage::D3::Base
525
+ abstract!
526
+
527
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/base.rb:17
528
+ sig { params(id: ::String, data: T.untyped).void }
529
+ def initialize(id, data); end
530
+
531
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/base.rb:33
532
+ sig { returns(::String) }
533
+ def html; end
534
+
535
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/base.rb:14
536
+ sig { returns(::String) }
537
+ def id; end
538
+
539
+ # @abstract
540
+ #
541
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/base.rb:46
542
+ sig { abstract.returns(::String) }
543
+ def script; end
544
+
545
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/base.rb:41
546
+ sig { returns(::String) }
547
+ def tooltip; end
548
+
549
+ class << self
550
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/base.rb:28
551
+ sig { returns(::String) }
552
+ def header_script; end
553
+
554
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/base.rb:23
555
+ sig { returns(::String) }
556
+ def header_style; end
557
+ end
558
+ end
559
+
560
+ # source://spoom-1.1.11/lib/spoom/coverage/d3.rb:14
561
+ Spoom::Coverage::D3::COLOR_FALSE = T.let(T.unsafe(nil), String)
562
+
563
+ # source://spoom-1.1.11/lib/spoom/coverage/d3.rb:13
564
+ Spoom::Coverage::D3::COLOR_IGNORE = T.let(T.unsafe(nil), String)
565
+
566
+ # source://spoom-1.1.11/lib/spoom/coverage/d3.rb:16
567
+ Spoom::Coverage::D3::COLOR_STRICT = T.let(T.unsafe(nil), String)
568
+
569
+ # source://spoom-1.1.11/lib/spoom/coverage/d3.rb:17
570
+ Spoom::Coverage::D3::COLOR_STRONG = T.let(T.unsafe(nil), String)
571
+
572
+ # source://spoom-1.1.11/lib/spoom/coverage/d3.rb:15
573
+ Spoom::Coverage::D3::COLOR_TRUE = T.let(T.unsafe(nil), String)
574
+
575
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/circle_map.rb:9
576
+ class Spoom::Coverage::D3::CircleMap < ::Spoom::Coverage::D3::Base
577
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/circle_map.rb:57
578
+ sig { override.returns(::String) }
579
+ def script; end
580
+
581
+ class << self
582
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/circle_map.rb:39
583
+ sig { returns(::String) }
584
+ def header_script; end
585
+
586
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/circle_map.rb:13
587
+ sig { returns(::String) }
588
+ def header_style; end
589
+ end
590
+ end
591
+
592
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/circle_map.rb:146
593
+ class Spoom::Coverage::D3::CircleMap::Sigils < ::Spoom::Coverage::D3::CircleMap
594
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/circle_map.rb:150
595
+ sig { params(id: ::String, sigils_tree: ::Spoom::FileTree).void }
596
+ def initialize(id, sigils_tree); end
597
+
598
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/circle_map.rb:178
599
+ sig { params(node: ::Spoom::FileTree::Node).returns(::Float) }
600
+ def tree_node_score(node); end
601
+
602
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/circle_map.rb:170
603
+ sig { params(node: ::Spoom::FileTree::Node).returns(T.nilable(::String)) }
604
+ def tree_node_strictness(node); end
605
+
606
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/circle_map.rb:158
607
+ sig { params(node: ::Spoom::FileTree::Node).returns(T::Hash[::Symbol, T.untyped]) }
608
+ def tree_node_to_json(node); end
609
+ end
610
+
611
+ # source://spoom-1.1.11/lib/spoom/coverage/d3.rb:101
612
+ class Spoom::Coverage::D3::ColorPalette < ::T::Struct
613
+ prop :false, ::String
614
+ prop :ignore, ::String
615
+ prop :strict, ::String
616
+ prop :strong, ::String
617
+ prop :true, ::String
618
+
619
+ class << self
620
+ # source://sorbet-runtime-0.5.10313/lib/types/struct.rb:13
621
+ def inherited(s); end
622
+ end
623
+ end
624
+
625
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
626
+ #
627
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:9
628
+ class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base
629
+ abstract!
630
+
631
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:16
632
+ sig { params(id: ::String, title: ::String, data: T.untyped).void }
633
+ def initialize(id, title, data); end
634
+
635
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:52
636
+ sig { override.returns(::String) }
637
+ def script; end
638
+
639
+ class << self
640
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:40
641
+ sig { returns(::String) }
642
+ def header_script; end
643
+
644
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:22
645
+ sig { returns(::String) }
646
+ def header_style; end
647
+ end
648
+ end
649
+
650
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:137
651
+ class Spoom::Coverage::D3::Pie::Calls < ::Spoom::Coverage::D3::Pie
652
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:141
653
+ sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
654
+ def initialize(id, title, snapshot); end
655
+
656
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:146
657
+ sig { override.returns(::String) }
658
+ def tooltip; end
659
+ end
660
+
661
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:119
662
+ class Spoom::Coverage::D3::Pie::Sigils < ::Spoom::Coverage::D3::Pie
663
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:123
664
+ sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
665
+ def initialize(id, title, snapshot); end
666
+
667
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:128
668
+ sig { override.returns(::String) }
669
+ def tooltip; end
670
+ end
671
+
672
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:155
673
+ class Spoom::Coverage::D3::Pie::Sigs < ::Spoom::Coverage::D3::Pie
674
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:159
675
+ sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
676
+ def initialize(id, title, snapshot); end
677
+
678
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/pie.rb:164
679
+ sig { override.returns(::String) }
680
+ def tooltip; end
681
+ end
682
+
683
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
684
+ #
685
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:9
686
+ class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base
687
+ abstract!
688
+
689
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:16
690
+ sig { params(id: ::String, data: T.untyped, keys: T::Array[::String]).void }
691
+ def initialize(id, data, keys); end
692
+
693
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:183
694
+ sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) }
695
+ def area(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
696
+
697
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:199
698
+ sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) }
699
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
700
+
701
+ # @abstract
702
+ #
703
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:122
704
+ sig { abstract.returns(::String) }
705
+ def plot; end
706
+
707
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:213
708
+ sig { params(y: ::String).returns(::String) }
709
+ def points(y:); end
710
+
711
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:97
712
+ sig { override.returns(::String) }
713
+ def script; end
714
+
715
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:125
716
+ sig { returns(::String) }
717
+ def x_scale; end
718
+
719
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:141
720
+ sig { returns(::String) }
721
+ def x_ticks; end
722
+
723
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:154
724
+ sig { params(min: ::String, max: ::String, ticks: ::String).returns(::String) }
725
+ def y_scale(min:, max:, ticks:); end
726
+
727
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:170
728
+ sig { params(ticks: ::String, format: ::String, padding: ::Integer).returns(::String) }
729
+ def y_ticks(ticks:, format:, padding:); end
730
+
731
+ class << self
732
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:76
733
+ sig { returns(::String) }
734
+ def header_script; end
735
+
736
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:22
737
+ sig { returns(::String) }
738
+ def header_style; end
739
+ end
740
+ end
741
+
742
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:444
743
+ class Spoom::Coverage::D3::Timeline::Calls < ::Spoom::Coverage::D3::Timeline::Stacked
744
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:448
745
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
746
+ def initialize(id, snapshots); end
747
+
748
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:462
749
+ sig { override.returns(::String) }
750
+ def tooltip; end
751
+ end
752
+
753
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:498
754
+ class Spoom::Coverage::D3::Timeline::RBIs < ::Spoom::Coverage::D3::Timeline::Stacked
755
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:502
756
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
757
+ def initialize(id, snapshots); end
758
+
759
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:570
760
+ sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) }
761
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
762
+
763
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:610
764
+ sig { override.returns(::String) }
765
+ def plot; end
766
+
767
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:530
768
+ sig { override.returns(::String) }
769
+ def script; end
770
+
771
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:516
772
+ sig { override.returns(::String) }
773
+ def tooltip; end
774
+ end
775
+
776
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:278
777
+ class Spoom::Coverage::D3::Timeline::Runtimes < ::Spoom::Coverage::D3::Timeline
778
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:282
779
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
780
+ def initialize(id, snapshots); end
781
+
782
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:307
783
+ sig { override.returns(::String) }
784
+ def plot; end
785
+
786
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:294
787
+ sig { override.returns(::String) }
788
+ def tooltip; end
789
+ end
790
+
791
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:417
792
+ class Spoom::Coverage::D3::Timeline::Sigils < ::Spoom::Coverage::D3::Timeline::Stacked
793
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:421
794
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
795
+ def initialize(id, snapshots); end
796
+
797
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:435
798
+ sig { override.returns(::String) }
799
+ def tooltip; end
800
+ end
801
+
802
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:471
803
+ class Spoom::Coverage::D3::Timeline::Sigs < ::Spoom::Coverage::D3::Timeline::Stacked
804
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:475
805
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
806
+ def initialize(id, snapshots); end
807
+
808
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:489
809
+ sig { override.returns(::String) }
810
+ def tooltip; end
811
+ end
812
+
813
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
814
+ #
815
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:325
816
+ class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline
817
+ abstract!
818
+
819
+ # source://sorbet-runtime-0.5.10313/lib/types/private/abstract/declare.rb:37
820
+ def initialize(*args, &blk); end
821
+
822
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:384
823
+ sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) }
824
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
825
+
826
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:373
827
+ sig { override.returns(::String) }
828
+ def plot; end
829
+
830
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:332
831
+ sig { override.returns(::String) }
832
+ def script; end
833
+ end
834
+
835
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:228
836
+ class Spoom::Coverage::D3::Timeline::Versions < ::Spoom::Coverage::D3::Timeline
837
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:232
838
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
839
+ def initialize(id, snapshots); end
840
+
841
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:259
842
+ sig { override.returns(::String) }
843
+ def plot; end
844
+
845
+ # source://spoom-1.1.11/lib/spoom/coverage/d3/timeline.rb:245
846
+ sig { override.returns(::String) }
847
+ def tooltip; end
848
+ end
849
+
850
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
851
+ #
852
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:38
853
+ class Spoom::Coverage::Page < ::Spoom::Coverage::Template
854
+ abstract!
855
+
856
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:53
857
+ sig { params(title: ::String, palette: ::Spoom::Coverage::D3::ColorPalette, template: ::String).void }
858
+ def initialize(title:, palette:, template: T.unsafe(nil)); end
859
+
860
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:75
861
+ sig { returns(::String) }
862
+ def body_html; end
863
+
864
+ # @abstract
865
+ #
866
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:80
867
+ sig { abstract.returns(T::Array[::Spoom::Coverage::Cards::Card]) }
868
+ def cards; end
869
+
870
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:83
871
+ sig { returns(::String) }
872
+ def footer_html; end
873
+
874
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:70
875
+ sig { returns(::String) }
876
+ def header_html; end
877
+
878
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:65
879
+ sig { returns(::String) }
880
+ def header_script; end
881
+
882
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:60
883
+ sig { returns(::String) }
884
+ def header_style; end
885
+
886
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:50
887
+ sig { returns(::Spoom::Coverage::D3::ColorPalette) }
888
+ def palette; end
889
+
890
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:47
891
+ sig { returns(::String) }
892
+ def title; end
893
+ end
894
+
895
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:44
896
+ Spoom::Coverage::Page::TEMPLATE = T.let(T.unsafe(nil), String)
897
+
898
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:246
899
+ class Spoom::Coverage::Report < ::Spoom::Coverage::Page
900
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:274
901
+ sig do
902
+ params(
903
+ project_name: ::String,
904
+ palette: ::Spoom::Coverage::D3::ColorPalette,
905
+ snapshots: T::Array[::Spoom::Coverage::Snapshot],
906
+ sigils_tree: ::Spoom::FileTree,
907
+ sorbet_intro_commit: T.nilable(::String),
908
+ sorbet_intro_date: T.nilable(::Time)
909
+ ).void
910
+ end
911
+ def initialize(project_name:, palette:, snapshots:, sigils_tree:, sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end
912
+
913
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:302
914
+ sig { override.returns(T::Array[::Spoom::Coverage::Cards::Card]) }
915
+ def cards; end
916
+
917
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:291
918
+ sig { override.returns(::String) }
919
+ def header_html; end
920
+
921
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:250
922
+ sig { returns(::String) }
923
+ def project_name; end
924
+
925
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:262
926
+ sig { returns(::Spoom::FileTree) }
927
+ def sigils_tree; end
928
+
929
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:259
930
+ sig { returns(T::Array[::Spoom::Coverage::Snapshot]) }
931
+ def snapshots; end
932
+
933
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:253
934
+ sig { returns(T.nilable(::String)) }
935
+ def sorbet_intro_commit; end
936
+
937
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:256
938
+ sig { returns(T.nilable(::Time)) }
939
+ def sorbet_intro_date; end
940
+ end
941
+
942
+ # source://spoom-1.1.11/lib/spoom/coverage/snapshot.rb:6
943
+ class Spoom::Coverage::Snapshot < ::T::Struct
944
+ prop :calls_typed, ::Integer, default: T.unsafe(nil)
945
+ prop :calls_untyped, ::Integer, default: T.unsafe(nil)
946
+ prop :classes, ::Integer, default: T.unsafe(nil)
947
+ prop :commit_sha, T.nilable(::String), default: T.unsafe(nil)
948
+ prop :commit_timestamp, T.nilable(::Integer), default: T.unsafe(nil)
949
+ prop :duration, ::Integer, default: T.unsafe(nil)
950
+ prop :files, ::Integer, default: T.unsafe(nil)
951
+ prop :methods_with_sig, ::Integer, default: T.unsafe(nil)
952
+ prop :methods_without_sig, ::Integer, default: T.unsafe(nil)
953
+ prop :modules, ::Integer, default: T.unsafe(nil)
954
+ prop :rbi_files, ::Integer, default: T.unsafe(nil)
955
+ prop :sigils, T::Hash[::String, ::Integer], default: T.unsafe(nil)
956
+ prop :singleton_classes, ::Integer, default: T.unsafe(nil)
957
+ prop :timestamp, ::Integer, default: T.unsafe(nil)
958
+ prop :version_runtime, T.nilable(::String), default: T.unsafe(nil)
959
+ prop :version_static, T.nilable(::String), default: T.unsafe(nil)
960
+
961
+ # source://spoom-1.1.11/lib/spoom/coverage/snapshot.rb:30
962
+ sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
963
+ def print(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
964
+
965
+ # source://spoom-1.1.11/lib/spoom/coverage/snapshot.rb:71
966
+ sig { params(arg: T.untyped).returns(::String) }
967
+ def to_json(*arg); end
968
+
969
+ class << self
970
+ # source://spoom-1.1.11/lib/spoom/coverage/snapshot.rb:36
971
+ sig { params(json: ::String).returns(::Spoom::Coverage::Snapshot) }
972
+ def from_json(json); end
973
+
974
+ # source://spoom-1.1.11/lib/spoom/coverage/snapshot.rb:41
975
+ sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) }
976
+ def from_obj(obj); end
977
+
978
+ # source://sorbet-runtime-0.5.10313/lib/types/struct.rb:13
979
+ def inherited(s); end
980
+ end
981
+ end
982
+
983
+ # The strictness name as found in the Sorbet metrics file
984
+ #
985
+ # source://spoom-1.1.11/lib/spoom/coverage/snapshot.rb:27
986
+ Spoom::Coverage::Snapshot::STRICTNESSES = T.let(T.unsafe(nil), Array)
987
+
988
+ # source://spoom-1.1.11/lib/spoom/coverage/snapshot.rb:76
989
+ class Spoom::Coverage::SnapshotPrinter < ::Spoom::Printer
990
+ # source://spoom-1.1.11/lib/spoom/coverage/snapshot.rb:80
991
+ sig { params(snapshot: ::Spoom::Coverage::Snapshot).void }
992
+ def print_snapshot(snapshot); end
993
+
994
+ private
995
+
996
+ # source://spoom-1.1.11/lib/spoom/coverage/snapshot.rb:128
997
+ sig { params(value: T.nilable(::Integer), total: T.nilable(::Integer)).returns(::String) }
998
+ def percent(value, total); end
999
+
1000
+ # source://spoom-1.1.11/lib/spoom/coverage/snapshot.rb:118
1001
+ sig { params(hash: T::Hash[::String, ::Integer], total: ::Integer).void }
1002
+ def print_map(hash, total); end
1003
+ end
1004
+
1005
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
1006
+ #
1007
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:10
1008
+ class Spoom::Coverage::Template
1009
+ abstract!
1010
+
1011
+ # Create a new template from an Erb file path
1012
+ #
1013
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:18
1014
+ sig { params(template: ::String).void }
1015
+ def initialize(template:); end
1016
+
1017
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:23
1018
+ sig { returns(::String) }
1019
+ def erb; end
1020
+
1021
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:33
1022
+ sig { returns(::Binding) }
1023
+ def get_binding; end
1024
+
1025
+ # source://spoom-1.1.11/lib/spoom/coverage/report.rb:28
1026
+ sig { returns(::String) }
1027
+ def html; end
1028
+ end
1029
+
1030
+ # source://spoom-1.1.11/lib/spoom.rb:12
1031
+ class Spoom::Error < ::StandardError; end
1032
+
1033
+ # source://spoom-1.1.11/lib/spoom.rb:14
1034
+ class Spoom::ExecResult < ::T::Struct
1035
+ const :err, ::String
1036
+ const :exit_code, ::Integer
1037
+ const :out, ::String
1038
+ const :status, T::Boolean
1039
+
1040
+ class << self
1041
+ # source://sorbet-runtime-0.5.10313/lib/types/struct.rb:13
1042
+ def inherited(s); end
1043
+ end
1044
+ end
1045
+
1046
+ # Build a file hierarchy from a set of file paths.
1047
+ #
1048
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:6
1049
+ class Spoom::FileTree
1050
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:13
1051
+ sig { params(paths: T::Enumerable[::String], strip_prefix: T.nilable(::String)).void }
1052
+ def initialize(paths = T.unsafe(nil), strip_prefix: T.unsafe(nil)); end
1053
+
1054
+ # Add a `path` to the tree
1055
+ #
1056
+ # This will create all nodes until the root of `path`.
1057
+ #
1058
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:29
1059
+ sig { params(path: ::String).returns(::Spoom::FileTree::Node) }
1060
+ def add_path(path); end
1061
+
1062
+ # Add all `paths` to the tree
1063
+ #
1064
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:21
1065
+ sig { params(paths: T::Enumerable[::String]).void }
1066
+ def add_paths(paths); end
1067
+
1068
+ # All the nodes in this tree
1069
+ #
1070
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:50
1071
+ sig { returns(T::Array[::Spoom::FileTree::Node]) }
1072
+ def nodes; end
1073
+
1074
+ # All the paths in this tree
1075
+ #
1076
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:58
1077
+ sig { returns(T::Array[::String]) }
1078
+ def paths; end
1079
+
1080
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:70
1081
+ sig do
1082
+ params(
1083
+ out: T.any(::IO, ::StringIO),
1084
+ show_strictness: T::Boolean,
1085
+ colors: T::Boolean,
1086
+ indent_level: ::Integer
1087
+ ).void
1088
+ end
1089
+ def print(out: T.unsafe(nil), show_strictness: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
1090
+
1091
+ # All root nodes
1092
+ #
1093
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:44
1094
+ sig { returns(T::Array[::Spoom::FileTree::Node]) }
1095
+ def roots; end
1096
+
1097
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:10
1098
+ sig { returns(T.nilable(::String)) }
1099
+ def strip_prefix; end
1100
+
1101
+ private
1102
+
1103
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:84
1104
+ sig do
1105
+ params(
1106
+ node: ::Spoom::FileTree::Node,
1107
+ collected_nodes: T::Array[::Spoom::FileTree::Node]
1108
+ ).returns(T::Array[::Spoom::FileTree::Node])
1109
+ end
1110
+ def collect_nodes(node, collected_nodes = T.unsafe(nil)); end
1111
+ end
1112
+
1113
+ # A node representing either a file or a directory inside a FileTree
1114
+ #
1115
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:91
1116
+ class Spoom::FileTree::Node < ::T::Struct
1117
+ const :children, T::Hash[::String, ::Spoom::FileTree::Node], default: T.unsafe(nil)
1118
+ const :name, ::String
1119
+ const :parent, T.nilable(::Spoom::FileTree::Node)
1120
+
1121
+ # Full path to this node from root
1122
+ #
1123
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:105
1124
+ sig { returns(::String) }
1125
+ def path; end
1126
+
1127
+ class << self
1128
+ # source://sorbet-runtime-0.5.10313/lib/types/struct.rb:13
1129
+ def inherited(s); end
1130
+ end
1131
+ end
1132
+
1133
+ # An internal class used to print a FileTree
1134
+ #
1135
+ # See `FileTree#print`
1136
+ #
1137
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:115
1138
+ class Spoom::FileTree::TreePrinter < ::Spoom::Printer
1139
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:130
1140
+ sig do
1141
+ params(
1142
+ tree: ::Spoom::FileTree,
1143
+ out: T.any(::IO, ::StringIO),
1144
+ show_strictness: T::Boolean,
1145
+ colors: T::Boolean,
1146
+ indent_level: ::Integer
1147
+ ).void
1148
+ end
1149
+ def initialize(tree:, out: T.unsafe(nil), show_strictness: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
1150
+
1151
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:142
1152
+ sig { params(node: ::Spoom::FileTree::Node).void }
1153
+ def print_node(node); end
1154
+
1155
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:169
1156
+ sig { params(nodes: T::Array[::Spoom::FileTree::Node]).void }
1157
+ def print_nodes(nodes); end
1158
+
1159
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:137
1160
+ sig { void }
1161
+ def print_tree; end
1162
+
1163
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:119
1164
+ sig { returns(::Spoom::FileTree) }
1165
+ def tree; end
1166
+
1167
+ private
1168
+
1169
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:176
1170
+ sig { params(node: ::Spoom::FileTree::Node).returns(T.nilable(::String)) }
1171
+ def node_strictness(node); end
1172
+
1173
+ # source://spoom-1.1.11/lib/spoom/file_tree.rb:184
1174
+ sig { params(strictness: T.nilable(::String)).returns(::Spoom::Color) }
1175
+ def strictness_color(strictness); end
1176
+ end
1177
+
1178
+ # Execute git commands
1179
+ #
1180
+ # source://spoom-1.1.11/lib/spoom/git.rb:8
1181
+ module Spoom::Git
1182
+ class << self
1183
+ # Git commands
1184
+ #
1185
+ # source://spoom-1.1.11/lib/spoom/git.rb:35
1186
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1187
+ def checkout(*arg, path: T.unsafe(nil)); end
1188
+
1189
+ # Get the commit Time for a `sha`
1190
+ #
1191
+ # source://spoom-1.1.11/lib/spoom/git.rb:78
1192
+ sig { params(sha: ::String, path: ::String).returns(T.nilable(::Time)) }
1193
+ def commit_time(sha, path: T.unsafe(nil)); end
1194
+
1195
+ # Get the commit epoch timestamp for a `sha`
1196
+ #
1197
+ # source://spoom-1.1.11/lib/spoom/git.rb:70
1198
+ sig { params(sha: ::String, path: ::String).returns(T.nilable(::Integer)) }
1199
+ def commit_timestamp(sha, path: T.unsafe(nil)); end
1200
+
1201
+ # source://spoom-1.1.11/lib/spoom/git.rb:60
1202
+ sig { params(path: ::String).returns(T.nilable(::String)) }
1203
+ def current_branch(path: T.unsafe(nil)); end
1204
+
1205
+ # source://spoom-1.1.11/lib/spoom/git.rb:40
1206
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1207
+ def diff(*arg, path: T.unsafe(nil)); end
1208
+
1209
+ # Translate a git epoch timestamp into a Time
1210
+ #
1211
+ # source://spoom-1.1.11/lib/spoom/git.rb:94
1212
+ sig { params(timestamp: ::String).returns(::Time) }
1213
+ def epoch_to_time(timestamp); end
1214
+
1215
+ # Execute a `command`
1216
+ #
1217
+ # source://spoom-1.1.11/lib/spoom/git.rb:13
1218
+ sig { params(command: ::String, arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1219
+ def exec(command, *arg, path: T.unsafe(nil)); end
1220
+
1221
+ # Get the last commit sha
1222
+ #
1223
+ # source://spoom-1.1.11/lib/spoom/git.rb:86
1224
+ sig { params(path: ::String).returns(T.nilable(::String)) }
1225
+ def last_commit(path: T.unsafe(nil)); end
1226
+
1227
+ # source://spoom-1.1.11/lib/spoom/git.rb:45
1228
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1229
+ def log(*arg, path: T.unsafe(nil)); end
1230
+
1231
+ # source://spoom-1.1.11/lib/spoom/git.rb:50
1232
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1233
+ def rev_parse(*arg, path: T.unsafe(nil)); end
1234
+
1235
+ # source://spoom-1.1.11/lib/spoom/git.rb:55
1236
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1237
+ def show(*arg, path: T.unsafe(nil)); end
1238
+
1239
+ # Get the hash of the commit introducing the `sorbet/config` file
1240
+ #
1241
+ # source://spoom-1.1.11/lib/spoom/git.rb:106
1242
+ sig { params(path: ::String).returns(T.nilable(::String)) }
1243
+ def sorbet_intro_commit(path: T.unsafe(nil)); end
1244
+
1245
+ # Get the hash of the commit removing the `sorbet/config` file
1246
+ #
1247
+ # source://spoom-1.1.11/lib/spoom/git.rb:116
1248
+ sig { params(path: ::String).returns(T.nilable(::String)) }
1249
+ def sorbet_removal_commit(path: T.unsafe(nil)); end
1250
+
1251
+ # Is there uncommited changes in `path`?
1252
+ #
1253
+ # source://spoom-1.1.11/lib/spoom/git.rb:100
1254
+ sig { params(path: ::String).returns(T::Boolean) }
1255
+ def workdir_clean?(path: T.unsafe(nil)); end
1256
+ end
1257
+ end
1258
+
1259
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:5
1260
+ module Spoom::LSP; end
1261
+
1262
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:13
1263
+ class Spoom::LSP::Client
1264
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:17
1265
+ sig { params(sorbet_bin: ::String, sorbet_args: ::String, path: ::String).void }
1266
+ def initialize(sorbet_bin, *sorbet_args, path: T.unsafe(nil)); end
1267
+
1268
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:221
1269
+ sig { void }
1270
+ def close; end
1271
+
1272
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:128
1273
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) }
1274
+ def definitions(uri, line, column); end
1275
+
1276
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:205
1277
+ sig { params(uri: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) }
1278
+ def document_symbols(uri); end
1279
+
1280
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:88
1281
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T.nilable(::Spoom::LSP::Hover)) }
1282
+ def hover(uri, line, column); end
1283
+
1284
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:27
1285
+ sig { returns(::Integer) }
1286
+ def next_id; end
1287
+
1288
+ # LSP requests
1289
+ #
1290
+ # @raise [Error::AlreadyOpen]
1291
+ #
1292
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:72
1293
+ sig { params(workspace_path: ::String).void }
1294
+ def open(workspace_path); end
1295
+
1296
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:54
1297
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
1298
+ def read; end
1299
+
1300
+ # @raise [Error::BadHeaders]
1301
+ #
1302
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:43
1303
+ sig { returns(T.nilable(::String)) }
1304
+ def read_raw; end
1305
+
1306
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:168
1307
+ sig do
1308
+ params(
1309
+ uri: ::String,
1310
+ line: ::Integer,
1311
+ column: ::Integer,
1312
+ include_decl: T::Boolean
1313
+ ).returns(T::Array[::Spoom::LSP::Location])
1314
+ end
1315
+ def references(uri, line, column, include_decl = T.unsafe(nil)); end
1316
+
1317
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:37
1318
+ sig { params(message: ::Spoom::LSP::Message).returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
1319
+ def send(message); end
1320
+
1321
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:32
1322
+ sig { params(json_string: ::String).void }
1323
+ def send_raw(json_string); end
1324
+
1325
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:108
1326
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::SignatureHelp]) }
1327
+ def signatures(uri, line, column); end
1328
+
1329
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:191
1330
+ sig { params(query: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) }
1331
+ def symbols(query); end
1332
+
1333
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp.rb:148
1334
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) }
1335
+ def type_definitions(uri, line, column); end
1336
+ end
1337
+
1338
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:158
1339
+ class Spoom::LSP::Diagnostic < ::T::Struct
1340
+ include ::Spoom::LSP::PrintableSymbol
1341
+
1342
+ const :code, ::Integer
1343
+ const :informations, ::Object
1344
+ const :message, ::String
1345
+ const :range, ::Spoom::LSP::Range
1346
+
1347
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:178
1348
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1349
+ def accept_printer(printer); end
1350
+
1351
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:183
1352
+ sig { returns(::String) }
1353
+ def to_s; end
1354
+
1355
+ class << self
1356
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:168
1357
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) }
1358
+ def from_json(json); end
1359
+
1360
+ # source://sorbet-runtime-0.5.10313/lib/types/struct.rb:13
1361
+ def inherited(s); end
1362
+ end
1363
+ end
1364
+
1365
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:188
1366
+ class Spoom::LSP::DocumentSymbol < ::T::Struct
1367
+ include ::Spoom::LSP::PrintableSymbol
1368
+
1369
+ const :children, T::Array[::Spoom::LSP::DocumentSymbol]
1370
+ const :detail, T.nilable(::String)
1371
+ const :kind, ::Integer
1372
+ const :location, T.nilable(::Spoom::LSP::Location)
1373
+ const :name, ::String
1374
+ const :range, T.nilable(::Spoom::LSP::Range)
1375
+
1376
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:212
1377
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1378
+ def accept_printer(printer); end
1379
+
1380
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:243
1381
+ sig { returns(::String) }
1382
+ def kind_string; end
1383
+
1384
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:238
1385
+ sig { returns(::String) }
1386
+ def to_s; end
1387
+
1388
+ class << self
1389
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:200
1390
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) }
1391
+ def from_json(json); end
1392
+
1393
+ # source://sorbet-runtime-0.5.10313/lib/types/struct.rb:13
1394
+ def inherited(s); end
1395
+ end
1396
+ end
1397
+
1398
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:247
1399
+ Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash)
1400
+
1401
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:6
1402
+ class Spoom::LSP::Error < ::StandardError; end
1403
+
1404
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:7
1405
+ class Spoom::LSP::Error::AlreadyOpen < ::Spoom::LSP::Error; end
1406
+
1407
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:8
1408
+ class Spoom::LSP::Error::BadHeaders < ::Spoom::LSP::Error; end
1409
+
1410
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:10
1411
+ class Spoom::LSP::Error::Diagnostics < ::Spoom::LSP::Error
1412
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:28
1413
+ sig { params(uri: ::String, diagnostics: T::Array[::Spoom::LSP::Diagnostic]).void }
1414
+ def initialize(uri, diagnostics); end
1415
+
1416
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:17
1417
+ sig { returns(T::Array[::Spoom::LSP::Diagnostic]) }
1418
+ def diagnostics; end
1419
+
1420
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:14
1421
+ sig { returns(::String) }
1422
+ def uri; end
1423
+
1424
+ class << self
1425
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:20
1426
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Error::Diagnostics) }
1427
+ def from_json(json); end
1428
+ end
1429
+ end
1430
+
1431
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:19
1432
+ class Spoom::LSP::Hover < ::T::Struct
1433
+ include ::Spoom::LSP::PrintableSymbol
1434
+
1435
+ const :contents, ::String
1436
+ const :range, T.nilable(T::Range[T.untyped])
1437
+
1438
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:35
1439
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1440
+ def accept_printer(printer); end
1441
+
1442
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:41
1443
+ sig { returns(::String) }
1444
+ def to_s; end
1445
+
1446
+ class << self
1447
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:27
1448
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) }
1449
+ def from_json(json); end
1450
+
1451
+ # source://sorbet-runtime-0.5.10313/lib/types/struct.rb:13
1452
+ def inherited(s); end
1453
+ end
1454
+ end
1455
+
1456
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:100
1457
+ class Spoom::LSP::Location < ::T::Struct
1458
+ include ::Spoom::LSP::PrintableSymbol
1459
+
1460
+ const :range, ::Spoom::LSP::Range
1461
+ const :uri, ::String
1462
+
1463
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:116
1464
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1465
+ def accept_printer(printer); end
1466
+
1467
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:122
1468
+ sig { returns(::String) }
1469
+ def to_s; end
1470
+
1471
+ class << self
1472
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:108
1473
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) }
1474
+ def from_json(json); end
1475
+
1476
+ # source://sorbet-runtime-0.5.10313/lib/types/struct.rb:13
1477
+ def inherited(s); end
1478
+ end
1479
+ end
1480
+
1481
+ # A general message as defined by JSON-RPC.
1482
+ #
1483
+ # The language server protocol always uses `"2.0"` as the `jsonrpc` version.
1484
+ #
1485
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:12
1486
+ class Spoom::LSP::Message
1487
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:19
1488
+ sig { void }
1489
+ def initialize; end
1490
+
1491
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:24
1492
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
1493
+ def as_json; end
1494
+
1495
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:16
1496
+ sig { returns(::String) }
1497
+ def jsonrpc; end
1498
+
1499
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:32
1500
+ sig { params(args: T.untyped).returns(::String) }
1501
+ def to_json(*args); end
1502
+ end
1503
+
1504
+ # A notification message.
1505
+ #
1506
+ # A processed notification message must not send a response back. They work like events.
1507
+ #
1508
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:64
1509
+ class Spoom::LSP::Notification < ::Spoom::LSP::Message
1510
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:74
1511
+ sig { params(method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
1512
+ def initialize(method, params); end
1513
+
1514
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:68
1515
+ sig { returns(::String) }
1516
+ def method; end
1517
+
1518
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:71
1519
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
1520
+ def params; end
1521
+ end
1522
+
1523
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:46
1524
+ class Spoom::LSP::Position < ::T::Struct
1525
+ include ::Spoom::LSP::PrintableSymbol
1526
+
1527
+ const :char, ::Integer
1528
+ const :line, ::Integer
1529
+
1530
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:62
1531
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1532
+ def accept_printer(printer); end
1533
+
1534
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:67
1535
+ sig { returns(::String) }
1536
+ def to_s; end
1537
+
1538
+ class << self
1539
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:54
1540
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) }
1541
+ def from_json(json); end
1542
+
1543
+ # source://sorbet-runtime-0.5.10313/lib/types/struct.rb:13
1544
+ def inherited(s); end
1545
+ end
1546
+ end
1547
+
1548
+ # @abstract Subclasses must implement the `abstract` methods below.
1549
+ #
1550
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:9
1551
+ module Spoom::LSP::PrintableSymbol
1552
+ interface!
1553
+
1554
+ # @abstract
1555
+ #
1556
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:16
1557
+ sig { abstract.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1558
+ def accept_printer(printer); end
1559
+ end
1560
+
1561
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:72
1562
+ class Spoom::LSP::Range < ::T::Struct
1563
+ include ::Spoom::LSP::PrintableSymbol
1564
+
1565
+ const :end, ::Spoom::LSP::Position
1566
+ const :start, ::Spoom::LSP::Position
1567
+
1568
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:88
1569
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1570
+ def accept_printer(printer); end
1571
+
1572
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:95
1573
+ sig { returns(::String) }
1574
+ def to_s; end
1575
+
1576
+ class << self
1577
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:80
1578
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) }
1579
+ def from_json(json); end
1580
+
1581
+ # source://sorbet-runtime-0.5.10313/lib/types/struct.rb:13
1582
+ def inherited(s); end
1583
+ end
1584
+ end
1585
+
1586
+ # A request message to describe a request between the client and the server.
1587
+ #
1588
+ # Every processed request must send a response back to the sender of the request.
1589
+ #
1590
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:40
1591
+ class Spoom::LSP::Request < ::Spoom::LSP::Message
1592
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:53
1593
+ sig { params(id: ::Integer, method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
1594
+ def initialize(id, method, params); end
1595
+
1596
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:44
1597
+ sig { returns(::Integer) }
1598
+ def id; end
1599
+
1600
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:47
1601
+ sig { returns(::String) }
1602
+ def method; end
1603
+
1604
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/base.rb:50
1605
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
1606
+ def params; end
1607
+ end
1608
+
1609
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:35
1610
+ class Spoom::LSP::ResponseError < ::Spoom::LSP::Error
1611
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:57
1612
+ sig { params(code: ::Integer, message: ::String, data: T::Hash[T.untyped, T.untyped]).void }
1613
+ def initialize(code, message, data); end
1614
+
1615
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:39
1616
+ sig { returns(::Integer) }
1617
+ def code; end
1618
+
1619
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:45
1620
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
1621
+ def data; end
1622
+
1623
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:42
1624
+ sig { returns(::String) }
1625
+ def message; end
1626
+
1627
+ class << self
1628
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/errors.rb:48
1629
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::ResponseError) }
1630
+ def from_json(json); end
1631
+ end
1632
+ end
1633
+
1634
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:127
1635
+ class Spoom::LSP::SignatureHelp < ::T::Struct
1636
+ include ::Spoom::LSP::PrintableSymbol
1637
+
1638
+ const :doc, ::Object
1639
+ const :label, T.nilable(::String)
1640
+ const :params, T::Array[T.untyped]
1641
+
1642
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:145
1643
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1644
+ def accept_printer(printer); end
1645
+
1646
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:153
1647
+ sig { returns(::String) }
1648
+ def to_s; end
1649
+
1650
+ class << self
1651
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:136
1652
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) }
1653
+ def from_json(json); end
1654
+
1655
+ # source://sorbet-runtime-0.5.10313/lib/types/struct.rb:13
1656
+ def inherited(s); end
1657
+ end
1658
+ end
1659
+
1660
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:277
1661
+ class Spoom::LSP::SymbolPrinter < ::Spoom::Printer
1662
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:294
1663
+ sig do
1664
+ params(
1665
+ out: T.any(::IO, ::StringIO),
1666
+ colors: T::Boolean,
1667
+ indent_level: ::Integer,
1668
+ prefix: T.nilable(::String)
1669
+ ).void
1670
+ end
1671
+ def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil), prefix: T.unsafe(nil)); end
1672
+
1673
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:315
1674
+ sig { params(uri: ::String).returns(::String) }
1675
+ def clean_uri(uri); end
1676
+
1677
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:284
1678
+ sig { returns(T.nilable(::String)) }
1679
+ def prefix; end
1680
+
1681
+ # @return [String, nil]
1682
+ #
1683
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:284
1684
+ def prefix=(_arg0); end
1685
+
1686
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:322
1687
+ sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void }
1688
+ def print_list(objects); end
1689
+
1690
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:304
1691
+ sig { params(object: T.nilable(::Spoom::LSP::PrintableSymbol)).void }
1692
+ def print_object(object); end
1693
+
1694
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:310
1695
+ sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void }
1696
+ def print_objects(objects); end
1697
+
1698
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:281
1699
+ sig { returns(T::Set[::Integer]) }
1700
+ def seen; end
1701
+
1702
+ # @return [Set<Integer>]
1703
+ #
1704
+ # source://spoom-1.1.11/lib/spoom/sorbet/lsp/structures.rb:281
1705
+ def seen=(_arg0); end
1706
+ end
1707
+
1708
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
1709
+ #
1710
+ # source://spoom-1.1.11/lib/spoom/printer.rb:7
1711
+ class Spoom::Printer
1712
+ include ::Spoom::Colorize
1713
+
1714
+ abstract!
1715
+
1716
+ # source://spoom-1.1.11/lib/spoom/printer.rb:19
1717
+ sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
1718
+ def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
1719
+
1720
+ # Colorize `string` with color if `@colors`
1721
+ #
1722
+ # source://spoom-1.1.11/lib/spoom/printer.rb:77
1723
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
1724
+ def colorize(string, *color); end
1725
+
1726
+ # Decrease indent level
1727
+ #
1728
+ # source://spoom-1.1.11/lib/spoom/printer.rb:33
1729
+ sig { void }
1730
+ def dedent; end
1731
+
1732
+ # Increase indent level
1733
+ #
1734
+ # source://spoom-1.1.11/lib/spoom/printer.rb:27
1735
+ sig { void }
1736
+ def indent; end
1737
+
1738
+ # source://spoom-1.1.11/lib/spoom/printer.rb:16
1739
+ sig { returns(T.any(::IO, ::StringIO)) }
1740
+ def out; end
1741
+
1742
+ # @return [IO, StringIO]
1743
+ #
1744
+ # source://spoom-1.1.11/lib/spoom/printer.rb:16
1745
+ def out=(_arg0); end
1746
+
1747
+ # Print `string` into `out`
1748
+ #
1749
+ # source://spoom-1.1.11/lib/spoom/printer.rb:39
1750
+ sig { params(string: T.nilable(::String)).void }
1751
+ def print(string); end
1752
+
1753
+ # Print `string` colored with `color` into `out`
1754
+ #
1755
+ # Does not use colors unless `@colors`.
1756
+ #
1757
+ # source://spoom-1.1.11/lib/spoom/printer.rb:48
1758
+ sig { params(string: T.nilable(::String), color: ::Spoom::Color).void }
1759
+ def print_colored(string, *color); end
1760
+
1761
+ # Print `string` with indent and newline
1762
+ #
1763
+ # source://spoom-1.1.11/lib/spoom/printer.rb:62
1764
+ sig { params(string: T.nilable(::String)).void }
1765
+ def printl(string); end
1766
+
1767
+ # Print a new line into `out`
1768
+ #
1769
+ # source://spoom-1.1.11/lib/spoom/printer.rb:56
1770
+ sig { void }
1771
+ def printn; end
1772
+
1773
+ # Print an indent space into `out`
1774
+ #
1775
+ # source://spoom-1.1.11/lib/spoom/printer.rb:71
1776
+ sig { void }
1777
+ def printt; end
1778
+ end
1779
+
1780
+ # source://spoom-1.1.11/lib/spoom.rb:10
1781
+ Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String)
1782
+
1783
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:5
1784
+ module Spoom::Sorbet
1785
+ class << self
1786
+ # source://spoom-1.1.11/lib/spoom/sorbet.rb:31
1787
+ sig do
1788
+ params(
1789
+ arg: ::String,
1790
+ path: ::String,
1791
+ capture_err: T::Boolean,
1792
+ sorbet_bin: T.nilable(::String)
1793
+ ).returns(::Spoom::ExecResult)
1794
+ end
1795
+ def srb(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
1796
+
1797
+ # List all files typechecked by Sorbet from its `config`
1798
+ #
1799
+ # source://spoom-1.1.11/lib/spoom/sorbet.rb:55
1800
+ sig { params(config: ::Spoom::Sorbet::Config, path: ::String).returns(T::Array[::String]) }
1801
+ def srb_files(config, path: T.unsafe(nil)); end
1802
+
1803
+ # source://spoom-1.1.11/lib/spoom/sorbet.rb:92
1804
+ sig do
1805
+ params(
1806
+ arg: ::String,
1807
+ path: ::String,
1808
+ capture_err: T::Boolean,
1809
+ sorbet_bin: T.nilable(::String)
1810
+ ).returns(T.nilable(T::Hash[::String, ::Integer]))
1811
+ end
1812
+ def srb_metrics(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
1813
+
1814
+ # source://spoom-1.1.11/lib/spoom/sorbet.rb:48
1815
+ sig do
1816
+ params(
1817
+ arg: ::String,
1818
+ path: ::String,
1819
+ capture_err: T::Boolean,
1820
+ sorbet_bin: T.nilable(::String)
1821
+ ).returns(::Spoom::ExecResult)
1822
+ end
1823
+ def srb_tc(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
1824
+
1825
+ # source://spoom-1.1.11/lib/spoom/sorbet.rb:71
1826
+ sig do
1827
+ params(
1828
+ arg: ::String,
1829
+ path: ::String,
1830
+ capture_err: T::Boolean,
1831
+ sorbet_bin: T.nilable(::String)
1832
+ ).returns(T.nilable(::String))
1833
+ end
1834
+ def srb_version(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
1835
+
1836
+ # Get `gem` version from the `Gemfile.lock` content
1837
+ #
1838
+ # Returns `nil` if `gem` cannot be found in the Gemfile.
1839
+ #
1840
+ # source://spoom-1.1.11/lib/spoom/sorbet.rb:115
1841
+ sig { params(gem: ::String, path: ::String).returns(T.nilable(::String)) }
1842
+ def version_from_gemfile_lock(gem: T.unsafe(nil), path: T.unsafe(nil)); end
1843
+ end
1844
+ end
1845
+
1846
+ # source://spoom-1.1.11/lib/spoom/sorbet.rb:16
1847
+ Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String)
1848
+
1849
+ # source://spoom-1.1.11/lib/spoom/sorbet.rb:14
1850
+ Spoom::Sorbet::CONFIG_PATH = T.let(T.unsafe(nil), String)
1851
+
1852
+ # Parse Sorbet config files
1853
+ #
1854
+ # Parses a Sorbet config file:
1855
+ #
1856
+ # ```ruby
1857
+ # config = Spoom::Sorbet::Config.parse_file("sorbet/config")
1858
+ # puts config.paths # "."
1859
+ # ```
1860
+ #
1861
+ # Parses a Sorbet config string:
1862
+ #
1863
+ # ```ruby
1864
+ # config = Spoom::Sorbet::Config.parse_string(<<~CONFIG)
1865
+ # a
1866
+ # --file=b
1867
+ # --ignore=c
1868
+ # CONFIG
1869
+ # puts config.paths # "a", "b"
1870
+ # puts config.ignore # "c"
1871
+ # ```
1872
+ #
1873
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:26
1874
+ class Spoom::Sorbet::Config
1875
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:36
1876
+ sig { void }
1877
+ def initialize; end
1878
+
1879
+ # @return [Array<String>]
1880
+ #
1881
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:30
1882
+ def allowed_extensions; end
1883
+
1884
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:44
1885
+ sig { returns(::Spoom::Sorbet::Config) }
1886
+ def copy; end
1887
+
1888
+ # @return [Array<String>]
1889
+ #
1890
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:30
1891
+ def ignore; end
1892
+
1893
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:33
1894
+ sig { returns(T::Boolean) }
1895
+ def no_stdlib; end
1896
+
1897
+ # @return [Boolean]
1898
+ #
1899
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:33
1900
+ def no_stdlib=(_arg0); end
1901
+
1902
+ # Returns self as a string of options that can be passed to Sorbet
1903
+ #
1904
+ # Example:
1905
+ # ~~~rb
1906
+ # config = Sorbet::Config.new
1907
+ # config.paths << "/foo"
1908
+ # config.paths << "/bar"
1909
+ # config.ignore << "/baz"
1910
+ # config.allowed_extensions << ".rb"
1911
+ #
1912
+ # puts config.options_string # "/foo /bar --ignore /baz --allowed-extension .rb"
1913
+ # ~~~
1914
+ #
1915
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:66
1916
+ sig { returns(::String) }
1917
+ def options_string; end
1918
+
1919
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:30
1920
+ sig { returns(T::Array[::String]) }
1921
+ def paths; end
1922
+
1923
+ class << self
1924
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:79
1925
+ sig { params(sorbet_config_path: ::String).returns(::Spoom::Sorbet::Config) }
1926
+ def parse_file(sorbet_config_path); end
1927
+
1928
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:84
1929
+ sig { params(sorbet_config: ::String).returns(::Spoom::Sorbet::Config) }
1930
+ def parse_string(sorbet_config); end
1931
+
1932
+ private
1933
+
1934
+ # source://spoom-1.1.11/lib/spoom/sorbet/config.rb:148
1935
+ sig { params(line: ::String).returns(::String) }
1936
+ def parse_option(line); end
1937
+ end
1938
+ end
1939
+
1940
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:6
1941
+ module Spoom::Sorbet::Errors
1942
+ class << self
1943
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:149
1944
+ sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error]).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
1945
+ def sort_errors_by_code(errors); end
1946
+ end
1947
+ end
1948
+
1949
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:9
1950
+ Spoom::Sorbet::Errors::DEFAULT_ERROR_URL_BASE = T.let(T.unsafe(nil), String)
1951
+
1952
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:105
1953
+ class Spoom::Sorbet::Errors::Error
1954
+ include ::Comparable
1955
+
1956
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:127
1957
+ sig do
1958
+ params(
1959
+ file: T.nilable(::String),
1960
+ line: T.nilable(::Integer),
1961
+ message: T.nilable(::String),
1962
+ code: T.nilable(::Integer),
1963
+ more: T::Array[::String]
1964
+ ).void
1965
+ end
1966
+ def initialize(file, line, message, code, more = T.unsafe(nil)); end
1967
+
1968
+ # By default errors are sorted by location
1969
+ #
1970
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:137
1971
+ sig { params(other: T.untyped).returns(::Integer) }
1972
+ def <=>(other); end
1973
+
1974
+ # @return [Integer, nil]
1975
+ #
1976
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:113
1977
+ def code; end
1978
+
1979
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:110
1980
+ sig { returns(T.nilable(::String)) }
1981
+ def file; end
1982
+
1983
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:113
1984
+ sig { returns(T.nilable(::Integer)) }
1985
+ def line; end
1986
+
1987
+ # @return [String, nil]
1988
+ #
1989
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:110
1990
+ def message; end
1991
+
1992
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:116
1993
+ sig { returns(T::Array[::String]) }
1994
+ def more; end
1995
+
1996
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:143
1997
+ sig { returns(::String) }
1998
+ def to_s; end
1999
+ end
2000
+
2001
+ # Parse errors from Sorbet output
2002
+ #
2003
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:12
2004
+ class Spoom::Sorbet::Errors::Parser
2005
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:30
2006
+ sig { params(error_url_base: ::String).void }
2007
+ def initialize(error_url_base: T.unsafe(nil)); end
2008
+
2009
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:37
2010
+ sig { params(output: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
2011
+ def parse(output); end
2012
+
2013
+ private
2014
+
2015
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:99
2016
+ sig { params(line: ::String).void }
2017
+ def append_error(line); end
2018
+
2019
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:92
2020
+ sig { void }
2021
+ def close_error; end
2022
+
2023
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:60
2024
+ sig { params(error_url_base: ::String).returns(::Regexp) }
2025
+ def error_line_match_regexp(error_url_base); end
2026
+
2027
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:77
2028
+ sig { params(line: ::String).returns(T.nilable(::Spoom::Sorbet::Errors::Error)) }
2029
+ def match_error_line(line); end
2030
+
2031
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:86
2032
+ sig { params(error: ::Spoom::Sorbet::Errors::Error).void }
2033
+ def open_error(error); end
2034
+
2035
+ class << self
2036
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:24
2037
+ sig { params(output: ::String, error_url_base: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
2038
+ def parse_string(output, error_url_base: T.unsafe(nil)); end
2039
+ end
2040
+ end
2041
+
2042
+ # source://spoom-1.1.11/lib/spoom/sorbet/errors.rb:15
2043
+ Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array)
2044
+
2045
+ # source://spoom-1.1.11/lib/spoom/sorbet.rb:15
2046
+ Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String)
2047
+
2048
+ # source://spoom-1.1.11/lib/spoom/sorbet/metrics.rb:8
2049
+ module Spoom::Sorbet::MetricsParser
2050
+ class << self
2051
+ # source://spoom-1.1.11/lib/spoom/sorbet/metrics.rb:14
2052
+ sig { params(path: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) }
2053
+ def parse_file(path, prefix = T.unsafe(nil)); end
2054
+
2055
+ # source://spoom-1.1.11/lib/spoom/sorbet/metrics.rb:24
2056
+ sig { params(obj: T::Hash[::String, T.untyped], prefix: ::String).returns(T::Hash[::String, ::Integer]) }
2057
+ def parse_hash(obj, prefix = T.unsafe(nil)); end
2058
+
2059
+ # source://spoom-1.1.11/lib/spoom/sorbet/metrics.rb:19
2060
+ sig { params(string: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) }
2061
+ def parse_string(string, prefix = T.unsafe(nil)); end
2062
+ end
2063
+ end
2064
+
2065
+ # source://spoom-1.1.11/lib/spoom/sorbet/metrics.rb:11
2066
+ Spoom::Sorbet::MetricsParser::DEFAULT_PREFIX = T.let(T.unsafe(nil), String)
2067
+
2068
+ # source://spoom-1.1.11/lib/spoom/sorbet.rb:18
2069
+ Spoom::Sorbet::SEGFAULT_CODE = T.let(T.unsafe(nil), Integer)
2070
+
2071
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:9
2072
+ module Spoom::Sorbet::Sigils
2073
+ class << self
2074
+ # changes the sigil in the file at the passed path to the specified new strictness
2075
+ #
2076
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:65
2077
+ sig { params(path: T.any(::Pathname, ::String), new_strictness: ::String).returns(T::Boolean) }
2078
+ def change_sigil_in_file(path, new_strictness); end
2079
+
2080
+ # changes the sigil to have a new strictness in a list of files
2081
+ #
2082
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:76
2083
+ sig { params(path_list: T::Array[::String], new_strictness: ::String).returns(T::Array[::String]) }
2084
+ def change_sigil_in_files(path_list, new_strictness); end
2085
+
2086
+ # returns a string containing the strictness of a sigil in a file at the passed path
2087
+ # * returns nil if no sigil
2088
+ #
2089
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:57
2090
+ sig { params(path: T.any(::Pathname, ::String)).returns(T.nilable(::String)) }
2091
+ def file_strictness(path); end
2092
+
2093
+ # finds all files in the specified directory with the passed strictness
2094
+ #
2095
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:90
2096
+ sig do
2097
+ params(
2098
+ directory: T.any(::Pathname, ::String),
2099
+ strictness: ::String,
2100
+ extension: ::String
2101
+ ).returns(T::Array[::String])
2102
+ end
2103
+ def files_with_sigil_strictness(directory, strictness, extension: T.unsafe(nil)); end
2104
+
2105
+ # returns the full sigil comment string for the passed strictness
2106
+ #
2107
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:32
2108
+ sig { params(strictness: ::String).returns(::String) }
2109
+ def sigil_string(strictness); end
2110
+
2111
+ # returns the strictness of a sigil in the passed file content string (nil if no sigil)
2112
+ #
2113
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:44
2114
+ sig { params(content: ::String).returns(T.nilable(::String)) }
2115
+ def strictness_in_content(content); end
2116
+
2117
+ # returns a string which is the passed content but with the sigil updated to a new strictness
2118
+ #
2119
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:50
2120
+ sig { params(content: ::String, new_strictness: ::String).returns(::String) }
2121
+ def update_sigil(content, new_strictness); end
2122
+
2123
+ # returns true if the passed string is a valid strictness (else false)
2124
+ #
2125
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:38
2126
+ sig { params(strictness: ::String).returns(T::Boolean) }
2127
+ def valid_strictness?(strictness); end
2128
+ end
2129
+ end
2130
+
2131
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:28
2132
+ Spoom::Sorbet::Sigils::SIGIL_REGEXP = T.let(T.unsafe(nil), Regexp)
2133
+
2134
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:13
2135
+ Spoom::Sorbet::Sigils::STRICTNESS_FALSE = T.let(T.unsafe(nil), String)
2136
+
2137
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:12
2138
+ Spoom::Sorbet::Sigils::STRICTNESS_IGNORE = T.let(T.unsafe(nil), String)
2139
+
2140
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:17
2141
+ Spoom::Sorbet::Sigils::STRICTNESS_INTERNAL = T.let(T.unsafe(nil), String)
2142
+
2143
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:15
2144
+ Spoom::Sorbet::Sigils::STRICTNESS_STRICT = T.let(T.unsafe(nil), String)
2145
+
2146
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:16
2147
+ Spoom::Sorbet::Sigils::STRICTNESS_STRONG = T.let(T.unsafe(nil), String)
2148
+
2149
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:14
2150
+ Spoom::Sorbet::Sigils::STRICTNESS_TRUE = T.let(T.unsafe(nil), String)
2151
+
2152
+ # source://spoom-1.1.11/lib/spoom/sorbet/sigils.rb:19
2153
+ Spoom::Sorbet::Sigils::VALID_STRICTNESS = T.let(T.unsafe(nil), Array)
2154
+
2155
+ # source://spoom-1.1.11/lib/spoom/timeline.rb:7
2156
+ class Spoom::Timeline
2157
+ # source://spoom-1.1.11/lib/spoom/timeline.rb:11
2158
+ sig { params(from: ::Time, to: ::Time, path: ::String).void }
2159
+ def initialize(from, to, path: T.unsafe(nil)); end
2160
+
2161
+ # Return one commit for each date in `dates`
2162
+ #
2163
+ # source://spoom-1.1.11/lib/spoom/timeline.rb:38
2164
+ sig { params(dates: T::Array[::Time]).returns(T::Array[::String]) }
2165
+ def commits_for_dates(dates); end
2166
+
2167
+ # Return all months between `from` and `to`
2168
+ #
2169
+ # source://spoom-1.1.11/lib/spoom/timeline.rb:25
2170
+ sig { returns(T::Array[::Time]) }
2171
+ def months; end
2172
+
2173
+ # Return one commit for each month between `from` and `to`
2174
+ #
2175
+ # source://spoom-1.1.11/lib/spoom/timeline.rb:19
2176
+ sig { returns(T::Array[::String]) }
2177
+ def ticks; end
2178
+ end
2179
+
2180
+ # source://spoom-1.1.11/lib/spoom/version.rb:5
2181
+ Spoom::VERSION = T.let(T.unsafe(nil), String)