active_cached_resource 0.0.1.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +22 -0
  4. data/.standard.yml +2 -0
  5. data/CHANGELOG.md +5 -0
  6. data/README.md +45 -0
  7. data/Rakefile +21 -0
  8. data/example/consumer/.dockerignore +41 -0
  9. data/example/consumer/.gitattributes +9 -0
  10. data/example/consumer/.gitignore +36 -0
  11. data/example/consumer/.kamal/hooks/docker-setup.sample +3 -0
  12. data/example/consumer/.kamal/hooks/post-deploy.sample +14 -0
  13. data/example/consumer/.kamal/hooks/post-proxy-reboot.sample +3 -0
  14. data/example/consumer/.kamal/hooks/pre-build.sample +51 -0
  15. data/example/consumer/.kamal/hooks/pre-connect.sample +47 -0
  16. data/example/consumer/.kamal/hooks/pre-deploy.sample +109 -0
  17. data/example/consumer/.kamal/hooks/pre-proxy-reboot.sample +3 -0
  18. data/example/consumer/.kamal/secrets +17 -0
  19. data/example/consumer/Dockerfile +65 -0
  20. data/example/consumer/Gemfile +17 -0
  21. data/example/consumer/Rakefile +6 -0
  22. data/example/consumer/app/controllers/application_controller.rb +2 -0
  23. data/example/consumer/app/controllers/concerns/.keep +0 -0
  24. data/example/consumer/app/jobs/application_job.rb +7 -0
  25. data/example/consumer/app/mailers/application_mailer.rb +4 -0
  26. data/example/consumer/app/models/application_record.rb +3 -0
  27. data/example/consumer/app/models/concerns/.keep +0 -0
  28. data/example/consumer/app/models/person.rb +9 -0
  29. data/example/consumer/app/views/layouts/mailer.html.erb +13 -0
  30. data/example/consumer/app/views/layouts/mailer.text.erb +1 -0
  31. data/example/consumer/bin/brakeman +7 -0
  32. data/example/consumer/bin/bundle +109 -0
  33. data/example/consumer/bin/dev +2 -0
  34. data/example/consumer/bin/docker-entrypoint +14 -0
  35. data/example/consumer/bin/jobs +6 -0
  36. data/example/consumer/bin/kamal +27 -0
  37. data/example/consumer/bin/rails +4 -0
  38. data/example/consumer/bin/rake +4 -0
  39. data/example/consumer/bin/rubocop +8 -0
  40. data/example/consumer/bin/setup +34 -0
  41. data/example/consumer/bin/thrust +5 -0
  42. data/example/consumer/config/application.rb +20 -0
  43. data/example/consumer/config/boot.rb +3 -0
  44. data/example/consumer/config/cache.yml +16 -0
  45. data/example/consumer/config/credentials.yml.enc +1 -0
  46. data/example/consumer/config/database.yml +14 -0
  47. data/example/consumer/config/deploy.yml +116 -0
  48. data/example/consumer/config/environment.rb +5 -0
  49. data/example/consumer/config/environments/development.rb +64 -0
  50. data/example/consumer/config/environments/production.rb +85 -0
  51. data/example/consumer/config/environments/test.rb +50 -0
  52. data/example/consumer/config/initializers/cors.rb +16 -0
  53. data/example/consumer/config/initializers/filter_parameter_logging.rb +8 -0
  54. data/example/consumer/config/initializers/inflections.rb +16 -0
  55. data/example/consumer/config/locales/en.yml +31 -0
  56. data/example/consumer/config/puma.rb +41 -0
  57. data/example/consumer/config/queue.yml +18 -0
  58. data/example/consumer/config/recurring.yml +10 -0
  59. data/example/consumer/config/routes.rb +10 -0
  60. data/example/consumer/config.ru +6 -0
  61. data/example/consumer/db/cache_schema.rb +14 -0
  62. data/example/consumer/db/queue_schema.rb +129 -0
  63. data/example/consumer/db/seeds.rb +0 -0
  64. data/example/consumer/lib/tasks/.keep +0 -0
  65. data/example/consumer/log/.keep +0 -0
  66. data/example/consumer/public/robots.txt +1 -0
  67. data/example/consumer/script/.keep +0 -0
  68. data/example/consumer/storage/.keep +0 -0
  69. data/example/consumer/tmp/.keep +0 -0
  70. data/example/consumer/tmp/cache/.keep +0 -0
  71. data/example/consumer/tmp/pids/.keep +0 -0
  72. data/example/consumer/tmp/storage/.keep +0 -0
  73. data/example/consumer/vendor/.keep +0 -0
  74. data/example/provider/.dockerignore +41 -0
  75. data/example/provider/.gitattributes +9 -0
  76. data/example/provider/.gitignore +32 -0
  77. data/example/provider/.kamal/hooks/docker-setup.sample +3 -0
  78. data/example/provider/.kamal/hooks/post-deploy.sample +14 -0
  79. data/example/provider/.kamal/hooks/post-proxy-reboot.sample +3 -0
  80. data/example/provider/.kamal/hooks/pre-build.sample +51 -0
  81. data/example/provider/.kamal/hooks/pre-connect.sample +47 -0
  82. data/example/provider/.kamal/hooks/pre-deploy.sample +109 -0
  83. data/example/provider/.kamal/hooks/pre-proxy-reboot.sample +3 -0
  84. data/example/provider/.kamal/secrets +17 -0
  85. data/example/provider/Dockerfile +65 -0
  86. data/example/provider/Gemfile +14 -0
  87. data/example/provider/Rakefile +6 -0
  88. data/example/provider/app/controllers/application_controller.rb +2 -0
  89. data/example/provider/app/controllers/concerns/.keep +0 -0
  90. data/example/provider/app/controllers/people_controller.rb +68 -0
  91. data/example/provider/app/jobs/application_job.rb +7 -0
  92. data/example/provider/app/mailers/application_mailer.rb +4 -0
  93. data/example/provider/app/models/address.rb +3 -0
  94. data/example/provider/app/models/application_record.rb +3 -0
  95. data/example/provider/app/models/company.rb +3 -0
  96. data/example/provider/app/models/concerns/.keep +0 -0
  97. data/example/provider/app/models/person.rb +6 -0
  98. data/example/provider/app/views/layouts/mailer.html.erb +13 -0
  99. data/example/provider/app/views/layouts/mailer.text.erb +1 -0
  100. data/example/provider/bin/brakeman +7 -0
  101. data/example/provider/bin/bundle +109 -0
  102. data/example/provider/bin/dev +2 -0
  103. data/example/provider/bin/docker-entrypoint +14 -0
  104. data/example/provider/bin/jobs +6 -0
  105. data/example/provider/bin/kamal +27 -0
  106. data/example/provider/bin/rails +4 -0
  107. data/example/provider/bin/rake +4 -0
  108. data/example/provider/bin/rubocop +8 -0
  109. data/example/provider/bin/setup +34 -0
  110. data/example/provider/bin/thrust +5 -0
  111. data/example/provider/config/application.rb +44 -0
  112. data/example/provider/config/boot.rb +3 -0
  113. data/example/provider/config/cache.yml +16 -0
  114. data/example/provider/config/credentials.yml.enc +1 -0
  115. data/example/provider/config/database.yml +20 -0
  116. data/example/provider/config/deploy.yml +116 -0
  117. data/example/provider/config/environment.rb +5 -0
  118. data/example/provider/config/environments/development.rb +64 -0
  119. data/example/provider/config/environments/production.rb +85 -0
  120. data/example/provider/config/environments/test.rb +50 -0
  121. data/example/provider/config/initializers/cors.rb +16 -0
  122. data/example/provider/config/initializers/filter_parameter_logging.rb +8 -0
  123. data/example/provider/config/initializers/inflections.rb +16 -0
  124. data/example/provider/config/locales/en.yml +31 -0
  125. data/example/provider/config/puma.rb +41 -0
  126. data/example/provider/config/queue.yml +18 -0
  127. data/example/provider/config/recurring.yml +10 -0
  128. data/example/provider/config/routes.rb +4 -0
  129. data/example/provider/config.ru +6 -0
  130. data/example/provider/db/cache_schema.rb +14 -0
  131. data/example/provider/db/migrate/20241202183937_create_people.rb +11 -0
  132. data/example/provider/db/migrate/20241202183955_create_addresses.rb +13 -0
  133. data/example/provider/db/migrate/20241202184017_create_companies.rb +14 -0
  134. data/example/provider/db/queue_schema.rb +129 -0
  135. data/example/provider/db/schema.rb +47 -0
  136. data/example/provider/db/seeds.rb +18 -0
  137. data/example/provider/lib/tasks/.keep +0 -0
  138. data/example/provider/log/.keep +0 -0
  139. data/example/provider/public/robots.txt +1 -0
  140. data/example/provider/script/.keep +0 -0
  141. data/example/provider/storage/.keep +0 -0
  142. data/example/provider/tmp/.keep +0 -0
  143. data/example/provider/tmp/pids/.keep +0 -0
  144. data/example/provider/tmp/storage/.keep +0 -0
  145. data/example/provider/vendor/.keep +0 -0
  146. data/lib/active_cached_resource/caching.rb +176 -0
  147. data/lib/active_cached_resource/caching_strategies/active_support_cache.rb +31 -0
  148. data/lib/active_cached_resource/caching_strategies/base.rb +114 -0
  149. data/lib/active_cached_resource/caching_strategies/sql_cache.rb +32 -0
  150. data/lib/active_cached_resource/configuration.rb +50 -0
  151. data/lib/active_cached_resource/logger.rb +22 -0
  152. data/lib/active_cached_resource/model.rb +33 -0
  153. data/lib/active_cached_resource/version.rb +12 -0
  154. data/lib/active_cached_resource.rb +64 -0
  155. data/lib/activeresource/.gitignore +15 -0
  156. data/lib/activeresource/README.md +283 -0
  157. data/lib/activeresource/examples/performance.rb +72 -0
  158. data/lib/activeresource/lib/active_resource/active_job_serializer.rb +26 -0
  159. data/lib/activeresource/lib/active_resource/associations/builder/association.rb +32 -0
  160. data/lib/activeresource/lib/active_resource/associations/builder/belongs_to.rb +16 -0
  161. data/lib/activeresource/lib/active_resource/associations/builder/has_many.rb +14 -0
  162. data/lib/activeresource/lib/active_resource/associations/builder/has_one.rb +14 -0
  163. data/lib/activeresource/lib/active_resource/associations.rb +175 -0
  164. data/lib/activeresource/lib/active_resource/base.rb +1741 -0
  165. data/lib/activeresource/lib/active_resource/callbacks.rb +22 -0
  166. data/lib/activeresource/lib/active_resource/collection.rb +214 -0
  167. data/lib/activeresource/lib/active_resource/connection.rb +298 -0
  168. data/lib/activeresource/lib/active_resource/custom_methods.rb +129 -0
  169. data/lib/activeresource/lib/active_resource/exceptions.rb +98 -0
  170. data/lib/activeresource/lib/active_resource/formats/json_format.rb +28 -0
  171. data/lib/activeresource/lib/active_resource/formats/xml_format.rb +27 -0
  172. data/lib/activeresource/lib/active_resource/formats.rb +24 -0
  173. data/lib/activeresource/lib/active_resource/http_mock.rb +386 -0
  174. data/lib/activeresource/lib/active_resource/inheriting_hash.rb +34 -0
  175. data/lib/activeresource/lib/active_resource/log_subscriber.rb +26 -0
  176. data/lib/activeresource/lib/active_resource/railtie.rb +31 -0
  177. data/lib/activeresource/lib/active_resource/reflection.rb +78 -0
  178. data/lib/activeresource/lib/active_resource/schema.rb +60 -0
  179. data/lib/activeresource/lib/active_resource/singleton.rb +111 -0
  180. data/lib/activeresource/lib/active_resource/threadsafe_attributes.rb +65 -0
  181. data/lib/activeresource/lib/active_resource/validations.rb +176 -0
  182. data/lib/activeresource/lib/active_resource.rb +49 -0
  183. data/lib/activeresource/lib/activeresource.rb +3 -0
  184. data/lib/activeresource/test/abstract_unit.rb +153 -0
  185. data/lib/activeresource/test/cases/active_job_serializer_test.rb +53 -0
  186. data/lib/activeresource/test/cases/association_test.rb +104 -0
  187. data/lib/activeresource/test/cases/associations/builder/belongs_to_test.rb +42 -0
  188. data/lib/activeresource/test/cases/associations/builder/has_many_test.rb +28 -0
  189. data/lib/activeresource/test/cases/associations/builder/has_one_test.rb +28 -0
  190. data/lib/activeresource/test/cases/authorization_test.rb +276 -0
  191. data/lib/activeresource/test/cases/base/custom_methods_test.rb +155 -0
  192. data/lib/activeresource/test/cases/base/equality_test.rb +53 -0
  193. data/lib/activeresource/test/cases/base/load_test.rb +249 -0
  194. data/lib/activeresource/test/cases/base/schema_test.rb +428 -0
  195. data/lib/activeresource/test/cases/base_errors_test.rb +129 -0
  196. data/lib/activeresource/test/cases/base_test.rb +1622 -0
  197. data/lib/activeresource/test/cases/callbacks_test.rb +155 -0
  198. data/lib/activeresource/test/cases/collection_test.rb +172 -0
  199. data/lib/activeresource/test/cases/connection_test.rb +357 -0
  200. data/lib/activeresource/test/cases/finder_test.rb +217 -0
  201. data/lib/activeresource/test/cases/format_test.rb +137 -0
  202. data/lib/activeresource/test/cases/http_mock_test.rb +213 -0
  203. data/lib/activeresource/test/cases/inheritence_test.rb +19 -0
  204. data/lib/activeresource/test/cases/inheriting_hash_test.rb +25 -0
  205. data/lib/activeresource/test/cases/log_subscriber_test.rb +63 -0
  206. data/lib/activeresource/test/cases/reflection_test.rb +65 -0
  207. data/lib/activeresource/test/cases/validations_test.rb +78 -0
  208. data/lib/activeresource/test/fixtures/address.rb +20 -0
  209. data/lib/activeresource/test/fixtures/beast.rb +16 -0
  210. data/lib/activeresource/test/fixtures/comment.rb +5 -0
  211. data/lib/activeresource/test/fixtures/customer.rb +5 -0
  212. data/lib/activeresource/test/fixtures/inventory.rb +14 -0
  213. data/lib/activeresource/test/fixtures/person.rb +15 -0
  214. data/lib/activeresource/test/fixtures/pet.rb +6 -0
  215. data/lib/activeresource/test/fixtures/post.rb +5 -0
  216. data/lib/activeresource/test/fixtures/product.rb +11 -0
  217. data/lib/activeresource/test/fixtures/project.rb +19 -0
  218. data/lib/activeresource/test/fixtures/proxy.rb +6 -0
  219. data/lib/activeresource/test/fixtures/sound.rb +11 -0
  220. data/lib/activeresource/test/fixtures/street_address.rb +6 -0
  221. data/lib/activeresource/test/fixtures/subscription_plan.rb +7 -0
  222. data/lib/activeresource/test/fixtures/weather.rb +21 -0
  223. data/lib/activeresource/test/setter_trap.rb +28 -0
  224. data/lib/activeresource/test/singleton_test.rb +138 -0
  225. data/lib/activeresource/test/threadsafe_attributes_test.rb +91 -0
  226. data/lib/generators/active_cached_resource/install_generator.rb +31 -0
  227. data/lib/generators/active_cached_resource/templates/migration.erb +16 -0
  228. data/sorbet/config +4 -0
  229. data/sorbet/rbi/annotations/.gitattributes +1 -0
  230. data/sorbet/rbi/annotations/activemodel.rbi +89 -0
  231. data/sorbet/rbi/annotations/activesupport.rbi +457 -0
  232. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  233. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  234. data/sorbet/rbi/dsl/.gitattributes +1 -0
  235. data/sorbet/rbi/dsl/active_support/callbacks.rbi +21 -0
  236. data/sorbet/rbi/gems/.gitattributes +1 -0
  237. data/sorbet/rbi/gems/actioncable@8.0.0.rbi +252 -0
  238. data/sorbet/rbi/gems/actionmailbox@8.0.0.rbi +9 -0
  239. data/sorbet/rbi/gems/actionmailer@8.0.0.rbi +9 -0
  240. data/sorbet/rbi/gems/actionpack@8.0.0.rbi +20909 -0
  241. data/sorbet/rbi/gems/actiontext@8.0.0.rbi +9 -0
  242. data/sorbet/rbi/gems/actionview@8.0.0.rbi +16207 -0
  243. data/sorbet/rbi/gems/activejob@8.0.0.rbi +9 -0
  244. data/sorbet/rbi/gems/activemodel-serializers-xml@1.0.3.rbi +166 -0
  245. data/sorbet/rbi/gems/activemodel@8.0.0.rbi +6857 -0
  246. data/sorbet/rbi/gems/activerecord@8.0.0.rbi +42896 -0
  247. data/sorbet/rbi/gems/activeresource@6.1.4.rbi +3944 -0
  248. data/sorbet/rbi/gems/activestorage@8.0.0.rbi +9 -0
  249. data/sorbet/rbi/gems/activesupport@8.0.0.rbi +21251 -0
  250. data/sorbet/rbi/gems/ast@2.4.2.rbi +585 -0
  251. data/sorbet/rbi/gems/base64@0.2.0.rbi +509 -0
  252. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +618 -0
  253. data/sorbet/rbi/gems/bigdecimal@3.1.8.rbi +78 -0
  254. data/sorbet/rbi/gems/builder@3.3.0.rbi +9 -0
  255. data/sorbet/rbi/gems/bump@0.10.0.rbi +169 -0
  256. data/sorbet/rbi/gems/byebug@11.1.3.rbi +3607 -0
  257. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3427 -0
  258. data/sorbet/rbi/gems/concurrent-ruby@1.3.4.rbi +11645 -0
  259. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +9 -0
  260. data/sorbet/rbi/gems/crass@1.0.6.rbi +623 -0
  261. data/sorbet/rbi/gems/date@3.4.0.rbi +75 -0
  262. data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +1131 -0
  263. data/sorbet/rbi/gems/docile@1.4.1.rbi +377 -0
  264. data/sorbet/rbi/gems/drb@2.2.1.rbi +1347 -0
  265. data/sorbet/rbi/gems/erubi@1.13.0.rbi +150 -0
  266. data/sorbet/rbi/gems/globalid@1.2.1.rbi +9 -0
  267. data/sorbet/rbi/gems/i18n@1.14.6.rbi +2359 -0
  268. data/sorbet/rbi/gems/io-console@0.7.2.rbi +9 -0
  269. data/sorbet/rbi/gems/json@2.8.2.rbi +1901 -0
  270. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14238 -0
  271. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +240 -0
  272. data/sorbet/rbi/gems/logger@1.6.1.rbi +920 -0
  273. data/sorbet/rbi/gems/loofah@2.23.1.rbi +1081 -0
  274. data/sorbet/rbi/gems/mail@2.8.1.rbi +9 -0
  275. data/sorbet/rbi/gems/marcel@1.0.4.rbi +9 -0
  276. data/sorbet/rbi/gems/method_source@1.1.0.rbi +304 -0
  277. data/sorbet/rbi/gems/mini_mime@1.1.5.rbi +9 -0
  278. data/sorbet/rbi/gems/minitest@5.25.2.rbi +1547 -0
  279. data/sorbet/rbi/gems/net-imap@0.5.1.rbi +9 -0
  280. data/sorbet/rbi/gems/net-pop@0.1.2.rbi +9 -0
  281. data/sorbet/rbi/gems/net-protocol@0.2.2.rbi +292 -0
  282. data/sorbet/rbi/gems/net-smtp@0.5.0.rbi +9 -0
  283. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  284. data/sorbet/rbi/gems/nio4r@2.7.4.rbi +9 -0
  285. data/sorbet/rbi/gems/nokogiri@1.16.7.rbi +7311 -0
  286. data/sorbet/rbi/gems/parallel@1.26.3.rbi +291 -0
  287. data/sorbet/rbi/gems/parser@3.3.6.0.rbi +5519 -0
  288. data/sorbet/rbi/gems/prism@1.2.0.rbi +39085 -0
  289. data/sorbet/rbi/gems/pry-byebug@3.10.1.rbi +1151 -0
  290. data/sorbet/rbi/gems/pry@0.14.2.rbi +10076 -0
  291. data/sorbet/rbi/gems/psych@5.2.0.rbi +1785 -0
  292. data/sorbet/rbi/gems/racc@1.8.1.rbi +162 -0
  293. data/sorbet/rbi/gems/rack-session@2.0.0.rbi +727 -0
  294. data/sorbet/rbi/gems/rack-test@2.1.0.rbi +747 -0
  295. data/sorbet/rbi/gems/rack@3.1.8.rbi +4905 -0
  296. data/sorbet/rbi/gems/rackup@2.2.1.rbi +230 -0
  297. data/sorbet/rbi/gems/rails-dom-testing@2.2.0.rbi +758 -0
  298. data/sorbet/rbi/gems/rails-html-sanitizer@1.6.0.rbi +785 -0
  299. data/sorbet/rbi/gems/rails@8.0.0.rbi +9 -0
  300. data/sorbet/rbi/gems/railties@8.0.0.rbi +6287 -0
  301. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +403 -0
  302. data/sorbet/rbi/gems/rake@13.2.1.rbi +3091 -0
  303. data/sorbet/rbi/gems/rbi@0.2.1.rbi +4535 -0
  304. data/sorbet/rbi/gems/rdoc@6.8.1.rbi +12572 -0
  305. data/sorbet/rbi/gems/regexp_parser@2.9.2.rbi +3772 -0
  306. data/sorbet/rbi/gems/reline@0.5.12.rbi +2416 -0
  307. data/sorbet/rbi/gems/rexml@3.3.9.rbi +4858 -0
  308. data/sorbet/rbi/gems/rspec-core@3.13.2.rbi +11287 -0
  309. data/sorbet/rbi/gems/rspec-expectations@3.13.3.rbi +8183 -0
  310. data/sorbet/rbi/gems/rspec-mocks@3.13.2.rbi +5341 -0
  311. data/sorbet/rbi/gems/rspec-support@3.13.1.rbi +1630 -0
  312. data/sorbet/rbi/gems/rspec@3.13.0.rbi +83 -0
  313. data/sorbet/rbi/gems/rubocop-ast@1.36.1.rbi +7303 -0
  314. data/sorbet/rbi/gems/rubocop-performance@1.21.1.rbi +9 -0
  315. data/sorbet/rbi/gems/rubocop@1.65.1.rbi +58170 -0
  316. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1318 -0
  317. data/sorbet/rbi/gems/securerandom@0.3.2.rbi +395 -0
  318. data/sorbet/rbi/gems/simplecov-html@0.13.1.rbi +225 -0
  319. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +2149 -0
  320. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +9 -0
  321. data/sorbet/rbi/gems/spoom@1.5.0.rbi +4932 -0
  322. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +9 -0
  323. data/sorbet/rbi/gems/standard-performance@1.4.0.rbi +9 -0
  324. data/sorbet/rbi/gems/standard@1.40.0.rbi +929 -0
  325. data/sorbet/rbi/gems/stringio@3.1.2.rbi +9 -0
  326. data/sorbet/rbi/gems/tapioca@0.16.4.rbi +3597 -0
  327. data/sorbet/rbi/gems/thor@1.3.2.rbi +4378 -0
  328. data/sorbet/rbi/gems/timeout@0.4.2.rbi +151 -0
  329. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
  330. data/sorbet/rbi/gems/unicode-display_width@2.6.0.rbi +66 -0
  331. data/sorbet/rbi/gems/uri@1.0.2.rbi +2377 -0
  332. data/sorbet/rbi/gems/useragent@0.16.10.rbi +9 -0
  333. data/sorbet/rbi/gems/websocket-driver@0.7.6.rbi +9 -0
  334. data/sorbet/rbi/gems/websocket-extensions@0.1.5.rbi +9 -0
  335. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  336. data/sorbet/rbi/gems/yard@0.9.37.rbi +18504 -0
  337. data/sorbet/rbi/gems/zeitwerk@2.7.1.rbi +9 -0
  338. data/sorbet/tapioca/config.yml +13 -0
  339. data/sorbet/tapioca/require.rb +12 -0
  340. metadata +543 -0
@@ -0,0 +1,3597 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `tapioca` gem.
5
+ # Please instead update this file by running `bin/tapioca gem tapioca`.
6
+
7
+
8
+ class Bundler::Dependency < ::Gem::Dependency
9
+ include ::Tapioca::BundlerExt::AutoRequireHook
10
+ end
11
+
12
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#4
13
+ class GitAttributes
14
+ class << self
15
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#9
16
+ sig { params(path: ::Pathname).void }
17
+ def create_generated_attribute_file(path); end
18
+
19
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#16
20
+ sig { params(path: ::Pathname).void }
21
+ def create_vendored_attribute_file(path); end
22
+
23
+ private
24
+
25
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#25
26
+ sig { params(path: ::Pathname, content: ::String).void }
27
+ def create_gitattributes_file(path, content); end
28
+ end
29
+ end
30
+
31
+ # We need to do the alias-method-chain dance since Bootsnap does the same,
32
+ # and prepended modules and alias-method-chain don't play well together.
33
+ #
34
+ # So, why does Bootsnap do alias-method-chain and not prepend? Glad you asked!
35
+ # That's because RubyGems does alias-method-chain for Kernel#require and such,
36
+ # so, if Bootsnap were to do prepend, it might end up breaking RubyGems.
37
+ #
38
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#68
39
+ class Module
40
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#101
41
+ def append_features(constant); end
42
+
43
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#71
44
+ def autoload(const_name, path); end
45
+
46
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#111
47
+ def extend_object(obj); end
48
+
49
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#91
50
+ def prepend_features(constant); end
51
+ end
52
+
53
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#4
54
+ module RBI; end
55
+
56
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#5
57
+ class RBI::Tree < ::RBI::NodeWithComments
58
+ # source://rbi/0.2.1/lib/rbi/model.rb#121
59
+ sig do
60
+ params(
61
+ loc: T.nilable(::RBI::Loc),
62
+ comments: T::Array[::RBI::Comment],
63
+ block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
64
+ ).void
65
+ end
66
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
67
+
68
+ # source://rbi/0.2.1/lib/rbi/model.rb#128
69
+ sig { params(node: ::RBI::Node).void }
70
+ def <<(node); end
71
+
72
+ # source://rbi/0.2.1/lib/rbi/rewriters/add_sig_templates.rb#66
73
+ sig { params(with_todo_comment: T::Boolean).void }
74
+ def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
75
+
76
+ # source://rbi/0.2.1/lib/rbi/rewriters/annotate.rb#49
77
+ sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
78
+ def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
79
+
80
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#38
81
+ sig do
82
+ params(
83
+ name: ::String,
84
+ superclass_name: T.nilable(::String),
85
+ block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)
86
+ ).returns(::RBI::Scope)
87
+ end
88
+ def create_class(name, superclass_name: T.unsafe(nil), &block); end
89
+
90
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#45
91
+ sig { params(name: ::String, value: ::String).void }
92
+ def create_constant(name, value:); end
93
+
94
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#55
95
+ sig { params(name: ::String).void }
96
+ def create_extend(name); end
97
+
98
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#50
99
+ sig { params(name: ::String).void }
100
+ def create_include(name); end
101
+
102
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#90
103
+ sig do
104
+ params(
105
+ name: ::String,
106
+ parameters: T::Array[::RBI::TypedParam],
107
+ return_type: T.nilable(::String),
108
+ class_method: T::Boolean,
109
+ visibility: ::RBI::Visibility,
110
+ comments: T::Array[::RBI::Comment],
111
+ block: T.nilable(T.proc.params(node: ::RBI::Method).void)
112
+ ).void
113
+ end
114
+ def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil), &block); end
115
+
116
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#60
117
+ sig { params(name: ::String).void }
118
+ def create_mixes_in_class_methods(name); end
119
+
120
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#25
121
+ sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
122
+ def create_module(name, &block); end
123
+
124
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#9
125
+ sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
126
+ def create_path(constant, &block); end
127
+
128
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#74
129
+ sig do
130
+ params(
131
+ name: ::String,
132
+ type: ::String,
133
+ variance: ::Symbol,
134
+ fixed: T.nilable(::String),
135
+ upper: T.nilable(::String),
136
+ lower: T.nilable(::String)
137
+ ).void
138
+ end
139
+ def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
140
+
141
+ # source://rbi/0.2.1/lib/rbi/rewriters/deannotate.rb#41
142
+ sig { params(annotation: ::String).void }
143
+ def deannotate!(annotation); end
144
+
145
+ # source://rbi/0.2.1/lib/rbi/model.rb#134
146
+ sig { returns(T::Boolean) }
147
+ def empty?; end
148
+
149
+ # source://rbi/0.2.1/lib/rbi/rewriters/filter_versions.rb#118
150
+ sig { params(version: ::Gem::Version).void }
151
+ def filter_versions!(version); end
152
+
153
+ # source://rbi/0.2.1/lib/rbi/rewriters/flatten_singleton_methods.rb#60
154
+ sig { void }
155
+ def flatten_singleton_methods!; end
156
+
157
+ # source://rbi/0.2.1/lib/rbi/rewriters/flatten_visibilities.rb#60
158
+ sig { void }
159
+ def flatten_visibilities!; end
160
+
161
+ # source://rbi/0.2.1/lib/rbi/rewriters/group_nodes.rb#81
162
+ sig { void }
163
+ def group_nodes!; end
164
+
165
+ # source://rbi/0.2.1/lib/rbi/index.rb#68
166
+ sig { returns(::RBI::Index) }
167
+ def index; end
168
+
169
+ # source://rbi/0.2.1/lib/rbi/rewriters/merge_trees.rb#324
170
+ sig do
171
+ params(
172
+ other: ::RBI::Tree,
173
+ left_name: ::String,
174
+ right_name: ::String,
175
+ keep: ::RBI::Rewriters::Merge::Keep
176
+ ).returns(::RBI::MergeTree)
177
+ end
178
+ def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
179
+
180
+ # source://rbi/0.2.1/lib/rbi/rewriters/nest_non_public_members.rb#46
181
+ sig { void }
182
+ def nest_non_public_members!; end
183
+
184
+ # source://rbi/0.2.1/lib/rbi/rewriters/nest_singleton_methods.rb#36
185
+ sig { void }
186
+ def nest_singleton_methods!; end
187
+
188
+ # source://rbi/0.2.1/lib/rbi/rewriters/nest_top_level_members.rb#63
189
+ sig { void }
190
+ def nest_top_level_members!; end
191
+
192
+ # source://rbi/0.2.1/lib/rbi/model.rb#112
193
+ sig { returns(T::Array[::RBI::Node]) }
194
+ def nodes; end
195
+
196
+ # source://rbi/0.2.1/lib/rbi/rewriters/attr_to_methods.rb#53
197
+ sig { void }
198
+ def replace_attributes_with_methods!; end
199
+
200
+ # source://rbi/0.2.1/lib/rbi/rewriters/sort_nodes.rb#119
201
+ sig { void }
202
+ def sort_nodes!; end
203
+
204
+ private
205
+
206
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#123
207
+ sig { params(node: ::RBI::Node).returns(::RBI::Node) }
208
+ def create_node(node); end
209
+
210
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#118
211
+ sig { returns(T::Hash[::String, ::RBI::Node]) }
212
+ def nodes_cache; end
213
+ end
214
+
215
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#133
216
+ class RBI::TypedParam < ::T::Struct
217
+ const :param, ::RBI::Param
218
+ const :type, ::String
219
+
220
+ class << self
221
+ # source://sorbet-runtime/0.5.11609/lib/types/struct.rb#13
222
+ def inherited(s); end
223
+ end
224
+ end
225
+
226
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#5
227
+ module T::Generic
228
+ include ::Kernel
229
+
230
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13
231
+ def [](*types); end
232
+
233
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#47
234
+ def has_attached_class!(variance = T.unsafe(nil), &bounds_proc); end
235
+
236
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#21
237
+ def type_member(variance = T.unsafe(nil), &bounds_proc); end
238
+
239
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#34
240
+ def type_template(variance = T.unsafe(nil), &bounds_proc); end
241
+ end
242
+
243
+ # This module intercepts calls to generic type instantiations and type variable definitions.
244
+ # Tapioca stores the data from those calls in a `GenericTypeRegistry` which can then be used
245
+ # to look up the original call details when we are trying to do code generation.
246
+ #
247
+ # We are interested in the data of the `[]`, `type_member` and `type_template` calls which
248
+ # are all needed to generate good generic information at runtime.
249
+ #
250
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#12
251
+ module T::Generic::TypeStoragePatch
252
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13
253
+ def [](*types); end
254
+
255
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#47
256
+ def has_attached_class!(variance = T.unsafe(nil), &bounds_proc); end
257
+
258
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#21
259
+ def type_member(variance = T.unsafe(nil), &bounds_proc); end
260
+
261
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#34
262
+ def type_template(variance = T.unsafe(nil), &bounds_proc); end
263
+ end
264
+
265
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#28
266
+ module T::Private::Methods
267
+ class << self
268
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#30
269
+ def finalize_proc(decl); end
270
+ end
271
+ end
272
+
273
+ class T::Private::Methods::Declaration < ::Struct
274
+ def bind; end
275
+ def bind=(_); end
276
+ def checked; end
277
+ def checked=(_); end
278
+ def finalized; end
279
+ def finalized=(_); end
280
+ def mod; end
281
+ def mod=(_); end
282
+ def mode; end
283
+ def mode=(_); end
284
+ def on_failure; end
285
+ def on_failure=(_); end
286
+ def override_allow_incompatible; end
287
+ def override_allow_incompatible=(_); end
288
+ def params; end
289
+ def params=(_); end
290
+ def raw; end
291
+ def raw=(_); end
292
+ def returns; end
293
+ def returns=(_); end
294
+ def type_parameters; end
295
+ def type_parameters=(_); end
296
+
297
+ class << self
298
+ def [](*_arg0); end
299
+ def inspect; end
300
+ def keyword_init?; end
301
+ def members; end
302
+ def new(*_arg0); end
303
+ end
304
+ end
305
+
306
+ class T::Private::Methods::DeclarationBlock < ::Struct
307
+ def blk; end
308
+ def blk=(_); end
309
+ def final; end
310
+ def final=(_); end
311
+ def loc; end
312
+ def loc=(_); end
313
+ def mod; end
314
+ def mod=(_); end
315
+ def raw; end
316
+ def raw=(_); end
317
+
318
+ class << self
319
+ def [](*_arg0); end
320
+ def inspect; end
321
+ def keyword_init?; end
322
+ def members; end
323
+ def new(*_arg0); end
324
+ end
325
+ end
326
+
327
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#29
328
+ module T::Private::Methods::ProcBindPatch
329
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#30
330
+ def finalize_proc(decl); end
331
+ end
332
+
333
+ class T::Types::Proc < ::T::Types::Base; end
334
+
335
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#6
336
+ module T::Types::ProcBindPatch
337
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#7
338
+ def initialize(arg_types, returns, bind = T.unsafe(nil)); end
339
+
340
+ # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#15
341
+ def name; end
342
+ end
343
+
344
+ # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#6
345
+ class T::Types::Simple < ::T::Types::Base
346
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#70
347
+ def name; end
348
+ end
349
+
350
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#65
351
+ module T::Types::Simple::GenericPatch
352
+ # This method intercepts calls to the `name` method for simple types, so that
353
+ # it can ask the name to the type if the type is generic, since, by this point,
354
+ # we've created a clone of that type with the `name` method returning the
355
+ # appropriate name for that specific concrete type.
356
+ #
357
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#70
358
+ def name; end
359
+ end
360
+
361
+ # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#7
362
+ module T::Types::Simple::NamePatch
363
+ # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#10
364
+ def name; end
365
+
366
+ # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#16
367
+ def qualified_name_of(constant); end
368
+ end
369
+
370
+ # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#8
371
+ T::Types::Simple::NamePatch::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod)
372
+
373
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#87
374
+ module T::Utils::Private
375
+ class << self
376
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#89
377
+ def coerce_and_check_module_types(val, check_val, check_module_type); end
378
+ end
379
+ end
380
+
381
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#88
382
+ module T::Utils::Private::PrivateCoercePatch
383
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#89
384
+ def coerce_and_check_module_types(val, check_val, check_module_type); end
385
+ end
386
+
387
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#4
388
+ module Tapioca
389
+ class << self
390
+ # source://tapioca//lib/tapioca.rb#20
391
+ sig do
392
+ type_parameters(:Result)
393
+ .params(
394
+ blk: T.proc.returns(T.type_parameter(:Result))
395
+ ).returns(T.type_parameter(:Result))
396
+ end
397
+ def silence_warnings(&blk); end
398
+ end
399
+ end
400
+
401
+ # source://tapioca//lib/tapioca.rb#39
402
+ Tapioca::BINARY_FILE = T.let(T.unsafe(nil), String)
403
+
404
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#5
405
+ module Tapioca::BundlerExt; end
406
+
407
+ # This is a module that gets prepended to `Bundler::Dependency` and
408
+ # makes sure even gems marked as `require: false` are required during
409
+ # `Bundler.require`.
410
+ #
411
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#9
412
+ module Tapioca::BundlerExt::AutoRequireHook
413
+ requires_ancestor { Bundler::Dependency }
414
+
415
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#46
416
+ sig { returns(T.untyped) }
417
+ def autorequire; end
418
+
419
+ class << self
420
+ # @return [Boolean]
421
+ #
422
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#26
423
+ def enabled?; end
424
+
425
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#22
426
+ sig { params(name: T.untyped).returns(T::Boolean) }
427
+ def excluded?(name); end
428
+
429
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#36
430
+ sig do
431
+ type_parameters(:Result)
432
+ .params(
433
+ exclude: T::Array[::String],
434
+ blk: T.proc.returns(T.type_parameter(:Result))
435
+ ).returns(T.type_parameter(:Result))
436
+ end
437
+ def override_require_false(exclude:, &blk); end
438
+ end
439
+ end
440
+
441
+ # source://tapioca//lib/tapioca.rb#62
442
+ Tapioca::CENTRAL_REPO_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
443
+
444
+ # source://tapioca//lib/tapioca.rb#61
445
+ Tapioca::CENTRAL_REPO_INDEX_PATH = T.let(T.unsafe(nil), String)
446
+
447
+ # source://tapioca//lib/tapioca.rb#60
448
+ Tapioca::CENTRAL_REPO_ROOT_URI = T.let(T.unsafe(nil), String)
449
+
450
+ # source://tapioca//lib/tapioca/cli.rb#5
451
+ class Tapioca::Cli < ::Thor
452
+ include ::Tapioca::CliHelper
453
+ include ::Tapioca::ConfigHelper
454
+ include ::Tapioca::EnvHelper
455
+
456
+ # source://tapioca//lib/tapioca/cli.rb#366
457
+ def __print_version; end
458
+
459
+ # source://tapioca//lib/tapioca/cli.rb#348
460
+ def annotations; end
461
+
462
+ # source://tapioca//lib/tapioca/cli.rb#320
463
+ def check_shims; end
464
+
465
+ # source://tapioca//lib/tapioca/cli.rb#46
466
+ def configure; end
467
+
468
+ # source://tapioca//lib/tapioca/cli.rb#147
469
+ def dsl(*constant_or_paths); end
470
+
471
+ # @raise [MalformattedArgumentError]
472
+ #
473
+ # source://tapioca//lib/tapioca/cli.rb#264
474
+ def gem(*gems); end
475
+
476
+ # source://tapioca//lib/tapioca/cli.rb#27
477
+ def init; end
478
+
479
+ # source://tapioca//lib/tapioca/cli.rb#57
480
+ def require; end
481
+
482
+ # source://tapioca//lib/tapioca/cli.rb#74
483
+ def todo; end
484
+
485
+ private
486
+
487
+ # source://tapioca//lib/tapioca/cli.rb#380
488
+ def print_init_next_steps; end
489
+
490
+ class << self
491
+ # source://tapioca//lib/tapioca/cli.rb#372
492
+ def exit_on_failure?; end
493
+ end
494
+ end
495
+
496
+ # source://tapioca//lib/tapioca/cli.rb#10
497
+ Tapioca::Cli::FILE_HEADER_OPTION_DESC = T.let(T.unsafe(nil), String)
498
+
499
+ # source://tapioca//lib/tapioca/helpers/cli_helper.rb#5
500
+ module Tapioca::CliHelper
501
+ requires_ancestor { Thor::Shell }
502
+
503
+ # source://tapioca//lib/tapioca/helpers/cli_helper.rb#33
504
+ sig { params(options: T::Hash[::Symbol, T.untyped]).returns(T.nilable(::String)) }
505
+ def netrc_file(options); end
506
+
507
+ # source://tapioca//lib/tapioca/helpers/cli_helper.rb#26
508
+ sig { params(options: T::Hash[::Symbol, T.untyped]).returns(::Tapioca::RBIFormatter) }
509
+ def rbi_formatter(options); end
510
+
511
+ # source://tapioca//lib/tapioca/helpers/cli_helper.rb#12
512
+ sig { params(message: ::String, color: T.any(::Symbol, T::Array[::Symbol])).void }
513
+ def say_error(message = T.unsafe(nil), *color); end
514
+ end
515
+
516
+ # source://tapioca//lib/tapioca/commands.rb#5
517
+ module Tapioca::Commands; end
518
+
519
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
520
+ #
521
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#6
522
+ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracker
523
+ include ::Tapioca::SorbetHelper
524
+ include ::Tapioca::RBIFilesHelper
525
+
526
+ abstract!
527
+
528
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#33
529
+ sig do
530
+ params(
531
+ requested_constants: T::Array[::String],
532
+ requested_paths: T::Array[::Pathname],
533
+ outpath: ::Pathname,
534
+ only: T::Array[::String],
535
+ exclude: T::Array[::String],
536
+ file_header: T::Boolean,
537
+ tapioca_path: ::String,
538
+ skip_constant: T::Array[::String],
539
+ quiet: T::Boolean,
540
+ verbose: T::Boolean,
541
+ number_of_workers: T.nilable(::Integer),
542
+ auto_strictness: T::Boolean,
543
+ gem_dir: ::String,
544
+ rbi_formatter: ::Tapioca::RBIFormatter,
545
+ app_root: ::String,
546
+ halt_upon_load_error: T::Boolean,
547
+ compiler_options: T::Hash[::String, T.untyped]
548
+ ).void
549
+ end
550
+ def initialize(requested_constants:, requested_paths:, outpath:, only:, exclude:, file_header:, tapioca_path:, skip_constant: T.unsafe(nil), quiet: T.unsafe(nil), verbose: T.unsafe(nil), number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), gem_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil), compiler_options: T.unsafe(nil)); end
551
+
552
+ private
553
+
554
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#100
555
+ sig { returns(T::Array[::String]) }
556
+ def all_requested_constants; end
557
+
558
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#293
559
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
560
+ def build_error_for_files(cause, files); end
561
+
562
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#217
563
+ sig do
564
+ params(
565
+ constant_name: ::String,
566
+ rbi: ::RBI::File,
567
+ outpath: ::Pathname,
568
+ quiet: T::Boolean
569
+ ).returns(T.nilable(::Pathname))
570
+ end
571
+ def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
572
+
573
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#154
574
+ sig { params(constant_names: T::Array[::String], ignore_missing: T::Boolean).returns(T::Array[::Module]) }
575
+ def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
576
+
577
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#177
578
+ sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
579
+ def constantize_compilers(compiler_names); end
580
+
581
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#353
582
+ sig { returns(T::Array[::String]) }
583
+ def constants_from_requested_paths; end
584
+
585
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#123
586
+ sig { returns(::Tapioca::Dsl::Pipeline) }
587
+ def create_pipeline; end
588
+
589
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#256
590
+ sig { params(constant_name: ::String).returns(::Pathname) }
591
+ def dsl_rbi_filename(constant_name); end
592
+
593
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#140
594
+ sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
595
+ def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
596
+
597
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#348
598
+ sig { params(constant: ::String).returns(::String) }
599
+ def generate_command_for(constant); end
600
+
601
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#76
602
+ sig { params(outpath: ::Pathname, quiet: T::Boolean).returns(T::Set[::Pathname]) }
603
+ def generate_dsl_rbi_files(outpath, quiet:); end
604
+
605
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#113
606
+ sig { void }
607
+ def load_application; end
608
+
609
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#235
610
+ sig { params(dir: ::Pathname).void }
611
+ def perform_dsl_verification(dir); end
612
+
613
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#108
614
+ sig { returns(::Tapioca::Dsl::Pipeline) }
615
+ def pipeline; end
616
+
617
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#244
618
+ sig { params(files: T::Set[::Pathname]).void }
619
+ def purge_stale_dsl_rbi_files(files); end
620
+
621
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#343
622
+ sig { params(constant: ::String).returns(::String) }
623
+ def rbi_filename_for(constant); end
624
+
625
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#324
626
+ sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
627
+ def rbi_files_in(path); end
628
+
629
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#302
630
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
631
+ def report_diff_and_exit_if_out_of_date(diff, command); end
632
+
633
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#197
634
+ sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
635
+ def resolve(name); end
636
+
637
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#331
638
+ sig { params(class_name: ::String).returns(::String) }
639
+ def underscore(class_name); end
640
+
641
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#261
642
+ sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
643
+ def verify_dsl_rbi(tmp_dir:); end
644
+ end
645
+
646
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
647
+ #
648
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#6
649
+ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
650
+ include ::Tapioca::SorbetHelper
651
+ include ::Tapioca::RBIFilesHelper
652
+
653
+ abstract!
654
+
655
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#32
656
+ sig do
657
+ params(
658
+ gem_names: T::Array[::String],
659
+ exclude: T::Array[::String],
660
+ include_dependencies: T::Boolean,
661
+ prerequire: T.nilable(::String),
662
+ postrequire: ::String,
663
+ typed_overrides: T::Hash[::String, ::String],
664
+ outpath: ::Pathname,
665
+ file_header: T::Boolean,
666
+ include_doc: T::Boolean,
667
+ include_loc: T::Boolean,
668
+ include_exported_rbis: T::Boolean,
669
+ number_of_workers: T.nilable(::Integer),
670
+ auto_strictness: T::Boolean,
671
+ dsl_dir: ::String,
672
+ rbi_formatter: ::Tapioca::RBIFormatter,
673
+ halt_upon_load_error: T::Boolean
674
+ ).void
675
+ end
676
+ def initialize(gem_names:, exclude:, include_dependencies:, prerequire:, postrequire:, typed_overrides:, outpath:, file_header:, include_doc:, include_loc:, include_exported_rbis:, number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), dsl_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
677
+
678
+ private
679
+
680
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#230
681
+ sig { returns(T::Array[::String]) }
682
+ def added_rbis; end
683
+
684
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#291
685
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
686
+ def build_error_for_files(cause, files); end
687
+
688
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#110
689
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
690
+ def compile_gem_rbi(gem); end
691
+
692
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#225
693
+ sig { params(gem_name: ::String).returns(::Pathname) }
694
+ def existing_rbi(gem_name); end
695
+
696
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#273
697
+ sig { returns(T::Hash[::String, ::String]) }
698
+ def existing_rbis; end
699
+
700
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#237
701
+ sig { params(gem_name: ::String).returns(::Pathname) }
702
+ def expected_rbi(gem_name); end
703
+
704
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#279
705
+ sig { returns(T::Hash[::String, ::String]) }
706
+ def expected_rbis; end
707
+
708
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#98
709
+ sig do
710
+ params(
711
+ gem: ::Tapioca::Gemfile::GemSpec,
712
+ dependencies: T::Array[::Tapioca::Gemfile::GemSpec]
713
+ ).returns(T::Array[::Tapioca::Gemfile::GemSpec])
714
+ end
715
+ def gem_dependencies(gem, dependencies = T.unsafe(nil)); end
716
+
717
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#242
718
+ sig { params(gem_name: ::String).returns(T::Boolean) }
719
+ def gem_rbi_exists?(gem_name); end
720
+
721
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#286
722
+ sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
723
+ def gem_rbi_filename(gem_name, version); end
724
+
725
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#77
726
+ sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
727
+ def gems_to_generate(gem_names); end
728
+
729
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#296
730
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
731
+ def merge_with_exported_rbi(gem, file); end
732
+
733
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#267
734
+ sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
735
+ def move(old_filename, new_filename); end
736
+
737
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#177
738
+ sig { void }
739
+ def perform_additions; end
740
+
741
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#150
742
+ sig { void }
743
+ def perform_removals; end
744
+
745
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#220
746
+ sig { returns(T::Array[::String]) }
747
+ def removed_rbis; end
748
+
749
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#247
750
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
751
+ def report_diff_and_exit_if_out_of_date(diff, command); end
752
+ end
753
+
754
+ # source://tapioca//lib/tapioca/commands/annotations.rb#6
755
+ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracker
756
+ # source://tapioca//lib/tapioca/commands/annotations.rb#18
757
+ sig do
758
+ params(
759
+ central_repo_root_uris: T::Array[::String],
760
+ auth: T.nilable(::String),
761
+ netrc_file: T.nilable(::String),
762
+ central_repo_index_path: ::String,
763
+ typed_overrides: T::Hash[::String, ::String]
764
+ ).void
765
+ end
766
+ def initialize(central_repo_root_uris:, auth: T.unsafe(nil), netrc_file: T.unsafe(nil), central_repo_index_path: T.unsafe(nil), typed_overrides: T.unsafe(nil)); end
767
+
768
+ private
769
+
770
+ # source://tapioca//lib/tapioca/commands/annotations.rb#197
771
+ sig { params(name: ::String, content: ::String).returns(::String) }
772
+ def add_header(name, content); end
773
+
774
+ # source://tapioca//lib/tapioca/commands/annotations.rb#217
775
+ sig { params(name: ::String, content: ::String).returns(::String) }
776
+ def apply_typed_override(name, content); end
777
+
778
+ # source://tapioca//lib/tapioca/commands/annotations.rb#39
779
+ sig { override.void }
780
+ def execute; end
781
+
782
+ # source://tapioca//lib/tapioca/commands/annotations.rb#136
783
+ sig { params(repo_uris: T::Array[::String], gem_info: ::Tapioca::GemInfo).void }
784
+ def fetch_annotation(repo_uris, gem_info); end
785
+
786
+ # source://tapioca//lib/tapioca/commands/annotations.rb#113
787
+ sig { params(project_gems: T::Array[::Tapioca::GemInfo]).returns(T::Array[::String]) }
788
+ def fetch_annotations(project_gems); end
789
+
790
+ # source://tapioca//lib/tapioca/commands/annotations.rb#156
791
+ sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
792
+ def fetch_file(repo_uri, path); end
793
+
794
+ # source://tapioca//lib/tapioca/commands/annotations.rb#173
795
+ sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
796
+ def fetch_http_file(repo_uri, path); end
797
+
798
+ # source://tapioca//lib/tapioca/commands/annotations.rb#102
799
+ sig { params(repo_uri: ::String, repo_number: T.nilable(::Integer)).returns(T.nilable(Tapioca::RepoIndex)) }
800
+ def fetch_index(repo_uri, repo_number:); end
801
+
802
+ # source://tapioca//lib/tapioca/commands/annotations.rb#81
803
+ sig { returns(T::Hash[::String, Tapioca::RepoIndex]) }
804
+ def fetch_indexes; end
805
+
806
+ # source://tapioca//lib/tapioca/commands/annotations.rb#165
807
+ sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
808
+ def fetch_local_file(repo_uri, path); end
809
+
810
+ # source://tapioca//lib/tapioca/commands/annotations.rb#229
811
+ sig { params(gem_version: ::Gem::Version, content: ::String).returns(::String) }
812
+ def filter_versions(gem_version, content); end
813
+
814
+ # source://tapioca//lib/tapioca/commands/annotations.rb#50
815
+ sig { returns(T::Array[::Tapioca::GemInfo]) }
816
+ def list_gemfile_gems; end
817
+
818
+ # source://tapioca//lib/tapioca/commands/annotations.rb#237
819
+ sig { params(gem_name: ::String, contents: T::Array[::String]).returns(T.nilable(::String)) }
820
+ def merge_files(gem_name, contents); end
821
+
822
+ # source://tapioca//lib/tapioca/commands/annotations.rb#60
823
+ sig { params(project_gems: T::Array[::Tapioca::GemInfo]).void }
824
+ def remove_expired_annotations(project_gems); end
825
+
826
+ # source://tapioca//lib/tapioca/commands/annotations.rb#264
827
+ sig { returns(T::Hash[::String, T.nilable(::String)]) }
828
+ def repo_tokens; end
829
+
830
+ # source://tapioca//lib/tapioca/commands/annotations.rb#292
831
+ sig { params(path: ::String, repo_uri: ::String, message: ::String).void }
832
+ def say_http_error(path, repo_uri, message:); end
833
+
834
+ # source://tapioca//lib/tapioca/commands/annotations.rb#276
835
+ sig { params(repo_uri: ::String).returns(T.nilable(::String)) }
836
+ def token_for(repo_uri); end
837
+ end
838
+
839
+ # source://tapioca//lib/tapioca/commands/check_shims.rb#6
840
+ class Tapioca::Commands::CheckShims < ::Tapioca::Commands::CommandWithoutTracker
841
+ include ::Tapioca::SorbetHelper
842
+ include ::Tapioca::RBIFilesHelper
843
+
844
+ # source://tapioca//lib/tapioca/commands/check_shims.rb#22
845
+ sig do
846
+ params(
847
+ gem_rbi_dir: ::String,
848
+ dsl_rbi_dir: ::String,
849
+ annotations_rbi_dir: ::String,
850
+ shim_rbi_dir: ::String,
851
+ todo_rbi_file: ::String,
852
+ payload: T::Boolean,
853
+ number_of_workers: T.nilable(::Integer)
854
+ ).void
855
+ end
856
+ def initialize(gem_rbi_dir:, dsl_rbi_dir:, annotations_rbi_dir:, shim_rbi_dir:, todo_rbi_file:, payload:, number_of_workers:); end
857
+
858
+ private
859
+
860
+ # source://tapioca//lib/tapioca/commands/check_shims.rb#44
861
+ sig { override.void }
862
+ def execute; end
863
+ end
864
+
865
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
866
+ #
867
+ # source://tapioca//lib/tapioca/commands/command.rb#6
868
+ class Tapioca::Commands::Command
869
+ include ::Thor::Base
870
+ include ::Thor::Invocation
871
+ include ::Thor::Shell
872
+ include ::Tapioca::CliHelper
873
+ extend ::Thor::Base::ClassMethods
874
+ extend ::Thor::Invocation::ClassMethods
875
+
876
+ abstract!
877
+
878
+ # source://tapioca//lib/tapioca/commands/command.rb#20
879
+ sig { void }
880
+ def initialize; end
881
+
882
+ # source://thor/1.3.2/lib/thor/base.rb#155
883
+ sig { returns(::Thor::Actions) }
884
+ def file_writer; end
885
+
886
+ # source://tapioca//lib/tapioca/commands/command.rb#25
887
+ sig(:final) { void }
888
+ def run; end
889
+
890
+ private
891
+
892
+ # source://tapioca//lib/tapioca/commands/command.rb#53
893
+ sig do
894
+ params(
895
+ path: T.any(::Pathname, ::String),
896
+ content: ::String,
897
+ force: T::Boolean,
898
+ skip: T::Boolean,
899
+ verbose: T::Boolean
900
+ ).void
901
+ end
902
+ def create_file(path, content, force: T.unsafe(nil), skip: T.unsafe(nil), verbose: T.unsafe(nil)); end
903
+
904
+ # source://tapioca//lib/tapioca/commands/command.rb#37
905
+ sig { params(command: ::Symbol, args: ::String).returns(::String) }
906
+ def default_command(command, *args); end
907
+
908
+ # @abstract
909
+ #
910
+ # source://tapioca//lib/tapioca/commands/command.rb#34
911
+ sig { abstract.void }
912
+ def execute; end
913
+
914
+ # source://tapioca//lib/tapioca/commands/command.rb#63
915
+ sig { params(path: T.any(::Pathname, ::String), verbose: T::Boolean).void }
916
+ def remove_file(path, verbose: T.unsafe(nil)); end
917
+ end
918
+
919
+ # source://tapioca//lib/tapioca/commands/command.rb#10
920
+ class Tapioca::Commands::Command::FileWriter < ::Thor
921
+ include ::Thor::Actions
922
+ extend ::Thor::Actions::ClassMethods
923
+ end
924
+
925
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
926
+ #
927
+ # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#6
928
+ class Tapioca::Commands::CommandWithoutTracker < ::Tapioca::Commands::Command
929
+ abstract!
930
+
931
+ # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#12
932
+ sig { void }
933
+ def initialize; end
934
+ end
935
+
936
+ # source://tapioca//lib/tapioca/commands/configure.rb#6
937
+ class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
938
+ # source://tapioca//lib/tapioca/commands/configure.rb#14
939
+ sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void }
940
+ def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end
941
+
942
+ private
943
+
944
+ # source://tapioca//lib/tapioca/commands/configure.rb#79
945
+ sig { void }
946
+ def create_binstub; end
947
+
948
+ # source://tapioca//lib/tapioca/commands/configure.rb#69
949
+ sig { void }
950
+ def create_post_require; end
951
+
952
+ # source://tapioca//lib/tapioca/commands/configure.rb#40
953
+ sig { void }
954
+ def create_sorbet_config; end
955
+
956
+ # source://tapioca//lib/tapioca/commands/configure.rb#50
957
+ sig { void }
958
+ def create_tapioca_config; end
959
+
960
+ # source://tapioca//lib/tapioca/commands/configure.rb#32
961
+ sig { override.void }
962
+ def execute; end
963
+
964
+ # source://tapioca//lib/tapioca/commands/configure.rb#92
965
+ sig { returns(::Bundler::Installer) }
966
+ def installer; end
967
+
968
+ # source://tapioca//lib/tapioca/commands/configure.rb#97
969
+ sig { returns(T.any(::Bundler::StubSpecification, ::Gem::Specification)) }
970
+ def spec; end
971
+ end
972
+
973
+ # source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#6
974
+ class Tapioca::Commands::DslCompilerList < ::Tapioca::Commands::AbstractDsl
975
+ private
976
+
977
+ # source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#10
978
+ sig { override.void }
979
+ def execute; end
980
+ end
981
+
982
+ # source://tapioca//lib/tapioca/commands/dsl_generate.rb#6
983
+ class Tapioca::Commands::DslGenerate < ::Tapioca::Commands::AbstractDsl
984
+ private
985
+
986
+ # source://tapioca//lib/tapioca/commands/dsl_generate.rb#10
987
+ sig { override.void }
988
+ def execute; end
989
+ end
990
+
991
+ # source://tapioca//lib/tapioca/commands/dsl_verify.rb#6
992
+ class Tapioca::Commands::DslVerify < ::Tapioca::Commands::AbstractDsl
993
+ private
994
+
995
+ # source://tapioca//lib/tapioca/commands/dsl_verify.rb#10
996
+ sig { override.void }
997
+ def execute; end
998
+ end
999
+
1000
+ # source://tapioca//lib/tapioca/commands/gem_generate.rb#6
1001
+ class Tapioca::Commands::GemGenerate < ::Tapioca::Commands::AbstractGem
1002
+ private
1003
+
1004
+ # source://tapioca//lib/tapioca/commands/gem_generate.rb#10
1005
+ sig { override.void }
1006
+ def execute; end
1007
+ end
1008
+
1009
+ # source://tapioca//lib/tapioca/commands/gem_sync.rb#6
1010
+ class Tapioca::Commands::GemSync < ::Tapioca::Commands::AbstractGem
1011
+ private
1012
+
1013
+ # source://tapioca//lib/tapioca/commands/gem_sync.rb#10
1014
+ sig { override.void }
1015
+ def execute; end
1016
+ end
1017
+
1018
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#6
1019
+ class Tapioca::Commands::GemVerify < ::Tapioca::Commands::AbstractGem
1020
+ private
1021
+
1022
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#10
1023
+ sig { override.void }
1024
+ def execute; end
1025
+
1026
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#17
1027
+ sig { void }
1028
+ def perform_sync_verification; end
1029
+ end
1030
+
1031
+ # source://tapioca//lib/tapioca/commands/require.rb#6
1032
+ class Tapioca::Commands::Require < ::Tapioca::Commands::CommandWithoutTracker
1033
+ # source://tapioca//lib/tapioca/commands/require.rb#13
1034
+ sig { params(requires_path: ::String, sorbet_config_path: ::String).void }
1035
+ def initialize(requires_path:, sorbet_config_path:); end
1036
+
1037
+ private
1038
+
1039
+ # source://tapioca//lib/tapioca/commands/require.rb#23
1040
+ sig { override.void }
1041
+ def execute; end
1042
+ end
1043
+
1044
+ # source://tapioca//lib/tapioca/commands/todo.rb#6
1045
+ class Tapioca::Commands::Todo < ::Tapioca::Commands::CommandWithoutTracker
1046
+ include ::Tapioca::SorbetHelper
1047
+
1048
+ # source://tapioca//lib/tapioca/commands/todo.rb#26
1049
+ sig { params(todo_file: ::String, file_header: T::Boolean).void }
1050
+ def initialize(todo_file:, file_header:); end
1051
+
1052
+ # source://tapioca//lib/tapioca/commands/todo.rb#34
1053
+ sig { void }
1054
+ def run_with_deprecation; end
1055
+
1056
+ private
1057
+
1058
+ # source://tapioca//lib/tapioca/commands/todo.rb#44
1059
+ sig { override.void }
1060
+ def execute; end
1061
+
1062
+ # source://tapioca//lib/tapioca/commands/todo.rb#68
1063
+ sig { params(constants: T::Array[::String], command: ::String).returns(::RBI::File) }
1064
+ def rbi(constants, command:); end
1065
+
1066
+ # source://tapioca//lib/tapioca/commands/todo.rb#88
1067
+ sig { returns(T::Array[::String]) }
1068
+ def unresolved_constants; end
1069
+ end
1070
+
1071
+ # source://tapioca//lib/tapioca/commands/todo.rb#9
1072
+ Tapioca::Commands::Todo::DEPRECATION_MESSAGE = T.let(T.unsafe(nil), String)
1073
+
1074
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#5
1075
+ module Tapioca::ConfigHelper
1076
+ requires_ancestor { Thor }
1077
+
1078
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#18
1079
+ sig { params(args: T.untyped, local_options: T.untyped, config: T.untyped).void }
1080
+ def initialize(args = T.unsafe(nil), local_options = T.unsafe(nil), config = T.unsafe(nil)); end
1081
+
1082
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#12
1083
+ sig { returns(::String) }
1084
+ def command_name; end
1085
+
1086
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#15
1087
+ sig { returns(::Thor::CoreExt::HashWithIndifferentAccess) }
1088
+ def defaults; end
1089
+
1090
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#34
1091
+ sig { returns(::Thor::CoreExt::HashWithIndifferentAccess) }
1092
+ def options; end
1093
+
1094
+ private
1095
+
1096
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#153
1097
+ sig { params(msg: ::String).returns(::Tapioca::ConfigHelper::ConfigError) }
1098
+ def build_error(msg); end
1099
+
1100
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#178
1101
+ sig { params(config_file: ::String, errors: T::Array[::Tapioca::ConfigHelper::ConfigError]).returns(::String) }
1102
+ def build_error_message(config_file, errors); end
1103
+
1104
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#56
1105
+ sig do
1106
+ params(
1107
+ options: ::Thor::CoreExt::HashWithIndifferentAccess
1108
+ ).returns(::Thor::CoreExt::HashWithIndifferentAccess)
1109
+ end
1110
+ def config_options(options); end
1111
+
1112
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#46
1113
+ sig { params(options: T::Hash[::Symbol, ::Thor::Option]).void }
1114
+ def filter_defaults(options); end
1115
+
1116
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#196
1117
+ sig do
1118
+ params(
1119
+ options: T.nilable(::Thor::CoreExt::HashWithIndifferentAccess)
1120
+ ).returns(::Thor::CoreExt::HashWithIndifferentAccess)
1121
+ end
1122
+ def merge_options(*options); end
1123
+
1124
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#70
1125
+ sig { params(config_file: ::String, config: T::Hash[T.untyped, T.untyped]).void }
1126
+ def validate_config!(config_file, config); end
1127
+
1128
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#102
1129
+ sig do
1130
+ params(
1131
+ command_options: T::Hash[::Symbol, ::Thor::Option],
1132
+ config_key: ::String,
1133
+ config_options: T::Hash[T.untyped, T.untyped]
1134
+ ).returns(T::Array[::Tapioca::ConfigHelper::ConfigError])
1135
+ end
1136
+ def validate_config_options(command_options, config_key, config_options); end
1137
+ end
1138
+
1139
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#148
1140
+ class Tapioca::ConfigHelper::ConfigError < ::T::Struct
1141
+ const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
1142
+
1143
+ class << self
1144
+ # source://sorbet-runtime/0.5.11609/lib/types/struct.rb#13
1145
+ def inherited(s); end
1146
+ end
1147
+ end
1148
+
1149
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#143
1150
+ class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct
1151
+ const :message, ::String
1152
+ const :colors, T::Array[::Symbol]
1153
+
1154
+ class << self
1155
+ # source://sorbet-runtime/0.5.11609/lib/types/struct.rb#13
1156
+ def inherited(s); end
1157
+ end
1158
+ end
1159
+
1160
+ # source://tapioca//lib/tapioca.rb#46
1161
+ Tapioca::DEFAULT_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
1162
+
1163
+ # source://tapioca//lib/tapioca.rb#42
1164
+ Tapioca::DEFAULT_DSL_DIR = T.let(T.unsafe(nil), String)
1165
+
1166
+ # source://tapioca//lib/tapioca.rb#58
1167
+ Tapioca::DEFAULT_ENVIRONMENT = T.let(T.unsafe(nil), String)
1168
+
1169
+ # source://tapioca//lib/tapioca.rb#43
1170
+ Tapioca::DEFAULT_GEM_DIR = T.let(T.unsafe(nil), String)
1171
+
1172
+ # source://tapioca//lib/tapioca.rb#48
1173
+ Tapioca::DEFAULT_OVERRIDES = T.let(T.unsafe(nil), Hash)
1174
+
1175
+ # source://tapioca//lib/tapioca.rb#40
1176
+ Tapioca::DEFAULT_POSTREQUIRE_FILE = T.let(T.unsafe(nil), String)
1177
+
1178
+ # source://tapioca//lib/tapioca.rb#41
1179
+ Tapioca::DEFAULT_RBI_DIR = T.let(T.unsafe(nil), String)
1180
+
1181
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#31
1182
+ Tapioca::DEFAULT_RBI_FORMATTER = T.let(T.unsafe(nil), Tapioca::RBIFormatter)
1183
+
1184
+ # source://tapioca//lib/tapioca.rb#57
1185
+ Tapioca::DEFAULT_RBI_MAX_LINE_LENGTH = T.let(T.unsafe(nil), Integer)
1186
+
1187
+ # source://tapioca//lib/tapioca.rb#44
1188
+ Tapioca::DEFAULT_SHIM_DIR = T.let(T.unsafe(nil), String)
1189
+
1190
+ # source://tapioca//lib/tapioca.rb#45
1191
+ Tapioca::DEFAULT_TODO_FILE = T.let(T.unsafe(nil), String)
1192
+
1193
+ # source://tapioca//lib/tapioca/dsl/compilers.rb#5
1194
+ module Tapioca::Dsl; end
1195
+
1196
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1197
+ #
1198
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#6
1199
+ class Tapioca::Dsl::Compiler
1200
+ extend T::Generic
1201
+ include ::Tapioca::SorbetHelper
1202
+ include ::Tapioca::RBIHelper
1203
+ include ::Tapioca::Runtime::AttachedClassOf
1204
+ include ::Tapioca::Runtime::Reflection
1205
+ extend ::Tapioca::Runtime::AttachedClassOf
1206
+ extend ::Tapioca::Runtime::Reflection
1207
+
1208
+ abstract!
1209
+
1210
+ ConstantType = type_member { { upper: Module } }
1211
+
1212
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#107
1213
+ sig do
1214
+ params(
1215
+ pipeline: ::Tapioca::Dsl::Pipeline,
1216
+ root: ::RBI::Tree,
1217
+ constant: ConstantType,
1218
+ options: T::Hash[::String, T.untyped]
1219
+ ).void
1220
+ end
1221
+ def initialize(pipeline, root, constant, options = T.unsafe(nil)); end
1222
+
1223
+ # NOTE: This should eventually accept an `Error` object or `Exception` rather than simply a `String`.
1224
+ #
1225
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#125
1226
+ sig { params(error: ::String).void }
1227
+ def add_error(error); end
1228
+
1229
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#116
1230
+ sig { params(compiler_name: ::String).returns(T::Boolean) }
1231
+ def compiler_enabled?(compiler_name); end
1232
+
1233
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#20
1234
+ sig { returns(ConstantType) }
1235
+ def constant; end
1236
+
1237
+ # @abstract
1238
+ #
1239
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#121
1240
+ sig { abstract.void }
1241
+ def decorate; end
1242
+
1243
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#26
1244
+ sig { returns(T::Hash[::String, T.untyped]) }
1245
+ def options; end
1246
+
1247
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#23
1248
+ sig { returns(::RBI::Tree) }
1249
+ def root; end
1250
+
1251
+ private
1252
+
1253
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#174
1254
+ sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(T::Array[::RBI::TypedParam]) }
1255
+ def compile_method_parameters_to_rbi(method_def); end
1256
+
1257
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#210
1258
+ sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(::String) }
1259
+ def compile_method_return_type_to_rbi(method_def); end
1260
+
1261
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#164
1262
+ sig { params(scope: ::RBI::Scope, method_def: T.any(::Method, ::UnboundMethod), class_method: T::Boolean).void }
1263
+ def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end
1264
+
1265
+ # Get the types of each parameter from a method signature
1266
+ #
1267
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#138
1268
+ sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) }
1269
+ def parameters_types_from_signature(method_def, signature); end
1270
+
1271
+ class << self
1272
+ # @abstract
1273
+ #
1274
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#39
1275
+ sig { abstract.returns(T::Enumerable[::Module]) }
1276
+ def gather_constants; end
1277
+
1278
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#34
1279
+ sig { params(constant: ::Module).returns(T::Boolean) }
1280
+ def handles?(constant); end
1281
+
1282
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#42
1283
+ sig { returns(T::Set[::Module]) }
1284
+ def processable_constants; end
1285
+
1286
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#50
1287
+ sig { params(constants: T::Array[::Module]).void }
1288
+ def requested_constants=(constants); end
1289
+
1290
+ private
1291
+
1292
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#75
1293
+ sig { returns(T::Enumerable[T::Class[T.anything]]) }
1294
+ def all_classes; end
1295
+
1296
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#87
1297
+ sig { returns(T::Enumerable[::Module]) }
1298
+ def all_modules; end
1299
+
1300
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#61
1301
+ sig do
1302
+ type_parameters(:U)
1303
+ .params(
1304
+ klass: T.all(T.type_parameter(:U), T::Class[T.anything])
1305
+ ).returns(T::Array[T.type_parameter(:U)])
1306
+ end
1307
+ def descendants_of(klass); end
1308
+ end
1309
+ end
1310
+
1311
+ # source://tapioca//lib/tapioca/dsl/compilers.rb#6
1312
+ module Tapioca::Dsl::Compilers; end
1313
+
1314
+ # DSL compilers are either built-in to Tapioca and live under the
1315
+ # `Tapioca::Dsl::Compilers` namespace (i.e. this namespace), and
1316
+ # can be referred to by just using the class name, or they live in
1317
+ # a different namespace and can only be referred to using their fully
1318
+ # qualified name. This constant encapsulates that dual lookup when
1319
+ # a compiler needs to be resolved by name.
1320
+ #
1321
+ # source://tapioca//lib/tapioca/dsl/compilers.rb#13
1322
+ Tapioca::Dsl::Compilers::NAMESPACES = T.let(T.unsafe(nil), Array)
1323
+
1324
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#6
1325
+ class Tapioca::Dsl::Pipeline
1326
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#39
1327
+ sig do
1328
+ params(
1329
+ requested_constants: T::Array[::Module],
1330
+ requested_paths: T::Array[::Pathname],
1331
+ requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1332
+ excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1333
+ error_handler: T.proc.params(error: ::String).void,
1334
+ skipped_constants: T::Array[::Module],
1335
+ number_of_workers: T.nilable(::Integer),
1336
+ compiler_options: T::Hash[::String, T.untyped]
1337
+ ).void
1338
+ end
1339
+ def initialize(requested_constants:, requested_paths: T.unsafe(nil), requested_compilers: T.unsafe(nil), excluded_compilers: T.unsafe(nil), error_handler: T.unsafe(nil), skipped_constants: T.unsafe(nil), number_of_workers: T.unsafe(nil), compiler_options: T.unsafe(nil)); end
1340
+
1341
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#10
1342
+ sig { returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]) }
1343
+ def active_compilers; end
1344
+
1345
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#102
1346
+ sig { params(error: ::String).void }
1347
+ def add_error(error); end
1348
+
1349
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#107
1350
+ sig { params(compiler_name: ::String).returns(T::Boolean) }
1351
+ def compiler_enabled?(compiler_name); end
1352
+
1353
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#116
1354
+ sig { returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
1355
+ def compilers; end
1356
+
1357
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#22
1358
+ sig { returns(T.proc.params(error: ::String).void) }
1359
+ def error_handler; end
1360
+
1361
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#25
1362
+ sig { returns(T::Array[::String]) }
1363
+ def errors; end
1364
+
1365
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#13
1366
+ sig { returns(T::Array[::Module]) }
1367
+ def requested_constants; end
1368
+
1369
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#16
1370
+ sig { returns(T::Array[::Pathname]) }
1371
+ def requested_paths; end
1372
+
1373
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#67
1374
+ sig do
1375
+ type_parameters(:T)
1376
+ .params(
1377
+ blk: T.proc.params(constant: ::Module, rbi: ::RBI::File).returns(T.type_parameter(:T))
1378
+ ).returns(T::Array[T.type_parameter(:T)])
1379
+ end
1380
+ def run(&blk); end
1381
+
1382
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#19
1383
+ sig { returns(T::Array[::Module]) }
1384
+ def skipped_constants; end
1385
+
1386
+ private
1387
+
1388
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#224
1389
+ sig { void }
1390
+ def abort_if_pending_migrations!; end
1391
+
1392
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#169
1393
+ sig { params(constants: T::Set[::Module]).returns(T::Set[::Module]) }
1394
+ def filter_anonymous_and_reloaded_constants(constants); end
1395
+
1396
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#133
1397
+ sig do
1398
+ params(
1399
+ requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1400
+ excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)]
1401
+ ).returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)])
1402
+ end
1403
+ def gather_active_compilers(requested_compilers, excluded_compilers); end
1404
+
1405
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#147
1406
+ sig do
1407
+ params(
1408
+ requested_constants: T::Array[::Module],
1409
+ requested_paths: T::Array[::Pathname],
1410
+ skipped_constants: T::Array[::Module]
1411
+ ).returns(T::Set[::Module])
1412
+ end
1413
+ def gather_constants(requested_constants, requested_paths, skipped_constants); end
1414
+
1415
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#198
1416
+ sig { params(constant: ::Module).returns(T.nilable(::RBI::File)) }
1417
+ def rbi_for_constant(constant); end
1418
+
1419
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#217
1420
+ sig { params(error: ::String).returns(T.noreturn) }
1421
+ def report_error(error); end
1422
+ end
1423
+
1424
+ # source://tapioca//lib/tapioca/helpers/env_helper.rb#5
1425
+ module Tapioca::EnvHelper
1426
+ requires_ancestor { Thor }
1427
+
1428
+ # source://tapioca//lib/tapioca/helpers/env_helper.rb#12
1429
+ sig { params(options: T::Hash[::Symbol, T.untyped]).void }
1430
+ def set_environment(options); end
1431
+ end
1432
+
1433
+ class Tapioca::Error < ::StandardError; end
1434
+
1435
+ # source://tapioca//lib/tapioca/executor.rb#5
1436
+ class Tapioca::Executor
1437
+ # source://tapioca//lib/tapioca/executor.rb#11
1438
+ sig { params(queue: T::Array[T.untyped], number_of_workers: T.nilable(::Integer)).void }
1439
+ def initialize(queue, number_of_workers: T.unsafe(nil)); end
1440
+
1441
+ # source://tapioca//lib/tapioca/executor.rb#28
1442
+ sig do
1443
+ type_parameters(:T)
1444
+ .params(
1445
+ block: T.proc.params(item: T.untyped).returns(T.type_parameter(:T))
1446
+ ).returns(T::Array[T.type_parameter(:T)])
1447
+ end
1448
+ def run_in_parallel(&block); end
1449
+
1450
+ private
1451
+
1452
+ # source://tapioca//lib/tapioca/executor.rb#37
1453
+ sig { returns(::Integer) }
1454
+ def max_processors; end
1455
+ end
1456
+
1457
+ # source://tapioca//lib/tapioca/executor.rb#8
1458
+ Tapioca::Executor::MINIMUM_ITEMS_PER_WORKER = T.let(T.unsafe(nil), Integer)
1459
+
1460
+ # source://tapioca//lib/tapioca/gem/events.rb#5
1461
+ module Tapioca::Gem; end
1462
+
1463
+ # source://tapioca//lib/tapioca/gem/events.rb#77
1464
+ class Tapioca::Gem::ConstNodeAdded < ::Tapioca::Gem::NodeAdded
1465
+ # source://tapioca//lib/tapioca/gem/events.rb#84
1466
+ sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void }
1467
+ def initialize(symbol, constant, node); end
1468
+
1469
+ # source://tapioca//lib/tapioca/gem/events.rb#81
1470
+ sig { returns(::RBI::Const) }
1471
+ def node; end
1472
+ end
1473
+
1474
+ # source://tapioca//lib/tapioca/gem/events.rb#26
1475
+ class Tapioca::Gem::ConstantFound < ::Tapioca::Gem::Event
1476
+ # source://tapioca//lib/tapioca/gem/events.rb#36
1477
+ sig { params(symbol: ::String, constant: ::BasicObject).void }
1478
+ def initialize(symbol, constant); end
1479
+
1480
+ # source://tapioca//lib/tapioca/gem/events.rb#33
1481
+ sig { returns(::BasicObject) }
1482
+ def constant; end
1483
+
1484
+ # source://tapioca//lib/tapioca/gem/events.rb#30
1485
+ sig { returns(::String) }
1486
+ def symbol; end
1487
+ end
1488
+
1489
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1490
+ #
1491
+ # source://tapioca//lib/tapioca/gem/events.rb#6
1492
+ class Tapioca::Gem::Event
1493
+ abstract!
1494
+ end
1495
+
1496
+ # source://tapioca//lib/tapioca/gem/events.rb#43
1497
+ class Tapioca::Gem::ForeignConstantFound < ::Tapioca::Gem::ConstantFound
1498
+ # source://tapioca//lib/tapioca/gem/events.rb#52
1499
+ sig { params(symbol: ::String, constant: ::Module).void }
1500
+ def initialize(symbol, constant); end
1501
+
1502
+ # source://tapioca//lib/tapioca/gem/events.rb#47
1503
+ sig { override.returns(::Module) }
1504
+ def constant; end
1505
+ end
1506
+
1507
+ # source://tapioca//lib/tapioca/gem/events.rb#103
1508
+ class Tapioca::Gem::ForeignScopeNodeAdded < ::Tapioca::Gem::ScopeNodeAdded; end
1509
+
1510
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#6
1511
+ module Tapioca::Gem::Listeners; end
1512
+
1513
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1514
+ #
1515
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#7
1516
+ class Tapioca::Gem::Listeners::Base
1517
+ abstract!
1518
+
1519
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#14
1520
+ sig { params(pipeline: ::Tapioca::Gem::Pipeline).void }
1521
+ def initialize(pipeline); end
1522
+
1523
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#19
1524
+ sig { params(event: ::Tapioca::Gem::NodeAdded).void }
1525
+ def dispatch(event); end
1526
+
1527
+ private
1528
+
1529
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#49
1530
+ sig { params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1531
+ def ignore?(event); end
1532
+
1533
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#37
1534
+ sig { params(event: ::Tapioca::Gem::ConstNodeAdded).void }
1535
+ def on_const(event); end
1536
+
1537
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#45
1538
+ sig { params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1539
+ def on_method(event); end
1540
+
1541
+ # source://tapioca//lib/tapioca/gem/listeners/base.rb#41
1542
+ sig { params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1543
+ def on_scope(event); end
1544
+ end
1545
+
1546
+ # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#7
1547
+ class Tapioca::Gem::Listeners::DynamicMixins < ::Tapioca::Gem::Listeners::Base
1548
+ include ::Tapioca::Runtime::AttachedClassOf
1549
+ include ::Tapioca::Runtime::Reflection
1550
+
1551
+ private
1552
+
1553
+ # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#31
1554
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1555
+ def ignore?(event); end
1556
+
1557
+ # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#15
1558
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1559
+ def on_scope(event); end
1560
+ end
1561
+
1562
+ # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#7
1563
+ class Tapioca::Gem::Listeners::ForeignConstants < ::Tapioca::Gem::Listeners::Base
1564
+ include ::Tapioca::Runtime::AttachedClassOf
1565
+ include ::Tapioca::Runtime::Reflection
1566
+
1567
+ private
1568
+
1569
+ # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#60
1570
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1571
+ def ignore?(event); end
1572
+
1573
+ # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#55
1574
+ sig { params(location: ::String).returns(T::Boolean) }
1575
+ def mixed_in_by_gem?(location); end
1576
+
1577
+ # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#15
1578
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1579
+ def on_scope(event); end
1580
+ end
1581
+
1582
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#7
1583
+ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1584
+ include ::Tapioca::SorbetHelper
1585
+ include ::Tapioca::RBIHelper
1586
+ include ::Tapioca::Runtime::AttachedClassOf
1587
+ include ::Tapioca::Runtime::Reflection
1588
+
1589
+ private
1590
+
1591
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#35
1592
+ sig do
1593
+ params(
1594
+ tree: ::RBI::Tree,
1595
+ module_name: ::String,
1596
+ mod: ::Module,
1597
+ for_visibility: T::Array[::Symbol],
1598
+ attached_class: T.nilable(::Module)
1599
+ ).void
1600
+ end
1601
+ def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil), attached_class: T.unsafe(nil)); end
1602
+
1603
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#71
1604
+ sig do
1605
+ params(
1606
+ tree: ::RBI::Tree,
1607
+ symbol_name: ::String,
1608
+ constant: ::Module,
1609
+ method: T.nilable(::UnboundMethod),
1610
+ visibility: ::RBI::Visibility
1611
+ ).void
1612
+ end
1613
+ def compile_method(tree, symbol_name, constant, method, visibility = T.unsafe(nil)); end
1614
+
1615
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#211
1616
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1617
+ def ignore?(event); end
1618
+
1619
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#204
1620
+ sig { params(constant: ::Module).returns(T.nilable(::UnboundMethod)) }
1621
+ def initialize_method_for(constant); end
1622
+
1623
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#216
1624
+ sig { params(method: ::UnboundMethod).returns(T.untyped) }
1625
+ def lookup_signature_of(method); end
1626
+
1627
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#172
1628
+ sig { params(mod: ::Module).returns(T::Hash[::Symbol, T::Array[::Symbol]]) }
1629
+ def method_names_by_visibility(mod); end
1630
+
1631
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#196
1632
+ sig { params(attached_class: T.nilable(::Module), method_name: ::Symbol).returns(T.nilable(T::Boolean)) }
1633
+ def method_new_in_abstract_class?(attached_class, method_name); end
1634
+
1635
+ # Check whether the method is defined by the constant.
1636
+ #
1637
+ # In most cases, it works to check that the constant is the method owner. However,
1638
+ # in the case that a method is also defined in a module prepended to the constant, it
1639
+ # will be owned by the prepended module, not the constant.
1640
+ #
1641
+ # This method implements a better way of checking whether a constant defines a method.
1642
+ # It walks up the ancestor tree via the `super_method` method; if any of the super
1643
+ # methods are owned by the constant, it means that the constant declares the method.
1644
+ #
1645
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#158
1646
+ sig { params(method: ::UnboundMethod, constant: ::Module).returns(T::Boolean) }
1647
+ def method_owned_by_constant?(method, constant); end
1648
+
1649
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#16
1650
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1651
+ def on_scope(event); end
1652
+
1653
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#181
1654
+ sig { params(constant: ::Module, method_name: ::String).returns(T::Boolean) }
1655
+ def struct_method?(constant, method_name); end
1656
+ end
1657
+
1658
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#7
1659
+ class Tapioca::Gem::Listeners::Mixins < ::Tapioca::Gem::Listeners::Base
1660
+ include ::Tapioca::Runtime::AttachedClassOf
1661
+ include ::Tapioca::Runtime::Reflection
1662
+
1663
+ private
1664
+
1665
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#42
1666
+ sig do
1667
+ params(
1668
+ tree: ::RBI::Tree,
1669
+ constant: ::Module,
1670
+ mods: T::Array[::Module],
1671
+ mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type
1672
+ ).void
1673
+ end
1674
+ def add_mixins(tree, constant, mods, mixin_type); end
1675
+
1676
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#84
1677
+ sig { params(mixin_name: ::String).returns(T::Boolean) }
1678
+ def filtered_mixin?(mixin_name); end
1679
+
1680
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#91
1681
+ sig { params(constant: ::Module).returns(T::Array[::Module]) }
1682
+ def interesting_ancestors_of(constant); end
1683
+
1684
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#75
1685
+ sig do
1686
+ params(
1687
+ constant: ::Module,
1688
+ mixin: ::Module,
1689
+ mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type
1690
+ ).returns(T::Boolean)
1691
+ end
1692
+ def mixed_in_by_gem?(constant, mixin, mixin_type); end
1693
+
1694
+ # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#15
1695
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1696
+ def on_scope(event); end
1697
+ end
1698
+
1699
+ # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#7
1700
+ class Tapioca::Gem::Listeners::RemoveEmptyPayloadScopes < ::Tapioca::Gem::Listeners::Base
1701
+ include ::Tapioca::Runtime::AttachedClassOf
1702
+ include ::Tapioca::Runtime::Reflection
1703
+
1704
+ private
1705
+
1706
+ # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#20
1707
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1708
+ def ignore?(event); end
1709
+
1710
+ # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#15
1711
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1712
+ def on_scope(event); end
1713
+ end
1714
+
1715
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#7
1716
+ class Tapioca::Gem::Listeners::SorbetEnums < ::Tapioca::Gem::Listeners::Base
1717
+ private
1718
+
1719
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#28
1720
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1721
+ def ignore?(event); end
1722
+
1723
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#13
1724
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1725
+ def on_scope(event); end
1726
+ end
1727
+
1728
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#7
1729
+ class Tapioca::Gem::Listeners::SorbetHelpers < ::Tapioca::Gem::Listeners::Base
1730
+ include ::Tapioca::Runtime::AttachedClassOf
1731
+ include ::Tapioca::Runtime::Reflection
1732
+
1733
+ private
1734
+
1735
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#27
1736
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1737
+ def ignore?(event); end
1738
+
1739
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#15
1740
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1741
+ def on_scope(event); end
1742
+ end
1743
+
1744
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#7
1745
+ class Tapioca::Gem::Listeners::SorbetProps < ::Tapioca::Gem::Listeners::Base
1746
+ include ::Tapioca::SorbetHelper
1747
+ include ::Tapioca::RBIHelper
1748
+
1749
+ private
1750
+
1751
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#33
1752
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1753
+ def ignore?(event); end
1754
+
1755
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#14
1756
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1757
+ def on_scope(event); end
1758
+ end
1759
+
1760
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#7
1761
+ class Tapioca::Gem::Listeners::SorbetRequiredAncestors < ::Tapioca::Gem::Listeners::Base
1762
+ private
1763
+
1764
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#23
1765
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1766
+ def ignore?(event); end
1767
+
1768
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#13
1769
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1770
+ def on_scope(event); end
1771
+ end
1772
+
1773
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#7
1774
+ class Tapioca::Gem::Listeners::SorbetSignatures < ::Tapioca::Gem::Listeners::Base
1775
+ include ::Tapioca::Runtime::AttachedClassOf
1776
+ include ::Tapioca::Runtime::Reflection
1777
+ include ::Tapioca::SorbetHelper
1778
+ include ::Tapioca::RBIHelper
1779
+
1780
+ private
1781
+
1782
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#26
1783
+ sig { params(signature: T.untyped, parameters: T::Array[[::Symbol, ::String]]).returns(::RBI::Sig) }
1784
+ def compile_signature(signature, parameters); end
1785
+
1786
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#79
1787
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1788
+ def ignore?(event); end
1789
+
1790
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#18
1791
+ sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1792
+ def on_method(event); end
1793
+
1794
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#68
1795
+ sig { params(signature: T.untyped).returns(T::Boolean) }
1796
+ def signature_final?(signature); end
1797
+ end
1798
+
1799
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#13
1800
+ Tapioca::Gem::Listeners::SorbetSignatures::TYPE_PARAMETER_MATCHER = T.let(T.unsafe(nil), Regexp)
1801
+
1802
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#7
1803
+ class Tapioca::Gem::Listeners::SorbetTypeVariables < ::Tapioca::Gem::Listeners::Base
1804
+ include ::Tapioca::Runtime::AttachedClassOf
1805
+ include ::Tapioca::Runtime::Reflection
1806
+
1807
+ private
1808
+
1809
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#27
1810
+ sig { params(tree: ::RBI::Tree, constant: ::Module).void }
1811
+ def compile_type_variable_declarations(tree, constant); end
1812
+
1813
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#63
1814
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1815
+ def ignore?(event); end
1816
+
1817
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#50
1818
+ sig { params(type_variable: ::Tapioca::TypeVariableModule).returns(T.nilable(::RBI::Node)) }
1819
+ def node_from_type_variable(type_variable); end
1820
+
1821
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#15
1822
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1823
+ def on_scope(event); end
1824
+ end
1825
+
1826
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#7
1827
+ class Tapioca::Gem::Listeners::SourceLocation < ::Tapioca::Gem::Listeners::Base
1828
+ private
1829
+
1830
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#41
1831
+ sig { params(node: ::RBI::NodeWithComments, file: T.nilable(::String), line: T.nilable(::Integer)).void }
1832
+ def add_source_location_comment(node, file, line); end
1833
+
1834
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#13
1835
+ sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void }
1836
+ def on_const(event); end
1837
+
1838
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#35
1839
+ sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1840
+ def on_method(event); end
1841
+
1842
+ # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#19
1843
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1844
+ def on_scope(event); end
1845
+ end
1846
+
1847
+ # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#7
1848
+ class Tapioca::Gem::Listeners::Subconstants < ::Tapioca::Gem::Listeners::Base
1849
+ include ::Tapioca::Runtime::AttachedClassOf
1850
+ include ::Tapioca::Runtime::Reflection
1851
+
1852
+ private
1853
+
1854
+ # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#36
1855
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1856
+ def ignore?(event); end
1857
+
1858
+ # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#15
1859
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1860
+ def on_scope(event); end
1861
+ end
1862
+
1863
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#7
1864
+ class Tapioca::Gem::Listeners::YardDoc < ::Tapioca::Gem::Listeners::Base
1865
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#27
1866
+ sig { params(pipeline: ::Tapioca::Gem::Pipeline).void }
1867
+ def initialize(pipeline); end
1868
+
1869
+ private
1870
+
1871
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#55
1872
+ sig { params(name: ::String, sigs: T::Array[::RBI::Sig]).returns(T::Array[::RBI::Comment]) }
1873
+ def documentation_comments(name, sigs: T.unsafe(nil)); end
1874
+
1875
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#99
1876
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1877
+ def ignore?(event); end
1878
+
1879
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#36
1880
+ sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void }
1881
+ def on_const(event); end
1882
+
1883
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#46
1884
+ sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1885
+ def on_method(event); end
1886
+
1887
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#41
1888
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1889
+ def on_scope(event); end
1890
+ end
1891
+
1892
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#10
1893
+ Tapioca::Gem::Listeners::YardDoc::IGNORED_COMMENTS = T.let(T.unsafe(nil), Array)
1894
+
1895
+ # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#24
1896
+ Tapioca::Gem::Listeners::YardDoc::IGNORED_SIG_TAGS = T.let(T.unsafe(nil), Array)
1897
+
1898
+ # source://tapioca//lib/tapioca/gem/events.rb#105
1899
+ class Tapioca::Gem::MethodNodeAdded < ::Tapioca::Gem::NodeAdded
1900
+ # source://tapioca//lib/tapioca/gem/events.rb#130
1901
+ sig do
1902
+ params(
1903
+ symbol: ::String,
1904
+ constant: ::Module,
1905
+ method: ::UnboundMethod,
1906
+ node: ::RBI::Method,
1907
+ signature: T.untyped,
1908
+ parameters: T::Array[[::Symbol, ::String]]
1909
+ ).void
1910
+ end
1911
+ def initialize(symbol, constant, method, node, signature, parameters); end
1912
+
1913
+ # source://tapioca//lib/tapioca/gem/events.rb#109
1914
+ sig { returns(::UnboundMethod) }
1915
+ def method; end
1916
+
1917
+ # source://tapioca//lib/tapioca/gem/events.rb#112
1918
+ sig { returns(::RBI::Method) }
1919
+ def node; end
1920
+
1921
+ # source://tapioca//lib/tapioca/gem/events.rb#118
1922
+ sig { returns(T::Array[[::Symbol, ::String]]) }
1923
+ def parameters; end
1924
+
1925
+ # source://tapioca//lib/tapioca/gem/events.rb#115
1926
+ sig { returns(T.untyped) }
1927
+ def signature; end
1928
+ end
1929
+
1930
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1931
+ #
1932
+ # source://tapioca//lib/tapioca/gem/events.rb#57
1933
+ class Tapioca::Gem::NodeAdded < ::Tapioca::Gem::Event
1934
+ abstract!
1935
+
1936
+ # source://tapioca//lib/tapioca/gem/events.rb#70
1937
+ sig { params(symbol: ::String, constant: ::Module).void }
1938
+ def initialize(symbol, constant); end
1939
+
1940
+ # source://tapioca//lib/tapioca/gem/events.rb#67
1941
+ sig { returns(::Module) }
1942
+ def constant; end
1943
+
1944
+ # source://tapioca//lib/tapioca/gem/events.rb#64
1945
+ sig { returns(::String) }
1946
+ def symbol; end
1947
+ end
1948
+
1949
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#6
1950
+ class Tapioca::Gem::Pipeline
1951
+ include ::Tapioca::Runtime::AttachedClassOf
1952
+ include ::Tapioca::Runtime::Reflection
1953
+ include ::Tapioca::SorbetHelper
1954
+ include ::Tapioca::RBIHelper
1955
+
1956
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#27
1957
+ sig do
1958
+ params(
1959
+ gem: ::Tapioca::Gemfile::GemSpec,
1960
+ error_handler: T.proc.params(error: ::String).void,
1961
+ include_doc: T::Boolean,
1962
+ include_loc: T::Boolean
1963
+ ).void
1964
+ end
1965
+ def initialize(gem, error_handler:, include_doc: T.unsafe(nil), include_loc: T.unsafe(nil)); end
1966
+
1967
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#64
1968
+ sig { returns(::RBI::Tree) }
1969
+ def compile; end
1970
+
1971
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#135
1972
+ sig { params(name: T.any(::String, ::Symbol)).returns(T::Boolean) }
1973
+ def constant_in_gem?(name); end
1974
+
1975
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#17
1976
+ sig { returns(T.proc.params(error: ::String).void) }
1977
+ def error_handler; end
1978
+
1979
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#14
1980
+ sig { returns(::Tapioca::Gemfile::GemSpec) }
1981
+ def gem; end
1982
+
1983
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#153
1984
+ sig { params(method: ::UnboundMethod).returns(T::Boolean) }
1985
+ def method_in_gem?(method); end
1986
+
1987
+ # Helpers
1988
+ #
1989
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#163
1990
+ sig { params(constant: ::Module).returns(T.nilable(::String)) }
1991
+ def name_of(constant); end
1992
+
1993
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#87
1994
+ sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void }
1995
+ def push_const(symbol, constant, node); end
1996
+
1997
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#77
1998
+ sig { params(symbol: ::String, constant: ::BasicObject).void }
1999
+ def push_constant(symbol, constant); end
2000
+
2001
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#82
2002
+ sig { params(symbol: ::String, constant: ::Module).void }
2003
+ def push_foreign_constant(symbol, constant); end
2004
+
2005
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#101
2006
+ sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
2007
+ def push_foreign_scope(symbol, constant, node); end
2008
+
2009
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#115
2010
+ sig do
2011
+ params(
2012
+ symbol: ::String,
2013
+ constant: ::Module,
2014
+ method: ::UnboundMethod,
2015
+ node: ::RBI::Method,
2016
+ signature: T.untyped,
2017
+ parameters: T::Array[[::Symbol, ::String]]
2018
+ ).void
2019
+ end
2020
+ def push_method(symbol, constant, method, node, signature, parameters); end
2021
+
2022
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#94
2023
+ sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
2024
+ def push_scope(symbol, constant, node); end
2025
+
2026
+ # Events handling
2027
+ #
2028
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#72
2029
+ sig { params(symbol: ::String).void }
2030
+ def push_symbol(symbol); end
2031
+
2032
+ # Constants and properties filtering
2033
+ #
2034
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#122
2035
+ sig { params(symbol_name: ::String).returns(T::Boolean) }
2036
+ def symbol_in_payload?(symbol_name); end
2037
+
2038
+ private
2039
+
2040
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#456
2041
+ sig { params(name: ::String).void }
2042
+ def add_to_alias_namespace(name); end
2043
+
2044
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#461
2045
+ sig { params(name: ::String).returns(T::Boolean) }
2046
+ def alias_namespaced?(name); end
2047
+
2048
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#260
2049
+ sig { params(name: ::String, constant: ::Module).void }
2050
+ def compile_alias(name, constant); end
2051
+
2052
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#246
2053
+ sig { params(symbol: ::String, constant: ::BasicObject).void }
2054
+ def compile_constant(symbol, constant); end
2055
+
2056
+ # Compiling
2057
+ #
2058
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#235
2059
+ sig { params(symbol: ::String, constant: ::Module).void }
2060
+ def compile_foreign_constant(symbol, constant); end
2061
+
2062
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#314
2063
+ sig { params(name: ::String, constant: ::Module).void }
2064
+ def compile_module(name, constant); end
2065
+
2066
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#281
2067
+ sig { params(name: ::String, value: ::BasicObject).void }
2068
+ def compile_object(name, value); end
2069
+
2070
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#325
2071
+ sig { params(name: ::String, constant: ::Module).returns(::RBI::Scope) }
2072
+ def compile_scope(name, constant); end
2073
+
2074
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#339
2075
+ sig { params(constant: T::Class[T.anything]).returns(T.nilable(::String)) }
2076
+ def compile_superclass(constant); end
2077
+
2078
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#437
2079
+ sig { params(constant: ::Module, strict: T::Boolean).returns(T::Boolean) }
2080
+ def defined_in_gem?(constant, strict: T.unsafe(nil)); end
2081
+
2082
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#193
2083
+ sig { params(event: ::Tapioca::Gem::Event).void }
2084
+ def dispatch(event); end
2085
+
2086
+ # Helpers
2087
+ #
2088
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#480
2089
+ sig { params(constant: T.all(::Module, ::T::Generic)).returns(::String) }
2090
+ def generic_name_of(constant); end
2091
+
2092
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#449
2093
+ sig { params(constant: ::Module).returns(T::Set[::String]) }
2094
+ def get_file_candidates(constant); end
2095
+
2096
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#178
2097
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
2098
+ def load_bootstrap_symbols(gem); end
2099
+
2100
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#496
2101
+ sig { params(constant: ::Module, class_name: T.nilable(::String)).returns(T.nilable(::String)) }
2102
+ def name_of_proxy_target(constant, class_name); end
2103
+
2104
+ # Events handling
2105
+ #
2106
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#188
2107
+ sig { returns(::Tapioca::Gem::Event) }
2108
+ def next_event; end
2109
+
2110
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#216
2111
+ sig { params(event: ::Tapioca::Gem::ConstantFound).void }
2112
+ def on_constant(event); end
2113
+
2114
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#228
2115
+ sig { params(event: ::Tapioca::Gem::NodeAdded).void }
2116
+ def on_node(event); end
2117
+
2118
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#207
2119
+ sig { params(event: ::Tapioca::Gem::SymbolFound).void }
2120
+ def on_symbol(event); end
2121
+
2122
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#468
2123
+ sig { params(name: ::String).void }
2124
+ def seen!(name); end
2125
+
2126
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#473
2127
+ sig { params(name: ::String).returns(T::Boolean) }
2128
+ def seen?(name); end
2129
+
2130
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#407
2131
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2132
+ def skip_alias?(name, constant); end
2133
+
2134
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#395
2135
+ sig { params(name: ::String, constant: T.anything).returns(T::Boolean) }
2136
+ def skip_constant?(name, constant); end
2137
+
2138
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#424
2139
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2140
+ def skip_foreign_constant?(name, constant); end
2141
+
2142
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#429
2143
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2144
+ def skip_module?(name, constant); end
2145
+
2146
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#416
2147
+ sig { params(name: ::String, constant: ::BasicObject).returns(T::Boolean) }
2148
+ def skip_object?(name, constant); end
2149
+
2150
+ # Constants and properties filtering
2151
+ #
2152
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#390
2153
+ sig { params(name: ::String).returns(T::Boolean) }
2154
+ def skip_symbol?(name); end
2155
+ end
2156
+
2157
+ # this looks something like:
2158
+ # "(eval at /path/to/file.rb:123)"
2159
+ # and we are just interested in the "/path/to/file.rb" part
2160
+ #
2161
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#132
2162
+ Tapioca::Gem::Pipeline::EVAL_SOURCE_FILE_PATTERN = T.let(T.unsafe(nil), Regexp)
2163
+
2164
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#11
2165
+ Tapioca::Gem::Pipeline::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array)
2166
+
2167
+ # source://tapioca//lib/tapioca/gem/events.rb#90
2168
+ class Tapioca::Gem::ScopeNodeAdded < ::Tapioca::Gem::NodeAdded
2169
+ # source://tapioca//lib/tapioca/gem/events.rb#97
2170
+ sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
2171
+ def initialize(symbol, constant, node); end
2172
+
2173
+ # source://tapioca//lib/tapioca/gem/events.rb#94
2174
+ sig { returns(::RBI::Scope) }
2175
+ def node; end
2176
+ end
2177
+
2178
+ # source://tapioca//lib/tapioca/gem/events.rb#13
2179
+ class Tapioca::Gem::SymbolFound < ::Tapioca::Gem::Event
2180
+ # source://tapioca//lib/tapioca/gem/events.rb#20
2181
+ sig { params(symbol: ::String).void }
2182
+ def initialize(symbol); end
2183
+
2184
+ # source://tapioca//lib/tapioca/gem/events.rb#17
2185
+ sig { returns(::String) }
2186
+ def symbol; end
2187
+ end
2188
+
2189
+ # source://tapioca//lib/tapioca/helpers/gem_helper.rb#5
2190
+ module Tapioca::GemHelper
2191
+ # source://tapioca//lib/tapioca/helpers/gem_helper.rb#9
2192
+ sig { params(app_dir: T.any(::Pathname, ::String), full_gem_path: ::String).returns(T::Boolean) }
2193
+ def gem_in_app_dir?(app_dir, full_gem_path); end
2194
+
2195
+ # source://tapioca//lib/tapioca/helpers/gem_helper.rb#17
2196
+ sig { params(full_gem_path: ::String).returns(T::Boolean) }
2197
+ def gem_in_bundle_path?(full_gem_path); end
2198
+
2199
+ # source://tapioca//lib/tapioca/helpers/gem_helper.rb#22
2200
+ sig { params(full_gem_path: ::String).returns(T::Boolean) }
2201
+ def gem_in_ruby_path?(full_gem_path); end
2202
+
2203
+ # source://tapioca//lib/tapioca/helpers/gem_helper.rb#27
2204
+ sig { params(path: T.any(::Pathname, ::String)).returns(::String) }
2205
+ def to_realpath(path); end
2206
+
2207
+ private
2208
+
2209
+ # source://tapioca//lib/tapioca/helpers/gem_helper.rb#36
2210
+ sig { params(path: T.any(::Pathname, ::String), dir: T.any(::Pathname, ::String)).returns(T::Boolean) }
2211
+ def path_in_dir?(path, dir); end
2212
+ end
2213
+
2214
+ # source://tapioca//lib/tapioca/gem_info.rb#5
2215
+ class Tapioca::GemInfo < ::T::Struct
2216
+ const :name, ::String
2217
+ const :version, ::Gem::Version
2218
+
2219
+ class << self
2220
+ # source://tapioca//lib/tapioca/gem_info.rb#13
2221
+ sig { params(spec: ::Bundler::LazySpecification).returns(::Tapioca::GemInfo) }
2222
+ def from_spec(spec); end
2223
+
2224
+ # source://sorbet-runtime/0.5.11609/lib/types/struct.rb#13
2225
+ def inherited(s); end
2226
+ end
2227
+ end
2228
+
2229
+ # source://tapioca//lib/tapioca/gemfile.rb#7
2230
+ class Tapioca::Gemfile
2231
+ # source://tapioca//lib/tapioca/gemfile.rb#27
2232
+ sig { params(excluded_gems: T::Array[::String]).void }
2233
+ def initialize(excluded_gems); end
2234
+
2235
+ # source://tapioca//lib/tapioca/gemfile.rb#18
2236
+ sig { returns(::Bundler::Definition) }
2237
+ def definition; end
2238
+
2239
+ # source://tapioca//lib/tapioca/gemfile.rb#21
2240
+ sig { returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
2241
+ def dependencies; end
2242
+
2243
+ # source://tapioca//lib/tapioca/gemfile.rb#40
2244
+ sig { params(gem_name: ::String).returns(T.nilable(::Tapioca::Gemfile::GemSpec)) }
2245
+ def gem(gem_name); end
2246
+
2247
+ # source://tapioca//lib/tapioca/gemfile.rb#24
2248
+ sig { returns(T::Array[::String]) }
2249
+ def missing_specs; end
2250
+
2251
+ # source://tapioca//lib/tapioca/gemfile.rb#45
2252
+ sig { void }
2253
+ def require_bundle; end
2254
+
2255
+ private
2256
+
2257
+ # source://tapioca//lib/tapioca/gemfile.rb#92
2258
+ sig { returns(::String) }
2259
+ def dir; end
2260
+
2261
+ # source://tapioca//lib/tapioca/gemfile.rb#54
2262
+ sig { returns(::File) }
2263
+ def gemfile; end
2264
+
2265
+ # source://tapioca//lib/tapioca/gemfile.rb#87
2266
+ sig { returns(T::Array[::Symbol]) }
2267
+ def groups; end
2268
+
2269
+ # source://tapioca//lib/tapioca/gemfile.rb#57
2270
+ sig { returns([T::Array[::Tapioca::Gemfile::GemSpec], T::Array[::String]]) }
2271
+ def load_dependencies; end
2272
+
2273
+ # @return [File]
2274
+ #
2275
+ # source://tapioca//lib/tapioca/gemfile.rb#54
2276
+ def lockfile; end
2277
+
2278
+ # source://tapioca//lib/tapioca/gemfile.rb#68
2279
+ sig { returns([T::Enumerable[T.any(::Bundler::StubSpecification, ::Gem::Specification)], T::Array[::String]]) }
2280
+ def materialize_deps; end
2281
+
2282
+ # source://tapioca//lib/tapioca/gemfile.rb#82
2283
+ sig { returns(::Bundler::Runtime) }
2284
+ def runtime; end
2285
+ end
2286
+
2287
+ # source://tapioca//lib/tapioca/gemfile.rb#96
2288
+ class Tapioca::Gemfile::GemSpec
2289
+ include ::Tapioca::GemHelper
2290
+
2291
+ # source://tapioca//lib/tapioca/gemfile.rb#136
2292
+ sig { params(spec: T.any(::Bundler::StubSpecification, ::Gem::Specification)).void }
2293
+ def initialize(spec); end
2294
+
2295
+ # source://tapioca//lib/tapioca/gemfile.rb#146
2296
+ sig { params(other: ::BasicObject).returns(T::Boolean) }
2297
+ def ==(other); end
2298
+
2299
+ # source://tapioca//lib/tapioca/gemfile.rb#171
2300
+ sig { params(path: ::String).returns(T::Boolean) }
2301
+ def contains_path?(path); end
2302
+
2303
+ # source://tapioca//lib/tapioca/gemfile.rb#161
2304
+ sig { returns(T::Array[::Gem::Dependency]) }
2305
+ def dependencies; end
2306
+
2307
+ # source://tapioca//lib/tapioca/gemfile.rb#201
2308
+ sig { returns(T::Boolean) }
2309
+ def export_rbi_files?; end
2310
+
2311
+ # source://tapioca//lib/tapioca/gemfile.rb#196
2312
+ sig { returns(T::Array[::String]) }
2313
+ def exported_rbi_files; end
2314
+
2315
+ # source://tapioca//lib/tapioca/gemfile.rb#206
2316
+ sig { returns(::RBI::MergeTree) }
2317
+ def exported_rbi_tree; end
2318
+
2319
+ # source://tapioca//lib/tapioca/gemfile.rb#133
2320
+ sig { returns(T::Array[::Pathname]) }
2321
+ def files; end
2322
+
2323
+ # source://tapioca//lib/tapioca/gemfile.rb#130
2324
+ sig { returns(::String) }
2325
+ def full_gem_path; end
2326
+
2327
+ # source://tapioca//lib/tapioca/gemfile.rb#151
2328
+ sig { params(gemfile_dir: ::String).returns(T::Boolean) }
2329
+ def ignore?(gemfile_dir); end
2330
+
2331
+ # source://tapioca//lib/tapioca/gemfile.rb#156
2332
+ sig { returns(::String) }
2333
+ def name; end
2334
+
2335
+ # source://tapioca//lib/tapioca/gemfile.rb#180
2336
+ sig { void }
2337
+ def parse_yard_docs; end
2338
+
2339
+ # source://tapioca//lib/tapioca/gemfile.rb#166
2340
+ sig { returns(::String) }
2341
+ def rbi_file_name; end
2342
+
2343
+ # source://tapioca//lib/tapioca/gemfile.rb#218
2344
+ sig { params(file: ::Pathname).returns(::Pathname) }
2345
+ def relative_path_for(file); end
2346
+
2347
+ # @return [String]
2348
+ #
2349
+ # source://tapioca//lib/tapioca/gemfile.rb#130
2350
+ def version; end
2351
+
2352
+ private
2353
+
2354
+ # source://tapioca//lib/tapioca/gemfile.rb#229
2355
+ sig { returns(T::Array[::Pathname]) }
2356
+ def collect_files; end
2357
+
2358
+ # source://tapioca//lib/tapioca/gemfile.rb#244
2359
+ sig { returns(T.nilable(T::Boolean)) }
2360
+ def default_gem?; end
2361
+
2362
+ # source://tapioca//lib/tapioca/gemfile.rb#303
2363
+ sig { returns(T::Boolean) }
2364
+ def gem_ignored?; end
2365
+
2366
+ # source://tapioca//lib/tapioca/gemfile.rb#282
2367
+ sig { params(path: ::String).returns(T::Boolean) }
2368
+ def has_parent_gemspec?(path); end
2369
+
2370
+ # source://tapioca//lib/tapioca/gemfile.rb#249
2371
+ sig { returns(::Regexp) }
2372
+ def require_paths_prefix_matcher; end
2373
+
2374
+ # source://tapioca//lib/tapioca/gemfile.rb#261
2375
+ sig { params(file: ::String).returns(::Pathname) }
2376
+ def resolve_to_ruby_lib_dir(file); end
2377
+
2378
+ # source://tapioca//lib/tapioca/gemfile.rb#275
2379
+ sig { returns(::String) }
2380
+ def version_string; end
2381
+
2382
+ class << self
2383
+ # source://tapioca//lib/tapioca/gemfile.rb#104
2384
+ sig { returns(T::Hash[::String, ::Tapioca::Gemfile::GemSpec]) }
2385
+ def spec_lookup_by_file_path; end
2386
+ end
2387
+ end
2388
+
2389
+ # source://tapioca//lib/tapioca/gemfile.rb#116
2390
+ Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array)
2391
+
2392
+ # source://tapioca//lib/tapioca/gemfile.rb#10
2393
+ Tapioca::Gemfile::Spec = T.type_alias { T.any(::Bundler::StubSpecification, ::Gem::Specification) }
2394
+
2395
+ # source://tapioca//lib/tapioca.rb#33
2396
+ Tapioca::LIB_ROOT_DIR = T.let(T.unsafe(nil), String)
2397
+
2398
+ # source://tapioca//lib/tapioca/loaders/loader.rb#5
2399
+ module Tapioca::Loaders; end
2400
+
2401
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#6
2402
+ class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader
2403
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#38
2404
+ sig do
2405
+ params(
2406
+ tapioca_path: ::String,
2407
+ eager_load: T::Boolean,
2408
+ app_root: ::String,
2409
+ halt_upon_load_error: T::Boolean
2410
+ ).void
2411
+ end
2412
+ def initialize(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2413
+
2414
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#27
2415
+ sig { override.void }
2416
+ def load; end
2417
+
2418
+ protected
2419
+
2420
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#88
2421
+ sig { void }
2422
+ def load_application; end
2423
+
2424
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#63
2425
+ sig { void }
2426
+ def load_dsl_compilers; end
2427
+
2428
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#48
2429
+ sig { void }
2430
+ def load_dsl_extensions; end
2431
+
2432
+ class << self
2433
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#15
2434
+ sig do
2435
+ params(
2436
+ tapioca_path: ::String,
2437
+ eager_load: T::Boolean,
2438
+ app_root: ::String,
2439
+ halt_upon_load_error: T::Boolean
2440
+ ).void
2441
+ end
2442
+ def load_application(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2443
+ end
2444
+ end
2445
+
2446
+ # source://tapioca//lib/tapioca/loaders/gem.rb#6
2447
+ class Tapioca::Loaders::Gem < ::Tapioca::Loaders::Loader
2448
+ # source://tapioca//lib/tapioca/loaders/gem.rb#49
2449
+ sig do
2450
+ params(
2451
+ bundle: ::Tapioca::Gemfile,
2452
+ prerequire: T.nilable(::String),
2453
+ postrequire: ::String,
2454
+ default_command: ::String,
2455
+ halt_upon_load_error: T::Boolean
2456
+ ).void
2457
+ end
2458
+ def initialize(bundle:, prerequire:, postrequire:, default_command:, halt_upon_load_error:); end
2459
+
2460
+ # source://tapioca//lib/tapioca/loaders/gem.rb#34
2461
+ sig { override.void }
2462
+ def load; end
2463
+
2464
+ protected
2465
+
2466
+ # source://tapioca//lib/tapioca/loaders/gem.rb#80
2467
+ sig { params(file: ::String, error: ::LoadError).void }
2468
+ def explain_failed_require(file, error); end
2469
+
2470
+ # source://tapioca//lib/tapioca/loaders/gem.rb#60
2471
+ sig { void }
2472
+ def require_gem_file; end
2473
+
2474
+ class << self
2475
+ # source://tapioca//lib/tapioca/loaders/gem.rb#21
2476
+ sig do
2477
+ params(
2478
+ bundle: ::Tapioca::Gemfile,
2479
+ prerequire: T.nilable(::String),
2480
+ postrequire: ::String,
2481
+ default_command: ::String,
2482
+ halt_upon_load_error: T::Boolean
2483
+ ).void
2484
+ end
2485
+ def load_application(bundle:, prerequire:, postrequire:, default_command:, halt_upon_load_error:); end
2486
+ end
2487
+ end
2488
+
2489
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2490
+ #
2491
+ # source://tapioca//lib/tapioca/loaders/loader.rb#6
2492
+ class Tapioca::Loaders::Loader
2493
+ include ::Thor::Base
2494
+ include ::Thor::Invocation
2495
+ include ::Thor::Shell
2496
+ include ::Tapioca::CliHelper
2497
+ include ::Tapioca::GemHelper
2498
+ extend ::Thor::Base::ClassMethods
2499
+ extend ::Thor::Invocation::ClassMethods
2500
+
2501
+ abstract!
2502
+
2503
+ # @abstract
2504
+ #
2505
+ # source://tapioca//lib/tapioca/loaders/loader.rb#17
2506
+ sig { abstract.void }
2507
+ def load; end
2508
+
2509
+ private
2510
+
2511
+ # Rails 7.2 renamed `eager_load_paths` to `all_eager_load_paths`, which maintains the same original functionality.
2512
+ # The `eager_load_paths` method still exists, but doesn't return all paths anymore and causes Tapioca to miss some
2513
+ # engine paths. The following commit is the change:
2514
+ # https://github.com/rails/rails/commit/ebfca905db14020589c22e6937382e6f8f687664
2515
+ #
2516
+ # @param engine [T.class_of(Rails::Engine)]
2517
+ # @return [Array<String>]
2518
+ #
2519
+ # source://tapioca//lib/tapioca/loaders/loader.rb#234
2520
+ def eager_load_paths(engine); end
2521
+
2522
+ # source://tapioca//lib/tapioca/loaders/loader.rb#199
2523
+ sig { void }
2524
+ def eager_load_rails_app; end
2525
+
2526
+ # @return [Array<T.class_of(Rails::Engine)>]
2527
+ #
2528
+ # source://tapioca//lib/tapioca/loaders/loader.rb#178
2529
+ def engines; end
2530
+
2531
+ # source://tapioca//lib/tapioca/loaders/loader.rb#29
2532
+ sig do
2533
+ params(
2534
+ gemfile: ::Tapioca::Gemfile,
2535
+ initialize_file: T.nilable(::String),
2536
+ require_file: T.nilable(::String),
2537
+ halt_upon_load_error: T::Boolean
2538
+ ).void
2539
+ end
2540
+ def load_bundle(gemfile, initialize_file, require_file, halt_upon_load_error); end
2541
+
2542
+ # source://tapioca//lib/tapioca/loaders/loader.rb#136
2543
+ sig { void }
2544
+ def load_engines_in_classic_mode; end
2545
+
2546
+ # source://tapioca//lib/tapioca/loaders/loader.rb#114
2547
+ sig { void }
2548
+ def load_engines_in_zeitwerk_mode; end
2549
+
2550
+ # source://tapioca//lib/tapioca/loaders/loader.rb#49
2551
+ sig do
2552
+ params(
2553
+ environment_load: T::Boolean,
2554
+ eager_load: T::Boolean,
2555
+ app_root: ::String,
2556
+ halt_upon_load_error: T::Boolean
2557
+ ).void
2558
+ end
2559
+ def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2560
+
2561
+ # source://tapioca//lib/tapioca/loaders/loader.rb#89
2562
+ sig { void }
2563
+ def load_rails_engines; end
2564
+
2565
+ # source://tapioca//lib/tapioca/loaders/loader.rb#220
2566
+ sig { params(file: T.nilable(::String)).void }
2567
+ def require_helper(file); end
2568
+
2569
+ # source://tapioca//lib/tapioca/loaders/loader.rb#103
2570
+ def run_initializers; end
2571
+
2572
+ # source://tapioca//lib/tapioca/loaders/loader.rb#192
2573
+ sig { params(path: ::String).void }
2574
+ def safe_require(path); end
2575
+
2576
+ # source://tapioca//lib/tapioca/loaders/loader.rb#161
2577
+ sig { params(blk: T.proc.void).void }
2578
+ def with_rails_application(&blk); end
2579
+
2580
+ # source://tapioca//lib/tapioca/loaders/loader.rb#154
2581
+ sig { returns(T::Boolean) }
2582
+ def zeitwerk_mode?; end
2583
+ end
2584
+
2585
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#5
2586
+ module Tapioca::RBIFilesHelper
2587
+ requires_ancestor { Tapioca::SorbetHelper }
2588
+ requires_ancestor { Thor::Shell }
2589
+
2590
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#48
2591
+ sig do
2592
+ params(
2593
+ index: ::RBI::Index,
2594
+ shim_rbi_dir: ::String,
2595
+ todo_rbi_file: ::String
2596
+ ).returns(T::Hash[::String, T::Array[::RBI::Node]])
2597
+ end
2598
+ def duplicated_nodes_from_index(index, shim_rbi_dir:, todo_rbi_file:); end
2599
+
2600
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#13
2601
+ sig { params(index: ::RBI::Index, kind: ::String, file: ::String).void }
2602
+ def index_rbi(index, kind, file); end
2603
+
2604
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#25
2605
+ sig { params(index: ::RBI::Index, kind: ::String, dir: ::String, number_of_workers: T.nilable(::Integer)).void }
2606
+ def index_rbis(index, kind, dir, number_of_workers:); end
2607
+
2608
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#65
2609
+ sig { params(loc: ::RBI::Loc, path_prefix: T.nilable(::String)).returns(::String) }
2610
+ def location_to_payload_url(loc, path_prefix:); end
2611
+
2612
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#86
2613
+ sig do
2614
+ params(
2615
+ command: ::String,
2616
+ gem_dir: ::String,
2617
+ dsl_dir: ::String,
2618
+ auto_strictness: T::Boolean,
2619
+ gems: T::Array[::Tapioca::Gemfile::GemSpec],
2620
+ compilers: T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]
2621
+ ).void
2622
+ end
2623
+ def validate_rbi_files(command:, gem_dir:, dsl_dir:, auto_strictness:, gems: T.unsafe(nil), compilers: T.unsafe(nil)); end
2624
+
2625
+ private
2626
+
2627
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#223
2628
+ sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[::RBI::Scope]) }
2629
+ def extract_empty_scopes(nodes); end
2630
+
2631
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#228
2632
+ sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)]) }
2633
+ def extract_methods_and_attrs(nodes); end
2634
+
2635
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#238
2636
+ sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Mixin, ::RBI::RequiresAncestor)]) }
2637
+ def extract_mixins(nodes); end
2638
+
2639
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#248
2640
+ sig do
2641
+ params(
2642
+ nodes: T::Array[T.any(::RBI::Attr, ::RBI::Method)]
2643
+ ).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)])
2644
+ end
2645
+ def extract_nodes_with_sigs(nodes); end
2646
+
2647
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#216
2648
+ sig do
2649
+ params(
2650
+ nodes: T::Array[::RBI::Node],
2651
+ shim_rbi_dir: ::String,
2652
+ todo_rbi_file: ::String
2653
+ ).returns(T::Array[::RBI::Node])
2654
+ end
2655
+ def extract_shims_and_todos(nodes, shim_rbi_dir:, todo_rbi_file:); end
2656
+
2657
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#280
2658
+ sig { params(path: ::String).returns(::String) }
2659
+ def gem_name_from_rbi_path(path); end
2660
+
2661
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#155
2662
+ sig { params(index: ::RBI::Index, files: T::Array[::String], number_of_workers: T.nilable(::Integer)).void }
2663
+ def parse_and_index_files(index, files, number_of_workers:); end
2664
+
2665
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#171
2666
+ sig { params(nodes: T::Array[::RBI::Node], shim_rbi_dir: ::String, todo_rbi_file: ::String).returns(T::Boolean) }
2667
+ def shims_or_todos_have_duplicates?(nodes, shim_rbi_dir:, todo_rbi_file:); end
2668
+
2669
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#253
2670
+ sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error], gem_dir: ::String).void }
2671
+ def update_gem_rbis_strictnesses(errors, gem_dir); end
2672
+ end
2673
+
2674
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#5
2675
+ class Tapioca::RBIFormatter < ::RBI::Formatter
2676
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#24
2677
+ sig { params(file: ::RBI::File).void }
2678
+ def write_empty_body_comment!(file); end
2679
+
2680
+ # source://tapioca//lib/tapioca/rbi_formatter.rb#15
2681
+ sig { params(file: ::RBI::File, command: ::String, reason: T.nilable(::String)).void }
2682
+ def write_header!(file, command, reason: T.unsafe(nil)); end
2683
+ end
2684
+
2685
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#5
2686
+ module Tapioca::RBIHelper
2687
+ include ::Tapioca::SorbetHelper
2688
+ extend ::Tapioca::SorbetHelper
2689
+ extend ::Tapioca::RBIHelper
2690
+
2691
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#91
2692
+ sig { params(type: ::String).returns(::String) }
2693
+ def as_nilable_type(type); end
2694
+
2695
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#100
2696
+ sig { params(type: ::String).returns(::String) }
2697
+ def as_non_nilable_type(type); end
2698
+
2699
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#72
2700
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2701
+ def create_block_param(name, type:); end
2702
+
2703
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#62
2704
+ sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) }
2705
+ def create_kw_opt_param(name, type:, default:); end
2706
+
2707
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#57
2708
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2709
+ def create_kw_param(name, type:); end
2710
+
2711
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#67
2712
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2713
+ def create_kw_rest_param(name, type:); end
2714
+
2715
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#47
2716
+ sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) }
2717
+ def create_opt_param(name, type:, default:); end
2718
+
2719
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#42
2720
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2721
+ def create_param(name, type:); end
2722
+
2723
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#52
2724
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2725
+ def create_rest_param(name, type:); end
2726
+
2727
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#77
2728
+ sig { params(param: ::RBI::Param, type: ::String).returns(::RBI::TypedParam) }
2729
+ def create_typed_param(param, type); end
2730
+
2731
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#82
2732
+ sig { params(sig_string: ::String).returns(::String) }
2733
+ def sanitize_signature_types(sig_string); end
2734
+
2735
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#109
2736
+ sig { params(name: ::String).returns(T::Boolean) }
2737
+ def valid_method_name?(name); end
2738
+
2739
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#114
2740
+ sig { params(name: ::String).returns(T::Boolean) }
2741
+ def valid_parameter_name?(name); end
2742
+
2743
+ class << self
2744
+ # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#23
2745
+ sig do
2746
+ params(
2747
+ type: ::String,
2748
+ variance: ::Symbol,
2749
+ fixed: T.nilable(::String),
2750
+ upper: T.nilable(::String),
2751
+ lower: T.nilable(::String)
2752
+ ).returns(::String)
2753
+ end
2754
+ def serialize_type_variable(type, variance, fixed, upper, lower); end
2755
+ end
2756
+ end
2757
+
2758
+ # source://tapioca//lib/tapioca/repo_index.rb#5
2759
+ class Tapioca::RepoIndex
2760
+ # source://tapioca//lib/tapioca/repo_index.rb#26
2761
+ sig { void }
2762
+ def initialize; end
2763
+
2764
+ # source://tapioca//lib/tapioca/repo_index.rb#31
2765
+ sig { params(gem_name: ::String).void }
2766
+ def <<(gem_name); end
2767
+
2768
+ # source://tapioca//lib/tapioca/repo_index.rb#36
2769
+ sig { returns(T::Enumerable[::String]) }
2770
+ def gems; end
2771
+
2772
+ # source://tapioca//lib/tapioca/repo_index.rb#41
2773
+ sig { params(gem_name: ::String).returns(T::Boolean) }
2774
+ def has_gem?(gem_name); end
2775
+
2776
+ class << self
2777
+ # source://tapioca//lib/tapioca/repo_index.rb#18
2778
+ sig { params(hash: T::Hash[::String, T::Hash[T.untyped, T.untyped]]).returns(Tapioca::RepoIndex) }
2779
+ def from_hash(hash); end
2780
+
2781
+ # source://tapioca//lib/tapioca/repo_index.rb#13
2782
+ sig { params(json: ::String).returns(Tapioca::RepoIndex) }
2783
+ def from_json(json); end
2784
+ end
2785
+ end
2786
+
2787
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#5
2788
+ module Tapioca::Runtime; end
2789
+
2790
+ # This module should only be included when running versions of Ruby
2791
+ # older than 3.2. Because the Class#attached_object method is not
2792
+ # available, it implements finding the attached class of a singleton
2793
+ # class by iterating through ObjectSpace.
2794
+ module Tapioca::Runtime::AttachedClassOf
2795
+ # source://tapioca//lib/tapioca/runtime/attached_class_of_32.rb#14
2796
+ sig { params(singleton_class: ::Class).returns(T.nilable(::Module)) }
2797
+ def attached_class_of(singleton_class); end
2798
+ end
2799
+
2800
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#6
2801
+ class Tapioca::Runtime::DynamicMixinCompiler
2802
+ include ::Tapioca::Runtime::AttachedClassOf
2803
+ include ::Tapioca::Runtime::Reflection
2804
+
2805
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#20
2806
+ sig { params(constant: ::Module).void }
2807
+ def initialize(constant); end
2808
+
2809
+ # @return [Array<Symbol>]
2810
+ #
2811
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14
2812
+ def class_attribute_predicates; end
2813
+
2814
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14
2815
+ sig { returns(T::Array[::Symbol]) }
2816
+ def class_attribute_readers; end
2817
+
2818
+ # @return [Array<Symbol>]
2819
+ #
2820
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14
2821
+ def class_attribute_writers; end
2822
+
2823
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#137
2824
+ sig { params(tree: ::RBI::Tree).void }
2825
+ def compile_class_attributes(tree); end
2826
+
2827
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#180
2828
+ sig { params(tree: ::RBI::Tree).returns([T::Array[::Module], T::Array[::Module]]) }
2829
+ def compile_mixes_in_class_methods(tree); end
2830
+
2831
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#11
2832
+ sig { returns(T::Array[::Module]) }
2833
+ def dynamic_extends; end
2834
+
2835
+ # @return [Array<Module>]
2836
+ #
2837
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#11
2838
+ def dynamic_includes; end
2839
+
2840
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#132
2841
+ sig { returns(T::Boolean) }
2842
+ def empty_attributes?; end
2843
+
2844
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#222
2845
+ sig { params(qualified_mixin_name: ::String).returns(T::Boolean) }
2846
+ def filtered_mixin?(qualified_mixin_name); end
2847
+
2848
+ # @return [Array<Symbol>]
2849
+ #
2850
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17
2851
+ def instance_attribute_predicates; end
2852
+
2853
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17
2854
+ sig { returns(T::Array[::Symbol]) }
2855
+ def instance_attribute_readers; end
2856
+
2857
+ # @return [Array<Symbol>]
2858
+ #
2859
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17
2860
+ def instance_attribute_writers; end
2861
+
2862
+ # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#215
2863
+ sig { params(mod: ::Module, dynamic_extends: T::Array[::Module]).returns(T::Boolean) }
2864
+ def module_included_by_another_dynamic_extend?(mod, dynamic_extends); end
2865
+ end
2866
+
2867
+ # This class is responsible for storing and looking up information related to generic types.
2868
+ #
2869
+ # The class stores 2 different kinds of data, in two separate lookup tables:
2870
+ # 1. a lookup of generic type instances by name: `@generic_instances`
2871
+ # 2. a lookup of type variable serializer by constant and type variable
2872
+ # instance: `@type_variables`
2873
+ #
2874
+ # By storing the above data, we can cheaply query each constant against this registry
2875
+ # to see if it declares any generic type variables. This becomes a simple lookup in the
2876
+ # `@type_variables` hash table with the given constant.
2877
+ #
2878
+ # If there is no entry, then we can cheaply know that we can skip generic type
2879
+ # information generation for this type.
2880
+ #
2881
+ # On the other hand, if we get a result, then the result will be a hash of type
2882
+ # variable to type variable serializers. This allows us to associate type variables
2883
+ # to the constant names that represent them, easily.
2884
+ #
2885
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#23
2886
+ module Tapioca::Runtime::GenericTypeRegistry
2887
+ class << self
2888
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#80
2889
+ sig { params(instance: ::Object).returns(T::Boolean) }
2890
+ def generic_type_instance?(instance); end
2891
+
2892
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#85
2893
+ sig { params(constant: ::Module).returns(T.nilable(T::Array[::Tapioca::TypeVariableModule])) }
2894
+ def lookup_type_variables(constant); end
2895
+
2896
+ # This method is responsible for building the name of the instantiated concrete type
2897
+ # and cloning the given constant so that we can return a type that is the same
2898
+ # as the current type but is a different instance and has a different name method.
2899
+ #
2900
+ # We cache those cloned instances by their name in `@generic_instances`, so that
2901
+ # we don't keep instantiating a new type every single time it is referenced.
2902
+ # For example, `[Foo[Integer], Foo[Integer], Foo[Integer], Foo[String]]` will only
2903
+ # result in 2 clones (1 for `Foo[Integer]` and another for `Foo[String]`) and
2904
+ # 2 hash lookups (for the other two `Foo[Integer]`s).
2905
+ #
2906
+ # This method returns the created or cached clone of the constant.
2907
+ #
2908
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#65
2909
+ sig { params(constant: T.untyped, types: T.untyped).returns(::Module) }
2910
+ def register_type(constant, types); end
2911
+
2912
+ # This method is called from intercepted calls to `type_member` and `type_template`.
2913
+ # We get passed all the arguments to those methods, as well as the `T::Types::TypeVariable`
2914
+ # instance generated by the Sorbet defined `type_member`/`type_template` call on `T::Generic`.
2915
+ #
2916
+ # This method creates a `String` with that data and stores it in the
2917
+ # `@type_variables` lookup table, keyed by the `constant` and `type_variable`.
2918
+ #
2919
+ # Finally, the original `type_variable` is returned from this method, so that the caller
2920
+ # can return it from the original methods as well.
2921
+ #
2922
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#104
2923
+ sig { params(constant: T.untyped, type_variable: ::Tapioca::TypeVariableModule).void }
2924
+ def register_type_variable(constant, type_variable); end
2925
+
2926
+ private
2927
+
2928
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#113
2929
+ sig { params(constant: ::Module, name: ::String).returns(::Module) }
2930
+ def create_generic_type(constant, name); end
2931
+
2932
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#155
2933
+ sig { params(constant: T::Class[T.anything]).returns(T::Class[T.anything]) }
2934
+ def create_safe_subclass(constant); end
2935
+
2936
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#182
2937
+ sig { params(constant: ::Module).returns(T::Array[::Tapioca::TypeVariableModule]) }
2938
+ def lookup_or_initialize_type_variables(constant); end
2939
+ end
2940
+ end
2941
+
2942
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#34
2943
+ class Tapioca::Runtime::GenericTypeRegistry::GenericType < ::T::Types::Simple
2944
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#38
2945
+ sig { params(raw_type: ::Module, underlying_type: ::Module).void }
2946
+ def initialize(raw_type, underlying_type); end
2947
+
2948
+ # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#45
2949
+ sig { override.params(obj: T.untyped).returns(T::Boolean) }
2950
+ def valid?(obj); end
2951
+ end
2952
+
2953
+ module Tapioca::Runtime::Reflection
2954
+ include ::Tapioca::Runtime::AttachedClassOf
2955
+ extend ::Tapioca::Runtime::AttachedClassOf
2956
+ extend ::Tapioca::Runtime::Reflection
2957
+
2958
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#207
2959
+ sig { params(constant: ::Module).returns(T.untyped) }
2960
+ def abstract_type_of(constant); end
2961
+
2962
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#77
2963
+ sig { params(constant: ::Module).returns(T::Array[::Module]) }
2964
+ def ancestors_of(constant); end
2965
+
2966
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#92
2967
+ sig { params(object: ::BasicObject, other: ::BasicObject).returns(T::Boolean) }
2968
+ def are_equal?(object, other); end
2969
+
2970
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#56
2971
+ sig { params(object: ::BasicObject).returns(T::Class[T.anything]) }
2972
+ def class_of(object); end
2973
+
2974
+ # @param constant [BasicObject]
2975
+ # @return [Boolean]
2976
+ #
2977
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#38
2978
+ def constant_defined?(constant); end
2979
+
2980
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#49
2981
+ sig { params(symbol: ::String, inherit: T::Boolean, namespace: ::Module).returns(::BasicObject) }
2982
+ def constantize(symbol, inherit: T.unsafe(nil), namespace: T.unsafe(nil)); end
2983
+
2984
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#61
2985
+ sig { params(constant: ::Module).returns(T::Array[::Symbol]) }
2986
+ def constants_of(constant); end
2987
+
2988
+ # Returns an array with all classes that are < than the supplied class.
2989
+ #
2990
+ # class C; end
2991
+ # descendants_of(C) # => []
2992
+ #
2993
+ # class B < C; end
2994
+ # descendants_of(C) # => [B]
2995
+ #
2996
+ # class A < B; end
2997
+ # descendants_of(C) # => [B, A]
2998
+ #
2999
+ # class D < C; end
3000
+ # descendants_of(C) # => [B, A, D]
3001
+ #
3002
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#172
3003
+ sig do
3004
+ type_parameters(:U)
3005
+ .params(
3006
+ klass: T.all(T.type_parameter(:U), T::Class[T.anything])
3007
+ ).returns(T::Array[T.type_parameter(:U)])
3008
+ end
3009
+ def descendants_of(klass); end
3010
+
3011
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#200
3012
+ sig { params(constant: ::Module).returns(T::Set[::String]) }
3013
+ def file_candidates_for(constant); end
3014
+
3015
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#213
3016
+ sig { params(constant: ::Module).returns(T::Boolean) }
3017
+ def final_module?(constant); end
3018
+
3019
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#112
3020
+ sig { params(constant: ::Module).returns(T::Array[::Module]) }
3021
+ def inherited_ancestors_of(constant); end
3022
+
3023
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#150
3024
+ sig { params(constant: ::Module, method: ::Symbol).returns(::Method) }
3025
+ def method_of(constant, method); end
3026
+
3027
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#66
3028
+ sig { params(constant: ::Module).returns(T.nilable(::String)) }
3029
+ def name_of(constant); end
3030
+
3031
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#145
3032
+ sig { params(type: ::T::Types::Base).returns(::String) }
3033
+ def name_of_type(type); end
3034
+
3035
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#87
3036
+ sig { params(object: ::BasicObject).returns(::Integer) }
3037
+ def object_id_of(object); end
3038
+
3039
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#107
3040
+ sig { params(constant: ::Module).returns(T::Array[::Symbol]) }
3041
+ def private_instance_methods_of(constant); end
3042
+
3043
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#102
3044
+ sig { params(constant: ::Module).returns(T::Array[::Symbol]) }
3045
+ def protected_instance_methods_of(constant); end
3046
+
3047
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#97
3048
+ sig { params(constant: ::Module).returns(T::Array[::Symbol]) }
3049
+ def public_instance_methods_of(constant); end
3050
+
3051
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#121
3052
+ sig { params(constant: ::Module).returns(T.nilable(::String)) }
3053
+ def qualified_name_of(constant); end
3054
+
3055
+ # Examines the call stack to identify the closest location where a "require" is performed
3056
+ # by searching for the label "<top (required)>" or "block in <class:...>" in the
3057
+ # case of an ActiveSupport.on_load hook. If none is found, it returns the location
3058
+ # labeled "<main>", which is the original call site.
3059
+ #
3060
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#185
3061
+ sig { params(locations: T.nilable(T::Array[::Thread::Backtrace::Location])).returns(::String) }
3062
+ def resolve_loc(locations); end
3063
+
3064
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#218
3065
+ sig { params(constant: ::Module).returns(T::Boolean) }
3066
+ def sealed_module?(constant); end
3067
+
3068
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#138
3069
+ sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
3070
+ def signature_of(method); end
3071
+
3072
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#133
3073
+ sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
3074
+ def signature_of!(method); end
3075
+
3076
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#72
3077
+ sig { params(constant: ::Module).returns(T::Class[T.anything]) }
3078
+ def singleton_class_of(constant); end
3079
+
3080
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#82
3081
+ sig { params(constant: T::Class[T.anything]).returns(T.nilable(T::Class[T.anything])) }
3082
+ def superclass_of(constant); end
3083
+
3084
+ private
3085
+
3086
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#255
3087
+ sig { params(parent: ::Module, name: ::String).returns(T.nilable(::Module)) }
3088
+ def child_module_for_parent_with_name(parent, name); end
3089
+
3090
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#271
3091
+ sig { params(name: ::String).returns(T::Boolean) }
3092
+ def has_aliased_namespace?(name); end
3093
+
3094
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#266
3095
+ sig { params(method: ::UnboundMethod).returns(T::Boolean) }
3096
+ def method_defined_by_forwardable_module?(method); end
3097
+
3098
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#241
3099
+ sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
3100
+ def methods_for(constant); end
3101
+
3102
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#225
3103
+ sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
3104
+ def relevant_methods_for(constant); end
3105
+ end
3106
+
3107
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#25
3108
+ Tapioca::Runtime::Reflection::ANCESTORS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3109
+
3110
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#21
3111
+ Tapioca::Runtime::Reflection::CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3112
+
3113
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#22
3114
+ Tapioca::Runtime::Reflection::CONSTANTS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3115
+
3116
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#28
3117
+ Tapioca::Runtime::Reflection::EQUAL_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3118
+
3119
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#32
3120
+ Tapioca::Runtime::Reflection::METHOD_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3121
+
3122
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#23
3123
+ Tapioca::Runtime::Reflection::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3124
+
3125
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#27
3126
+ Tapioca::Runtime::Reflection::OBJECT_ID_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3127
+
3128
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#31
3129
+ Tapioca::Runtime::Reflection::PRIVATE_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3130
+
3131
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#30
3132
+ Tapioca::Runtime::Reflection::PROTECTED_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3133
+
3134
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#29
3135
+ Tapioca::Runtime::Reflection::PUBLIC_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3136
+
3137
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#35
3138
+ Tapioca::Runtime::Reflection::REQUIRED_FROM_LABELS = T.let(T.unsafe(nil), Array)
3139
+
3140
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#24
3141
+ Tapioca::Runtime::Reflection::SINGLETON_CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3142
+
3143
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#26
3144
+ Tapioca::Runtime::Reflection::SUPERCLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3145
+
3146
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#6
3147
+ module Tapioca::Runtime::Trackers
3148
+ class << self
3149
+ # source://tapioca//lib/tapioca/runtime/trackers.rb#34
3150
+ sig { void }
3151
+ def disable_all!; end
3152
+
3153
+ # source://tapioca//lib/tapioca/runtime/trackers.rb#39
3154
+ sig { params(tracker: ::Tapioca::Runtime::Trackers::Tracker).void }
3155
+ def register_tracker(tracker); end
3156
+
3157
+ # source://tapioca//lib/tapioca/runtime/trackers.rb#21
3158
+ sig do
3159
+ type_parameters(:Return)
3160
+ .params(
3161
+ blk: T.proc.returns(T.type_parameter(:Return))
3162
+ ).returns(T.type_parameter(:Return))
3163
+ end
3164
+ def with_trackers_enabled(&blk); end
3165
+ end
3166
+ end
3167
+
3168
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#7
3169
+ module Tapioca::Runtime::Trackers::Autoload
3170
+ extend ::Tapioca::Runtime::Trackers::Tracker
3171
+
3172
+ class << self
3173
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#19
3174
+ sig { void }
3175
+ def eager_load_all!; end
3176
+
3177
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#31
3178
+ sig { params(constant_name: ::String).void }
3179
+ def register(constant_name); end
3180
+
3181
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#42
3182
+ sig do
3183
+ type_parameters(:Result)
3184
+ .params(
3185
+ block: T.proc.returns(T.type_parameter(:Result))
3186
+ ).returns(T.type_parameter(:Result))
3187
+ end
3188
+ def with_disabled_exits(&block); end
3189
+ end
3190
+ end
3191
+
3192
+ # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#11
3193
+ Tapioca::Runtime::Trackers::Autoload::NOOP_METHOD = T.let(T.unsafe(nil), Proc)
3194
+
3195
+ # Registers a TracePoint immediately upon load to track points at which
3196
+ # classes and modules are opened for definition. This is used to track
3197
+ # correspondence between classes/modules and files, as this information isn't
3198
+ # available in the ruby runtime without extra accounting.
3199
+ module Tapioca::Runtime::Trackers::ConstantDefinition
3200
+ extend ::Tapioca::Runtime::Trackers::Tracker
3201
+ extend ::Tapioca::Runtime::AttachedClassOf
3202
+ extend ::Tapioca::Runtime::Reflection
3203
+
3204
+ class << self
3205
+ # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#61
3206
+ def build_constant_location(tp, locations); end
3207
+
3208
+ # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#55
3209
+ def disable!; end
3210
+
3211
+ # Returns the files in which this class or module was opened. Doesn't know
3212
+ # about situations where the class was opened prior to +require+ing,
3213
+ # or where metaprogramming was used via +eval+, etc.
3214
+ #
3215
+ # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#71
3216
+ def files_for(klass); end
3217
+
3218
+ # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#75
3219
+ def locations_for(klass); end
3220
+ end
3221
+ end
3222
+
3223
+ module Tapioca::Runtime::Trackers::Mixin
3224
+ extend ::Tapioca::Runtime::Trackers::Tracker
3225
+
3226
+ class << self
3227
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#56
3228
+ sig do
3229
+ params(
3230
+ mixin: ::Module
3231
+ ).returns(T::Hash[::Tapioca::Runtime::Trackers::Mixin::Type, T::Hash[::Module, ::String]])
3232
+ end
3233
+ def constants_with_mixin(mixin); end
3234
+
3235
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#61
3236
+ sig do
3237
+ params(
3238
+ mixin: ::Module,
3239
+ mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type,
3240
+ constant: ::Module
3241
+ ).returns(T.nilable(::String))
3242
+ end
3243
+ def mixin_location(mixin, mixin_type, constant); end
3244
+
3245
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#35
3246
+ sig { params(constant: ::Module, mixin: ::Module, mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type).void }
3247
+ def register(constant, mixin, mixin_type); end
3248
+
3249
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#43
3250
+ def resolve_to_attached_class(constant, mixin, mixin_type); end
3251
+
3252
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#30
3253
+ sig do
3254
+ type_parameters(:Result)
3255
+ .params(
3256
+ block: T.proc.returns(T.type_parameter(:Result))
3257
+ ).returns(T.type_parameter(:Result))
3258
+ end
3259
+ def with_disabled_registration(&block); end
3260
+
3261
+ private
3262
+
3263
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#76
3264
+ sig do
3265
+ params(
3266
+ mixin: ::Module
3267
+ ).returns(T::Hash[::Tapioca::Runtime::Trackers::Mixin::Type, T::Hash[::Module, ::String]])
3268
+ end
3269
+ def find_or_initialize_mixin_lookup(mixin); end
3270
+
3271
+ # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#68
3272
+ sig do
3273
+ params(
3274
+ constant: ::Module,
3275
+ mixin: ::Module,
3276
+ mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type,
3277
+ location: ::String
3278
+ ).void
3279
+ end
3280
+ def register_with_location(constant, mixin, mixin_type, location); end
3281
+ end
3282
+ end
3283
+
3284
+ class Tapioca::Runtime::Trackers::Mixin::Type < ::T::Enum
3285
+ enums do
3286
+ Extend = new
3287
+ Include = new
3288
+ Prepend = new
3289
+ end
3290
+ end
3291
+
3292
+ # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#7
3293
+ module Tapioca::Runtime::Trackers::RequiredAncestor
3294
+ extend ::Tapioca::Runtime::Trackers::Tracker
3295
+
3296
+ class << self
3297
+ # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#15
3298
+ sig { params(requiring: ::T::Helpers, block: T.proc.void).void }
3299
+ def register(requiring, block); end
3300
+
3301
+ # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#23
3302
+ sig { params(mod: ::Module).returns(T::Array[T.proc.void]) }
3303
+ def required_ancestors_blocks_by(mod); end
3304
+
3305
+ # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#28
3306
+ sig { params(mod: ::Module).returns(T::Array[T.untyped]) }
3307
+ def required_ancestors_by(mod); end
3308
+ end
3309
+ end
3310
+
3311
+ # @abstract Subclasses must implement the `abstract` methods below.
3312
+ module Tapioca::Runtime::Trackers::Tracker
3313
+ abstract!
3314
+
3315
+ # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#26
3316
+ sig { void }
3317
+ def disable!; end
3318
+
3319
+ # @return [Boolean]
3320
+ #
3321
+ # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#30
3322
+ def enabled?; end
3323
+
3324
+ # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#34
3325
+ def with_disabled_tracker(&block); end
3326
+
3327
+ class << self
3328
+ # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#17
3329
+ sig { params(base: T.all(::Module, ::Tapioca::Runtime::Trackers::Tracker)).void }
3330
+ def extended(base); end
3331
+ end
3332
+ end
3333
+
3334
+ # source://tapioca//lib/tapioca.rb#35
3335
+ Tapioca::SORBET_CONFIG_FILE = T.let(T.unsafe(nil), String)
3336
+
3337
+ # source://tapioca//lib/tapioca.rb#34
3338
+ Tapioca::SORBET_DIR = T.let(T.unsafe(nil), String)
3339
+
3340
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#5
3341
+ module Tapioca::SorbetHelper
3342
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#32
3343
+ sig { params(sorbet_args: ::String).returns(::Spoom::ExecResult) }
3344
+ def sorbet(*sorbet_args); end
3345
+
3346
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#37
3347
+ sig { returns(::String) }
3348
+ def sorbet_path; end
3349
+
3350
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#44
3351
+ sig { params(feature: ::Symbol, version: T.nilable(::Gem::Version)).returns(T::Boolean) }
3352
+ def sorbet_supports?(feature, version: T.unsafe(nil)); end
3353
+ end
3354
+
3355
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#24
3356
+ Tapioca::SorbetHelper::FEATURE_REQUIREMENTS = T.let(T.unsafe(nil), Hash)
3357
+
3358
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#13
3359
+ Tapioca::SorbetHelper::SORBET_BIN = T.let(T.unsafe(nil), Pathname)
3360
+
3361
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#18
3362
+ Tapioca::SorbetHelper::SORBET_EXE_PATH_ENV_VAR = T.let(T.unsafe(nil), String)
3363
+
3364
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#8
3365
+ Tapioca::SorbetHelper::SORBET_GEM_SPEC = T.let(T.unsafe(nil), Gem::Specification)
3366
+
3367
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#20
3368
+ Tapioca::SorbetHelper::SORBET_PAYLOAD_URL = T.let(T.unsafe(nil), String)
3369
+
3370
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#22
3371
+ Tapioca::SorbetHelper::SPOOM_CONTEXT = T.let(T.unsafe(nil), Spoom::Context)
3372
+
3373
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#5
3374
+ module Tapioca::Static; end
3375
+
3376
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#6
3377
+ class Tapioca::Static::RequiresCompiler
3378
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#10
3379
+ sig { params(sorbet_path: ::String).void }
3380
+ def initialize(sorbet_path); end
3381
+
3382
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#15
3383
+ sig { returns(::String) }
3384
+ def compile; end
3385
+
3386
+ private
3387
+
3388
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#29
3389
+ sig { params(config: ::Spoom::Sorbet::Config).returns(T::Array[::String]) }
3390
+ def collect_files(config); end
3391
+
3392
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#44
3393
+ sig { params(file_path: ::String).returns(T::Enumerable[::String]) }
3394
+ def collect_requires(file_path); end
3395
+
3396
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#51
3397
+ sig { params(config: ::Spoom::Sorbet::Config, file_path: ::Pathname).returns(T::Boolean) }
3398
+ def file_ignored_by_sorbet?(config, file_path); end
3399
+
3400
+ # source://tapioca//lib/tapioca/static/requires_compiler.rb#80
3401
+ sig { params(path: ::Pathname).returns(T::Array[::String]) }
3402
+ def path_parts(path); end
3403
+ end
3404
+
3405
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#6
3406
+ module Tapioca::Static::SymbolLoader
3407
+ extend ::Tapioca::SorbetHelper
3408
+ extend ::Tapioca::Runtime::AttachedClassOf
3409
+ extend ::Tapioca::Runtime::Reflection
3410
+
3411
+ class << self
3412
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#23
3413
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
3414
+ def engine_symbols(gem); end
3415
+
3416
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#48
3417
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
3418
+ def gem_symbols(gem); end
3419
+
3420
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#13
3421
+ sig { returns(T::Set[::String]) }
3422
+ def payload_symbols; end
3423
+
3424
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#53
3425
+ sig { params(paths: T::Array[::Pathname]).returns(T::Set[::String]) }
3426
+ def symbols_from_paths(paths); end
3427
+
3428
+ private
3429
+
3430
+ # @return [Array<T.class_of(Rails::Engine)>]
3431
+ #
3432
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#69
3433
+ def engines; end
3434
+
3435
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#82
3436
+ sig { params(input: ::String, table_type: ::String).returns(::String) }
3437
+ def symbol_table_json_from(input, table_type: T.unsafe(nil)); end
3438
+ end
3439
+ end
3440
+
3441
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#6
3442
+ class Tapioca::Static::SymbolTableParser
3443
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#30
3444
+ sig { void }
3445
+ def initialize; end
3446
+
3447
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#65
3448
+ sig { params(name: ::String).returns(::String) }
3449
+ def fully_qualified_name(name); end
3450
+
3451
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#36
3452
+ sig { params(object: T::Hash[::String, T.untyped]).void }
3453
+ def parse_object(object); end
3454
+
3455
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#27
3456
+ sig { returns(T::Set[::String]) }
3457
+ def symbols; end
3458
+
3459
+ class << self
3460
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#15
3461
+ sig { params(json_string: ::String).returns(T::Set[::String]) }
3462
+ def parse_json(json_string); end
3463
+ end
3464
+ end
3465
+
3466
+ # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#9
3467
+ Tapioca::Static::SymbolTableParser::SKIP_PARSE_KINDS = T.let(T.unsafe(nil), Array)
3468
+
3469
+ # source://tapioca//lib/tapioca.rb#37
3470
+ Tapioca::TAPIOCA_CONFIG_FILE = T.let(T.unsafe(nil), String)
3471
+
3472
+ # source://tapioca//lib/tapioca.rb#36
3473
+ Tapioca::TAPIOCA_DIR = T.let(T.unsafe(nil), String)
3474
+
3475
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#108
3476
+ class Tapioca::TypeVariable < ::T::Types::TypeVariable
3477
+ # @return [TypeVariable] a new instance of TypeVariable
3478
+ #
3479
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#109
3480
+ def initialize(name, variance); end
3481
+
3482
+ # Returns the value of attribute name.
3483
+ #
3484
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#114
3485
+ def name; end
3486
+ end
3487
+
3488
+ # This is subclassing from `Module` so that instances of this type will be modules.
3489
+ # The reason why we want that is because that means those instances will automatically
3490
+ # get bound to the constant names they are assigned to by Ruby. As a result, we don't
3491
+ # need to do any matching of constants to type variables to bind their names, Ruby will
3492
+ # do that automatically for us and we get the `name` method for free from `Module`.
3493
+ #
3494
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#122
3495
+ class Tapioca::TypeVariableModule < ::Module
3496
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#146
3497
+ sig do
3498
+ params(
3499
+ context: ::Module,
3500
+ type: ::Tapioca::TypeVariableModule::Type,
3501
+ variance: ::Symbol,
3502
+ bounds_proc: T.nilable(T.proc.returns(T::Hash[::Symbol, T.untyped]))
3503
+ ).void
3504
+ end
3505
+ def initialize(context, type, variance, bounds_proc); end
3506
+
3507
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#181
3508
+ sig { returns(::Tapioca::TypeVariable) }
3509
+ def coerce_to_type_variable; end
3510
+
3511
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#161
3512
+ sig { returns(T::Boolean) }
3513
+ def fixed?; end
3514
+
3515
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#155
3516
+ sig { returns(T.nilable(::String)) }
3517
+ def name; end
3518
+
3519
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#166
3520
+ sig { returns(::String) }
3521
+ def serialize; end
3522
+
3523
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#136
3524
+ sig { returns(::Tapioca::TypeVariableModule::Type) }
3525
+ def type; end
3526
+
3527
+ private
3528
+
3529
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#188
3530
+ sig { returns(T::Hash[::Symbol, T.untyped]) }
3531
+ def bounds; end
3532
+ end
3533
+
3534
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#133
3535
+ Tapioca::TypeVariableModule::DEFAULT_BOUNDS_PROC = T.let(T.unsafe(nil), Proc)
3536
+
3537
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#125
3538
+ class Tapioca::TypeVariableModule::Type < ::T::Enum
3539
+ enums do
3540
+ HasAttachedClass = new
3541
+ Member = new
3542
+ Template = new
3543
+ end
3544
+ end
3545
+
3546
+ # source://tapioca//lib/tapioca/version.rb#5
3547
+ Tapioca::VERSION = T.let(T.unsafe(nil), String)
3548
+
3549
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#7
3550
+ class URI::Source < ::URI::File
3551
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#65
3552
+ sig { params(v: T.nilable(::String)).returns(T::Boolean) }
3553
+ def check_host(v); end
3554
+
3555
+ # source://uri/1.0.2/lib/uri/generic.rb#243
3556
+ def gem_name; end
3557
+
3558
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#32
3559
+ sig { returns(T.nilable(::String)) }
3560
+ def gem_version; end
3561
+
3562
+ # source://uri/1.0.2/lib/uri/generic.rb#283
3563
+ def line_number; end
3564
+
3565
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#58
3566
+ sig { params(v: T.nilable(::String)).void }
3567
+ def set_path(v); end
3568
+
3569
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#77
3570
+ sig { returns(::String) }
3571
+ def to_s; end
3572
+
3573
+ class << self
3574
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#45
3575
+ sig do
3576
+ params(
3577
+ gem_name: ::String,
3578
+ gem_version: T.nilable(::String),
3579
+ path: ::String,
3580
+ line_number: T.nilable(::String)
3581
+ ).returns(::URI::Source)
3582
+ end
3583
+ def build(gem_name:, gem_version:, path:, line_number:); end
3584
+ end
3585
+ end
3586
+
3587
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#10
3588
+ URI::Source::COMPONENT = T.let(T.unsafe(nil), Array)
3589
+
3590
+ # `uri` for Ruby 3.4 switched the default parser from RFC2396 to RFC3986. The new parser emits a deprecation
3591
+ # warning on a few methods and delegates them to RFC2396, namely `extract`/`make_regexp`/`escape`/`unescape`.
3592
+ # On earlier versions of the uri gem, the RFC2396_PARSER constant doesn't exist, so it needs some special
3593
+ # handling to select a parser that doesn't emit deprecations. While it was backported to Ruby 3.1, users may
3594
+ # have the uri gem in their own bundle and thus not use a compatible version.
3595
+ #
3596
+ # source://tapioca//lib/tapioca/helpers/source_uri.rb#26
3597
+ URI::Source::PARSER = T.let(T.unsafe(nil), URI::RFC2396_Parser)