ipt 1.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/test.yml +41 -0
  3. data/.gitignore +0 -1
  4. data/Gemfile.lock +318 -0
  5. data/README.md +1 -1
  6. data/bin/tapioca +29 -0
  7. data/ipt.gemspec +15 -8
  8. data/lib/pt.rb +8 -9
  9. data/lib/pt/action.rb +42 -24
  10. data/lib/pt/cli.rb +1 -1
  11. data/lib/pt/client.rb +2 -3
  12. data/lib/pt/configuration.rb +1 -1
  13. data/lib/pt/data_row.rb +1 -0
  14. data/lib/pt/data_table.rb +1 -2
  15. data/lib/pt/io.rb +16 -7
  16. data/lib/pt/version.rb +2 -1
  17. data/sorbet/config +3 -0
  18. data/sorbet/rbi/gems/activesupport.rbi +671 -0
  19. data/sorbet/rbi/gems/activesupport@6.1.3.2.rbi +63 -0
  20. data/sorbet/rbi/gems/addressable.rbi +147 -0
  21. data/sorbet/rbi/gems/addressable@2.7.0.rbi +8 -0
  22. data/sorbet/rbi/gems/anyway_config.rbi +197 -0
  23. data/sorbet/rbi/gems/anyway_config@2.1.0.rbi +8 -0
  24. data/sorbet/rbi/gems/aruba.rbi +917 -0
  25. data/sorbet/rbi/gems/aruba@0.14.14.rbi +1342 -0
  26. data/sorbet/rbi/gems/ast.rbi +49 -0
  27. data/sorbet/rbi/gems/ast@2.4.2.rbi +54 -0
  28. data/sorbet/rbi/gems/axiom-types@0.1.1.rbi +8 -0
  29. data/sorbet/rbi/gems/builder@3.2.4.rbi +15 -0
  30. data/sorbet/rbi/gems/childprocess.rbi +107 -0
  31. data/sorbet/rbi/gems/childprocess@3.0.0.rbi +135 -0
  32. data/sorbet/rbi/gems/coderay.rbi +285 -0
  33. data/sorbet/rbi/gems/coderay@1.1.3.rbi +1005 -0
  34. data/sorbet/rbi/gems/coercible@1.0.0.rbi +8 -0
  35. data/sorbet/rbi/gems/colorize.rbi +82 -0
  36. data/sorbet/rbi/gems/colorize@0.8.1.rbi +39 -0
  37. data/sorbet/rbi/gems/commander@4.6.0.rbi +8 -0
  38. data/sorbet/rbi/gems/concurrent-ruby.rbi +1590 -0
  39. data/sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi +8 -0
  40. data/sorbet/rbi/gems/config.rbi +124 -0
  41. data/sorbet/rbi/gems/config@3.1.0.rbi +8 -0
  42. data/sorbet/rbi/gems/contracts.rbi +391 -0
  43. data/sorbet/rbi/gems/contracts@0.16.1.rbi +592 -0
  44. data/sorbet/rbi/gems/cucumber-core.rbi +628 -0
  45. data/sorbet/rbi/gems/cucumber-core@9.0.0.rbi +8 -0
  46. data/sorbet/rbi/gems/cucumber-create-meta.rbi +27 -0
  47. data/sorbet/rbi/gems/cucumber-create-meta@4.0.0.rbi +8 -0
  48. data/sorbet/rbi/gems/cucumber-cucumber-expressions.rbi +216 -0
  49. data/sorbet/rbi/gems/cucumber-cucumber-expressions@12.1.1.rbi +8 -0
  50. data/sorbet/rbi/gems/cucumber-gherkin.rbi +289 -0
  51. data/sorbet/rbi/gems/cucumber-gherkin@18.1.1.rbi +8 -0
  52. data/sorbet/rbi/gems/cucumber-html-formatter@13.0.0.rbi +8 -0
  53. data/sorbet/rbi/gems/cucumber-messages.rbi +872 -0
  54. data/sorbet/rbi/gems/cucumber-messages@15.0.0.rbi +8 -0
  55. data/sorbet/rbi/gems/cucumber-tag-expressions.rbi +53 -0
  56. data/sorbet/rbi/gems/cucumber-tag-expressions@3.0.1.rbi +8 -0
  57. data/sorbet/rbi/gems/cucumber-wire.rbi +161 -0
  58. data/sorbet/rbi/gems/cucumber-wire@5.0.0.rbi +8 -0
  59. data/sorbet/rbi/gems/cucumber.rbi +1876 -0
  60. data/sorbet/rbi/gems/cucumber@6.0.0.rbi +8 -0
  61. data/sorbet/rbi/gems/declarative.rbi +75 -0
  62. data/sorbet/rbi/gems/declarative@0.0.20.rbi +8 -0
  63. data/sorbet/rbi/gems/deep_merge.rbi +26 -0
  64. data/sorbet/rbi/gems/deep_merge@1.2.1.rbi +8 -0
  65. data/sorbet/rbi/gems/descendants_tracker@0.0.4.rbi +8 -0
  66. data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +8 -0
  67. data/sorbet/rbi/gems/dry-configurable@0.12.1.rbi +8 -0
  68. data/sorbet/rbi/gems/dry-container@0.7.2.rbi +8 -0
  69. data/sorbet/rbi/gems/dry-core@0.5.0.rbi +8 -0
  70. data/sorbet/rbi/gems/dry-equalizer@0.3.0.rbi +8 -0
  71. data/sorbet/rbi/gems/dry-inflector@0.2.0.rbi +8 -0
  72. data/sorbet/rbi/gems/dry-initializer@3.0.4.rbi +8 -0
  73. data/sorbet/rbi/gems/dry-logic@1.2.0.rbi +8 -0
  74. data/sorbet/rbi/gems/dry-schema@1.6.2.rbi +8 -0
  75. data/sorbet/rbi/gems/dry-types@1.5.1.rbi +8 -0
  76. data/sorbet/rbi/gems/dry-validation@1.6.0.rbi +8 -0
  77. data/sorbet/rbi/gems/equalizer.rbi +23 -0
  78. data/sorbet/rbi/gems/equalizer@0.0.11.rbi +8 -0
  79. data/sorbet/rbi/gems/equatable.rbi +26 -0
  80. data/sorbet/rbi/gems/equatable@0.5.0.rbi +8 -0
  81. data/sorbet/rbi/gems/excon.rbi +378 -0
  82. data/sorbet/rbi/gems/excon@0.81.0.rbi +8 -0
  83. data/sorbet/rbi/gems/faraday-excon.rbi +28 -0
  84. data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +8 -0
  85. data/sorbet/rbi/gems/faraday-net_http.rbi +32 -0
  86. data/sorbet/rbi/gems/faraday-net_http@1.0.1.rbi +8 -0
  87. data/sorbet/rbi/gems/faraday-net_http_persistent.rbi +24 -0
  88. data/sorbet/rbi/gems/faraday-net_http_persistent@1.1.0.rbi +8 -0
  89. data/sorbet/rbi/gems/faraday.rbi +606 -0
  90. data/sorbet/rbi/gems/faraday@1.4.1.rbi +8 -0
  91. data/sorbet/rbi/gems/faraday_middleware.rbi +19 -0
  92. data/sorbet/rbi/gems/faraday_middleware@1.0.0.rbi +8 -0
  93. data/sorbet/rbi/gems/ffi.rbi +560 -0
  94. data/sorbet/rbi/gems/ffi@1.15.0.rbi +849 -0
  95. data/sorbet/rbi/gems/formatador.rbi +52 -0
  96. data/sorbet/rbi/gems/formatador@0.2.5.rbi +8 -0
  97. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +49 -0
  98. data/sorbet/rbi/gems/guard-rspec@4.7.3.rbi +233 -0
  99. data/sorbet/rbi/gems/guard.rbi +397 -0
  100. data/sorbet/rbi/gems/guard@2.16.2.rbi +615 -0
  101. data/sorbet/rbi/gems/highline.rbi +567 -0
  102. data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
  103. data/sorbet/rbi/gems/i18n.rbi +133 -0
  104. data/sorbet/rbi/gems/i18n@1.8.10.rbi +8 -0
  105. data/sorbet/rbi/gems/ice_nine@0.11.2.rbi +8 -0
  106. data/sorbet/rbi/gems/listen.rbi +301 -0
  107. data/sorbet/rbi/gems/listen@3.5.1.rbi +476 -0
  108. data/sorbet/rbi/gems/lumberjack.rbi +299 -0
  109. data/sorbet/rbi/gems/lumberjack@1.2.8.rbi +431 -0
  110. data/sorbet/rbi/gems/method_source.rbi +64 -0
  111. data/sorbet/rbi/gems/method_source@1.0.0.rbi +72 -0
  112. data/sorbet/rbi/gems/middleware.rbi +32 -0
  113. data/sorbet/rbi/gems/middleware@0.1.0.rbi +8 -0
  114. data/sorbet/rbi/gems/mime-types-data.rbi +17 -0
  115. data/sorbet/rbi/gems/mime-types-data@3.2021.0225.rbi +8 -0
  116. data/sorbet/rbi/gems/mime-types.rbi +218 -0
  117. data/sorbet/rbi/gems/mime-types@3.3.1.rbi +8 -0
  118. data/sorbet/rbi/gems/mini_mime.rbi +52 -0
  119. data/sorbet/rbi/gems/mini_mime@1.1.0.rbi +8 -0
  120. data/sorbet/rbi/gems/minitest@5.14.4.rbi +8 -0
  121. data/sorbet/rbi/gems/multi_json.rbi +62 -0
  122. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +8 -0
  123. data/sorbet/rbi/gems/multi_test.rbi +28 -0
  124. data/sorbet/rbi/gems/multi_test@0.1.2.rbi +8 -0
  125. data/sorbet/rbi/gems/multipart-post.rbi +53 -0
  126. data/sorbet/rbi/gems/multipart-post@2.1.1.rbi +8 -0
  127. data/sorbet/rbi/gems/necromancer.rbi +135 -0
  128. data/sorbet/rbi/gems/necromancer@0.3.0.rbi +8 -0
  129. data/sorbet/rbi/gems/nenv.rbi +60 -0
  130. data/sorbet/rbi/gems/nenv@0.3.0.rbi +88 -0
  131. data/sorbet/rbi/gems/notiffany.rbi +215 -0
  132. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +323 -0
  133. data/sorbet/rbi/gems/paint.rbi +31 -0
  134. data/sorbet/rbi/gems/paint@2.2.1.rbi +8 -0
  135. data/sorbet/rbi/gems/parlour.rbi +840 -0
  136. data/sorbet/rbi/gems/parlour@6.0.0.rbi +1610 -0
  137. data/sorbet/rbi/gems/parser.rbi +1517 -0
  138. data/sorbet/rbi/gems/parser@3.0.1.1.rbi +1726 -0
  139. data/sorbet/rbi/gems/pastel.rbi +128 -0
  140. data/sorbet/rbi/gems/pastel@0.6.1.rbi +8 -0
  141. data/sorbet/rbi/gems/protobuf-cucumber.rbi +1520 -0
  142. data/sorbet/rbi/gems/protobuf-cucumber@3.10.8.rbi +8 -0
  143. data/sorbet/rbi/gems/pry.rbi +1898 -0
  144. data/sorbet/rbi/gems/pry@0.14.1.rbi +2486 -0
  145. data/sorbet/rbi/gems/public_suffix.rbi +104 -0
  146. data/sorbet/rbi/gems/public_suffix@4.0.6.rbi +8 -0
  147. data/sorbet/rbi/gems/rainbow.rbi +118 -0
  148. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +153 -0
  149. data/sorbet/rbi/gems/rake.rbi +647 -0
  150. data/sorbet/rbi/gems/rake@10.5.0.rbi +805 -0
  151. data/sorbet/rbi/gems/rb-fsevent@0.11.0.rbi +8 -0
  152. data/sorbet/rbi/gems/rb-inotify@0.10.1.rbi +8 -0
  153. data/sorbet/rbi/gems/representable.rbi +227 -0
  154. data/sorbet/rbi/gems/representable@3.1.1.rbi +8 -0
  155. data/sorbet/rbi/gems/rspec-core.rbi +1932 -0
  156. data/sorbet/rbi/gems/rspec-core@3.10.1.rbi +2455 -0
  157. data/sorbet/rbi/gems/rspec-expectations.rbi +1151 -0
  158. data/sorbet/rbi/gems/rspec-expectations@3.10.1.rbi +1652 -0
  159. data/sorbet/rbi/gems/rspec-mocks.rbi +1100 -0
  160. data/sorbet/rbi/gems/rspec-mocks@3.10.2.rbi +1462 -0
  161. data/sorbet/rbi/gems/rspec-support.rbi +280 -0
  162. data/sorbet/rbi/gems/rspec-support@3.10.2.rbi +509 -0
  163. data/sorbet/rbi/gems/rspec.rbi +15 -0
  164. data/sorbet/rbi/gems/rspec@3.10.0.rbi +38 -0
  165. data/sorbet/rbi/gems/ruby-next-core.rbi +76 -0
  166. data/sorbet/rbi/gems/ruby-next-core@0.12.0.rbi +7 -0
  167. data/sorbet/rbi/gems/ruby2_keywords@0.0.4.rbi +8 -0
  168. data/sorbet/rbi/gems/shellany.rbi +29 -0
  169. data/sorbet/rbi/gems/shellany@0.0.1.rbi +28 -0
  170. data/sorbet/rbi/gems/spoom.rbi +872 -0
  171. data/sorbet/rbi/gems/spoom@1.1.1.rbi +1193 -0
  172. data/sorbet/rbi/gems/sys-uname.rbi +66 -0
  173. data/sorbet/rbi/gems/sys-uname@1.2.2.rbi +8 -0
  174. data/sorbet/rbi/gems/tapioca.rbi +39 -0
  175. data/sorbet/rbi/gems/tapioca@0.4.23.rbi +1230 -0
  176. data/sorbet/rbi/gems/terminal-table.rbi +166 -0
  177. data/sorbet/rbi/gems/terminal-table@3.0.0.rbi +8 -0
  178. data/sorbet/rbi/gems/thor.rbi +537 -0
  179. data/sorbet/rbi/gems/thor@1.1.0.rbi +838 -0
  180. data/sorbet/rbi/gems/thread_safe@0.3.6.rbi +8 -0
  181. data/sorbet/rbi/gems/tracker_api.rbi +33 -0
  182. data/sorbet/rbi/gems/tracker_api@1.13.0.rbi +21 -0
  183. data/sorbet/rbi/gems/trailblazer-option.rbi +22 -0
  184. data/sorbet/rbi/gems/trailblazer-option@0.1.1.rbi +8 -0
  185. data/sorbet/rbi/gems/tty-color.rbi +41 -0
  186. data/sorbet/rbi/gems/tty-color@0.3.0.rbi +8 -0
  187. data/sorbet/rbi/gems/tty-command@0.1.0.rbi +8 -0
  188. data/sorbet/rbi/gems/tty-cursor@0.3.0.rbi +8 -0
  189. data/sorbet/rbi/gems/tty-pager.rbi +41 -0
  190. data/sorbet/rbi/gems/tty-pager@0.4.0.rbi +8 -0
  191. data/sorbet/rbi/gems/tty-platform.rbi +36 -0
  192. data/sorbet/rbi/gems/tty-platform@0.1.0.rbi +8 -0
  193. data/sorbet/rbi/gems/tty-progressbar.rbi +164 -0
  194. data/sorbet/rbi/gems/tty-progressbar@0.9.0.rbi +8 -0
  195. data/sorbet/rbi/gems/tty-prompt@0.6.0.rbi +8 -0
  196. data/sorbet/rbi/gems/tty-screen.rbi +40 -0
  197. data/sorbet/rbi/gems/tty-screen@0.5.1.rbi +8 -0
  198. data/sorbet/rbi/gems/tty-spinner.rbi +40 -0
  199. data/sorbet/rbi/gems/tty-spinner@0.2.0.rbi +8 -0
  200. data/sorbet/rbi/gems/tty-table.rbi +417 -0
  201. data/sorbet/rbi/gems/tty-table@0.5.0.rbi +8 -0
  202. data/sorbet/rbi/gems/tty-which.rbi +22 -0
  203. data/sorbet/rbi/gems/tty-which@0.1.0.rbi +8 -0
  204. data/sorbet/rbi/gems/tty.rbi +126 -0
  205. data/sorbet/rbi/gems/tty@0.5.0.rbi +8 -0
  206. data/sorbet/rbi/gems/tzinfo.rbi +588 -0
  207. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +8 -0
  208. data/sorbet/rbi/gems/uber.rbi +18 -0
  209. data/sorbet/rbi/gems/uber@0.1.0.rbi +8 -0
  210. data/sorbet/rbi/gems/unicode-display_width.rbi +17 -0
  211. data/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi +8 -0
  212. data/sorbet/rbi/gems/unicode_utils.rbi +171 -0
  213. data/sorbet/rbi/gems/unicode_utils@1.4.0.rbi +8 -0
  214. data/sorbet/rbi/gems/vcr.rbi +582 -0
  215. data/sorbet/rbi/gems/vcr@6.0.0.rbi +782 -0
  216. data/sorbet/rbi/gems/verse.rbi +87 -0
  217. data/sorbet/rbi/gems/verse@0.4.0.rbi +8 -0
  218. data/sorbet/rbi/gems/virtus@1.0.5.rbi +8 -0
  219. data/sorbet/rbi/gems/wisper@1.6.1.rbi +8 -0
  220. data/sorbet/rbi/gems/zeitwerk.rbi +139 -0
  221. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +8 -0
  222. data/sorbet/rbi/hidden-definitions/errors.txt +8695 -0
  223. data/sorbet/rbi/hidden-definitions/hidden.rbi +18529 -0
  224. data/sorbet/rbi/sorbet-typed/lib/activesupport/>=6/activesupport.rbi +37 -0
  225. data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +1850 -0
  226. data/sorbet/rbi/sorbet-typed/lib/faraday/all/faraday.rbi +756 -0
  227. data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +108 -0
  228. data/sorbet/rbi/sorbet-typed/lib/parlour/6.0.0/parlour.rbi +1903 -0
  229. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +276 -0
  230. data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +645 -0
  231. data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +1891 -0
  232. data/sorbet/rbi/sorbet-typed/lib/thor/all/thor.rbi +905 -0
  233. data/sorbet/rbi/todo.rbi +23 -0
  234. data/sorbet/tapioca/require.rb +4 -0
  235. metadata +341 -23
@@ -0,0 +1,108 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi sorbet-typed
3
+ #
4
+ # If you would like to make changes to this file, great! Please upstream any changes you make here:
5
+ #
6
+ # https://github.com/sorbet/sorbet-typed/edit/master/lib/minitest/all/minitest.rbi
7
+ #
8
+ # typed: strong
9
+
10
+ module Minitest
11
+ class Runnable
12
+ end
13
+
14
+ class Test < Runnable
15
+ include Minitest::Assertions
16
+ end
17
+
18
+ sig { void }
19
+ def self.autorun; end
20
+
21
+ sig { params(args: T::Array[String]).returns(T::Boolean) }
22
+ def self.run(args = []); end
23
+ end
24
+
25
+ module Minitest::Assertions
26
+ extend T::Sig
27
+
28
+ sig { params(test: T.untyped, msg: T.nilable(String)).returns(TrueClass) }
29
+ def assert(test, msg = nil); end
30
+
31
+ sig do
32
+ params(
33
+ exp: BasicObject,
34
+ msg: T.nilable(String)
35
+ ).returns(TrueClass)
36
+ end
37
+ def assert_empty(exp, msg = nil); end
38
+
39
+ sig do
40
+ params(
41
+ exp: BasicObject,
42
+ act: BasicObject,
43
+ msg: T.nilable(String)
44
+ ).returns(TrueClass)
45
+ end
46
+ def assert_equal(exp, act, msg = nil); end
47
+
48
+ sig do
49
+ params(
50
+ collection: T::Enumerable[T.untyped],
51
+ obj: BasicObject,
52
+ msg: T.nilable(String)
53
+ ).returns(TrueClass)
54
+ end
55
+ def assert_includes(collection, obj, msg = nil); end
56
+
57
+ sig do
58
+ params(
59
+ obj: BasicObject,
60
+ msg: T.nilable(String)
61
+ ).returns(TrueClass)
62
+ end
63
+ def assert_nil(obj, msg = nil); end
64
+
65
+ sig do
66
+ params(
67
+ exp: T.untyped
68
+ ).returns(TrueClass)
69
+ end
70
+ def assert_raises(*exp); end
71
+
72
+ sig { params(test: T.untyped, msg: T.nilable(String)).returns(TrueClass) }
73
+ def refute(test, msg = nil); end
74
+
75
+ sig do
76
+ params(
77
+ exp: BasicObject,
78
+ msg: T.nilable(String)
79
+ ).returns(TrueClass)
80
+ end
81
+ def refute_empty(exp, msg = nil); end
82
+
83
+ sig do
84
+ params(
85
+ exp: BasicObject,
86
+ act: BasicObject,
87
+ msg: T.nilable(String)
88
+ ).returns(TrueClass)
89
+ end
90
+ def refute_equal(exp, act, msg = nil); end
91
+
92
+ sig do
93
+ params(
94
+ collection: T::Enumerable[T.untyped],
95
+ obj: BasicObject,
96
+ msg: T.nilable(String)
97
+ ).returns(TrueClass)
98
+ end
99
+ def refute_includes(collection, obj, msg = nil); end
100
+
101
+ sig do
102
+ params(
103
+ obj: BasicObject,
104
+ msg: T.nilable(String)
105
+ ).returns(TrueClass)
106
+ end
107
+ def refute_nil(obj, msg = nil); end
108
+ end
@@ -0,0 +1,1903 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi sorbet-typed
3
+ #
4
+ # If you would like to make changes to this file, great! Please upstream any changes you make here:
5
+ #
6
+ # https://github.com/sorbet/sorbet-typed/edit/master/lib/parlour/6.0.0/parlour.rbi
7
+ #
8
+ # typed: false
9
+ module Kernel
10
+ end
11
+
12
+ module Parlour
13
+ VERSION = '6.0.0'
14
+
15
+ class ConflictResolver
16
+ extend T::Sig
17
+
18
+ sig { params(namespace: RbiGenerator::Namespace, resolver: T.proc.params(
19
+ desc: String,
20
+ choices: T::Array[RbiGenerator::RbiObject]
21
+ ).returns(T.nilable(RbiGenerator::RbiObject))).void }
22
+ def resolve_conflicts(namespace, &resolver); end
23
+
24
+ sig { params(arr: T::Array[T.untyped]).returns(T.nilable(Symbol)) }
25
+ def merge_strategy(arr); end
26
+
27
+ sig { params(arr: T::Array[T.untyped]).returns(T::Boolean) }
28
+ def all_eql?(arr); end
29
+
30
+ sig { params(namespace: RbiGenerator::Namespace, name: T.nilable(String)).void }
31
+ def deduplicate_mixins_of_name(namespace, name); end
32
+ end
33
+
34
+ module Debugging
35
+ extend T::Sig
36
+
37
+ sig { params(value: T::Boolean).returns(T::Boolean) }
38
+ def self.debug_mode=(value); end
39
+
40
+ sig { returns(T::Boolean) }
41
+ def self.debug_mode?; end
42
+
43
+ sig { params(object: T.untyped, message: String).void }
44
+ def self.debug_puts(object, message); end
45
+
46
+ sig { params(object: T.untyped).returns(String) }
47
+ def self.name_for_debug_caller(object); end
48
+
49
+ module Tree
50
+ extend T::Sig
51
+ INDENT_SPACES = 2
52
+
53
+ sig { params(message: String).returns(String) }
54
+ def self.begin(message); end
55
+
56
+ sig { params(message: String).returns(String) }
57
+ def self.here(message); end
58
+
59
+ sig { params(message: String).returns(String) }
60
+ def self.end(message); end
61
+
62
+ sig { returns(T.untyped) }
63
+ def self.line_prefix; end
64
+
65
+ sig { returns(T.untyped) }
66
+ def self.text_prefix; end
67
+ end
68
+ end
69
+
70
+ class DetachedRbsGenerator < RbsGenerator
71
+ sig { returns(T.untyped) }
72
+ def detached!; end
73
+
74
+ sig { override.returns(Options) }
75
+ def options; end
76
+
77
+ sig { override.returns(T.nilable(Plugin)) }
78
+ def current_plugin; end
79
+
80
+ sig { override.returns(String) }
81
+ def rbs; end
82
+ end
83
+
84
+ class Generator
85
+ extend T::Sig
86
+
87
+ sig { params(break_params: Integer, tab_size: Integer, sort_namespaces: T::Boolean).void }
88
+ def initialize(break_params: 4, tab_size: 2, sort_namespaces: false); end
89
+
90
+ sig { returns(Options) }
91
+ attr_reader :options
92
+
93
+ sig { returns(T.nilable(Plugin)) }
94
+ attr_accessor :current_plugin
95
+ end
96
+
97
+ class Options
98
+ extend T::Sig
99
+
100
+ sig { params(break_params: Integer, tab_size: Integer, sort_namespaces: T::Boolean).void }
101
+ def initialize(break_params:, tab_size:, sort_namespaces:); end
102
+
103
+ sig { returns(Integer) }
104
+ attr_reader :break_params
105
+
106
+ sig { returns(Integer) }
107
+ attr_reader :tab_size
108
+
109
+ sig { returns(T::Boolean) }
110
+ attr_reader :sort_namespaces
111
+
112
+ sig { params(level: Integer, str: String).returns(String) }
113
+ def indented(level, str); end
114
+ end
115
+
116
+ class ParseError < StandardError
117
+ extend T::Sig
118
+
119
+ sig { returns(Parser::Source::Buffer) }
120
+ attr_reader :buffer
121
+
122
+ sig { returns(Parser::Source::Range) }
123
+ attr_reader :range
124
+
125
+ sig { params(buffer: T.untyped, range: T.untyped).returns(T.untyped) }
126
+ def initialize(buffer, range); end
127
+ end
128
+
129
+ class Plugin
130
+ abstract!
131
+
132
+ extend T::Sig
133
+ extend T::Helpers
134
+
135
+ sig { returns(T::Hash[String, T.class_of(Plugin)]) }
136
+ def self.registered_plugins; end
137
+
138
+ sig { params(new_plugin: T.class_of(Plugin)).void }
139
+ def self.inherited(new_plugin); end
140
+
141
+ sig { params(plugins: T::Array[Plugin], generator: RbiGenerator, allow_failure: T::Boolean).void }
142
+ def self.run_plugins(plugins, generator, allow_failure: true); end
143
+
144
+ sig { params(options: T::Hash[T.untyped, T.untyped]).void }
145
+ def initialize(options); end
146
+
147
+ sig { abstract.params(root: RbiGenerator::Namespace).void }
148
+ def generate(root); end
149
+
150
+ sig { returns(T.nilable(String)) }
151
+ attr_accessor :strictness
152
+ end
153
+
154
+ module TypeLoader
155
+ extend T::Sig
156
+
157
+ sig { params(source: String, filename: T.nilable(String), generator: T.nilable(RbiGenerator)).returns(RbiGenerator::Namespace) }
158
+ def self.load_source(source, filename = nil, generator: nil); end
159
+
160
+ sig { params(filename: String, generator: T.nilable(RbiGenerator)).returns(RbiGenerator::Namespace) }
161
+ def self.load_file(filename, generator: nil); end
162
+
163
+ sig do
164
+ params(
165
+ root: String,
166
+ inclusions: T::Array[String],
167
+ exclusions: T::Array[String],
168
+ generator: T.nilable(RbiGenerator)
169
+ ).returns(RbiGenerator::Namespace)
170
+ end
171
+ def self.load_project(root, inclusions: ['.'], exclusions: [], generator: nil); end
172
+ end
173
+
174
+ class TypeParser
175
+ extend T::Sig
176
+
177
+ class NodePath
178
+ extend T::Sig
179
+
180
+ sig { returns(T::Array[Integer]) }
181
+ attr_reader :indices
182
+
183
+ sig { params(indices: T::Array[Integer]).void }
184
+ def initialize(indices); end
185
+
186
+ sig { returns(NodePath) }
187
+ def parent; end
188
+
189
+ sig { params(index: Integer).returns(NodePath) }
190
+ def child(index); end
191
+
192
+ sig { params(offset: Integer).returns(NodePath) }
193
+ def sibling(offset); end
194
+
195
+ sig { params(start: Parser::AST::Node).returns(Parser::AST::Node) }
196
+ def traverse(start); end
197
+ end
198
+
199
+ sig { params(ast: Parser::AST::Node, unknown_node_errors: T::Boolean, generator: T.nilable(RbiGenerator)).void }
200
+ def initialize(ast, unknown_node_errors: false, generator: nil); end
201
+
202
+ sig { params(filename: String, source: String, generator: T.nilable(RbiGenerator)).returns(TypeParser) }
203
+ def self.from_source(filename, source, generator: nil); end
204
+
205
+ sig { returns(Parser::AST::Node) }
206
+ attr_accessor :ast
207
+
208
+ sig { returns(T::Boolean) }
209
+ attr_reader :unknown_node_errors
210
+
211
+ sig { returns(RbiGenerator) }
212
+ attr_accessor :generator
213
+
214
+ sig { returns(RbiGenerator::Namespace) }
215
+ def parse_all; end
216
+
217
+ sig { params(path: NodePath, is_within_eigenclass: T::Boolean).returns(T::Array[RbiGenerator::RbiObject]) }
218
+ def parse_path_to_object(path, is_within_eigenclass: false); end
219
+
220
+ class IntermediateSig < T::Struct
221
+ prop :type_parameters, T.nilable(T::Array[Symbol])
222
+ prop :overridable, T::Boolean
223
+ prop :override, T::Boolean
224
+ prop :abstract, T::Boolean
225
+ prop :final, T::Boolean
226
+ prop :return_type, T.nilable(String)
227
+ prop :params, T.nilable(T::Array[Parser::AST::Node])
228
+
229
+ end
230
+
231
+ sig { params(path: NodePath).returns(IntermediateSig) }
232
+ def parse_sig_into_sig(path); end
233
+
234
+ sig { params(path: NodePath, is_within_eigenclass: T::Boolean).returns(T::Array[RbiGenerator::Method]) }
235
+ def parse_sig_into_methods(path, is_within_eigenclass: false); end
236
+
237
+ sig { params(path: NodePath, is_within_eigenclass: T::Boolean).returns(T::Array[RbiGenerator::Method]) }
238
+ def parse_method_into_methods(path, is_within_eigenclass: false); end
239
+
240
+ sig { params(str: String).returns(Types::Type) }
241
+ def self.parse_single_type(str); end
242
+
243
+ sig { params(node: Parser::AST::Node).returns(Types::Type) }
244
+ def parse_node_to_type(node); end
245
+
246
+ sig { params(msg: String, node: Parser::AST::Node).void }
247
+ def warning(msg, node); end
248
+
249
+ sig { params(node: T.nilable(Parser::AST::Node)).returns(T::Array[Symbol]) }
250
+ def constant_names(node); end
251
+
252
+ sig { params(node: Parser::AST::Node).returns(T::Boolean) }
253
+ def sig_node?(node); end
254
+
255
+ sig { params(path: NodePath).returns(T::Boolean) }
256
+ def previous_sibling_sig_node?(path); end
257
+
258
+ sig { params(node: T.nilable(Parser::AST::Node)).returns(T.nilable(String)) }
259
+ def node_to_s(node); end
260
+
261
+ sig { params(node: T.nilable(Parser::AST::Node), modifier: Symbol).returns(T::Boolean) }
262
+ def body_has_modifier?(node, modifier); end
263
+
264
+ sig { params(node: Parser::AST::Node).returns([T::Array[String], T::Array[String]]) }
265
+ def body_includes_and_extends(node); end
266
+
267
+ sig { params(desc: String, node: T.any(Parser::AST::Node, NodePath)).returns(T.noreturn) }
268
+ def parse_err(desc, node); end
269
+
270
+ sig do
271
+ type_parameters(:A, :B).params(
272
+ a: T::Array[T.type_parameter(:A)],
273
+ fa: T.proc.params(item: T.type_parameter(:A)).returns(T.untyped),
274
+ b: T::Array[T.type_parameter(:B)],
275
+ fb: T.proc.params(item: T.type_parameter(:B)).returns(T.untyped)
276
+ ).returns(T::Array[[T.type_parameter(:A), T.type_parameter(:B)]])
277
+ end
278
+ def zip_by(a, fa, b, fb); end
279
+ end
280
+
281
+ class TypedObject
282
+ abstract!
283
+
284
+ extend T::Sig
285
+ extend T::Helpers
286
+
287
+ sig { params(name: String).void }
288
+ def initialize(name); end
289
+
290
+ sig { returns(T.nilable(Plugin)) }
291
+ attr_reader :generated_by
292
+
293
+ sig { returns(String) }
294
+ attr_reader :name
295
+
296
+ sig { returns(T::Array[String]) }
297
+ attr_reader :comments
298
+
299
+ sig { params(comment: T.any(String, T::Array[String])).void }
300
+ def add_comment(comment); end
301
+
302
+ sig { abstract.returns(String) }
303
+ def describe; end
304
+
305
+ sig { params(indent_level: Integer, options: Options).returns(T::Array[String]) }
306
+ def generate_comments(indent_level, options); end
307
+ end
308
+
309
+ module Types
310
+ TypeLike = T.type_alias { T.any(String, Type) }
311
+
312
+ class Type
313
+ abstract!
314
+
315
+ extend T::Sig
316
+ extend T::Helpers
317
+
318
+ sig { abstract.returns(String) }
319
+ def generate_rbi; end
320
+
321
+ sig { abstract.returns(String) }
322
+ def generate_rbs; end
323
+
324
+ sig { params(type_like: TypeLike).returns(Type) }
325
+ def self.to_type(type_like); end
326
+
327
+ sig { params(type_like: TypeLike).returns(Type) }
328
+ def to_type(type_like); end
329
+
330
+ sig { returns(T.untyped) }
331
+ def hash; end
332
+
333
+ sig { abstract.returns(String) }
334
+ def describe; end
335
+ end
336
+
337
+ class Raw < Type
338
+ sig { params(str: String).void }
339
+ def initialize(str); end
340
+
341
+ sig { returns(String) }
342
+ attr_reader :str
343
+
344
+ sig { params(other: Object).returns(T::Boolean) }
345
+ def ==(other); end
346
+
347
+ sig { override.returns(String) }
348
+ def generate_rbi; end
349
+
350
+ sig { override.returns(String) }
351
+ def generate_rbs; end
352
+
353
+ sig { override.returns(String) }
354
+ def describe; end
355
+ end
356
+
357
+ class Nilable < Type
358
+ sig { params(type: TypeLike).void }
359
+ def initialize(type); end
360
+
361
+ sig { params(other: Object).returns(T::Boolean) }
362
+ def ==(other); end
363
+
364
+ sig { returns(Type) }
365
+ attr_reader :type
366
+
367
+ sig { override.returns(String) }
368
+ def generate_rbi; end
369
+
370
+ sig { override.returns(String) }
371
+ def generate_rbs; end
372
+
373
+ sig { override.returns(String) }
374
+ def describe; end
375
+ end
376
+
377
+ class Union < Type
378
+ sig { params(types: T::Array[TypeLike]).void }
379
+ def initialize(types); end
380
+
381
+ sig { params(other: Object).returns(T::Boolean) }
382
+ def ==(other); end
383
+
384
+ sig { returns(T::Array[Type]) }
385
+ attr_reader :types
386
+
387
+ sig { override.returns(String) }
388
+ def generate_rbi; end
389
+
390
+ sig { override.returns(String) }
391
+ def generate_rbs; end
392
+
393
+ sig { override.returns(String) }
394
+ def describe; end
395
+ end
396
+
397
+ class Intersection < Type
398
+ sig { params(types: T::Array[TypeLike]).void }
399
+ def initialize(types); end
400
+
401
+ sig { params(other: Object).returns(T::Boolean) }
402
+ def ==(other); end
403
+
404
+ sig { returns(T::Array[Type]) }
405
+ attr_reader :types
406
+
407
+ sig { override.returns(String) }
408
+ def generate_rbi; end
409
+
410
+ sig { override.returns(String) }
411
+ def generate_rbs; end
412
+
413
+ sig { override.returns(String) }
414
+ def describe; end
415
+ end
416
+
417
+ class Tuple < Type
418
+ sig { params(types: T::Array[TypeLike]).void }
419
+ def initialize(types); end
420
+
421
+ sig { params(other: Object).returns(T::Boolean) }
422
+ def ==(other); end
423
+
424
+ sig { returns(T::Array[Type]) }
425
+ attr_reader :types
426
+
427
+ sig { override.returns(String) }
428
+ def generate_rbi; end
429
+
430
+ sig { override.returns(String) }
431
+ def generate_rbs; end
432
+
433
+ sig { override.returns(String) }
434
+ def describe; end
435
+ end
436
+
437
+ class Generic < Type
438
+ sig { params(type: TypeLike, type_params: T::Array[TypeLike]).void }
439
+ def initialize(type, type_params); end
440
+
441
+ sig { params(other: Object).returns(T::Boolean) }
442
+ def ==(other); end
443
+
444
+ sig { returns(Type) }
445
+ attr_reader :type
446
+
447
+ sig { returns(T::Array[Type]) }
448
+ attr_reader :type_params
449
+
450
+ sig { override.returns(String) }
451
+ def generate_rbi; end
452
+
453
+ sig { override.returns(String) }
454
+ def generate_rbs; end
455
+
456
+ sig { override.returns(String) }
457
+ def describe; end
458
+ end
459
+
460
+ class SingleElementCollection < Type
461
+ abstract!
462
+
463
+ sig { params(element: TypeLike).void }
464
+ def initialize(element); end
465
+
466
+ sig { returns(Type) }
467
+ attr_reader :element
468
+
469
+ sig { abstract.returns(String) }
470
+ def collection_name; end
471
+
472
+ sig { override.returns(String) }
473
+ def generate_rbi; end
474
+
475
+ sig { override.returns(String) }
476
+ def generate_rbs; end
477
+
478
+ sig { override.returns(String) }
479
+ def describe; end
480
+ end
481
+
482
+ class Array < SingleElementCollection
483
+ sig { override.returns(String) }
484
+ def collection_name; end
485
+
486
+ sig { params(other: Object).returns(T::Boolean) }
487
+ def ==(other); end
488
+ end
489
+
490
+ class Set < SingleElementCollection
491
+ sig { override.returns(String) }
492
+ def collection_name; end
493
+
494
+ sig { params(other: Object).returns(T::Boolean) }
495
+ def ==(other); end
496
+ end
497
+
498
+ class Range < SingleElementCollection
499
+ sig { override.returns(String) }
500
+ def collection_name; end
501
+
502
+ sig { params(other: Object).returns(T::Boolean) }
503
+ def ==(other); end
504
+ end
505
+
506
+ class Enumerable < SingleElementCollection
507
+ sig { override.returns(String) }
508
+ def collection_name; end
509
+
510
+ sig { params(other: Object).returns(T::Boolean) }
511
+ def ==(other); end
512
+ end
513
+
514
+ class Enumerator < SingleElementCollection
515
+ sig { override.returns(String) }
516
+ def collection_name; end
517
+
518
+ sig { params(other: Object).returns(T::Boolean) }
519
+ def ==(other); end
520
+ end
521
+
522
+ class Hash < Type
523
+ sig { params(key: TypeLike, value: TypeLike).void }
524
+ def initialize(key, value); end
525
+
526
+ sig { params(other: Object).returns(T::Boolean) }
527
+ def ==(other); end
528
+
529
+ sig { returns(Type) }
530
+ attr_reader :key
531
+
532
+ sig { returns(Type) }
533
+ attr_reader :value
534
+
535
+ sig { override.returns(String) }
536
+ def generate_rbi; end
537
+
538
+ sig { override.returns(String) }
539
+ def generate_rbs; end
540
+
541
+ sig { override.returns(String) }
542
+ def describe; end
543
+ end
544
+
545
+ class Record < Type
546
+ sig { params(keys_to_types: T::Hash[Symbol, TypeLike]).void }
547
+ def initialize(keys_to_types); end
548
+
549
+ sig { params(other: Object).returns(T::Boolean) }
550
+ def ==(other); end
551
+
552
+ sig { returns(T::Hash[Symbol, Type]) }
553
+ attr_reader :keys_to_types
554
+
555
+ sig { override.returns(String) }
556
+ def generate_rbi; end
557
+
558
+ sig { override.returns(String) }
559
+ def generate_rbs; end
560
+
561
+ sig { override.returns(String) }
562
+ def describe; end
563
+ end
564
+
565
+ class Class < Type
566
+ sig { params(type: TypeLike).void }
567
+ def initialize(type); end
568
+
569
+ sig { params(other: Object).returns(T::Boolean) }
570
+ def ==(other); end
571
+
572
+ sig { returns(Type) }
573
+ attr_reader :type
574
+
575
+ sig { override.returns(String) }
576
+ def generate_rbi; end
577
+
578
+ sig { override.returns(String) }
579
+ def generate_rbs; end
580
+
581
+ sig { override.returns(String) }
582
+ def describe; end
583
+ end
584
+
585
+ class Boolean < Type
586
+ sig { params(other: Object).returns(T::Boolean) }
587
+ def ==(other); end
588
+
589
+ sig { override.returns(String) }
590
+ def generate_rbi; end
591
+
592
+ sig { override.returns(String) }
593
+ def generate_rbs; end
594
+
595
+ sig { override.returns(String) }
596
+ def describe; end
597
+ end
598
+
599
+ class Self < Type
600
+ sig { params(other: Object).returns(T::Boolean) }
601
+ def ==(other); end
602
+
603
+ sig { override.returns(String) }
604
+ def generate_rbi; end
605
+
606
+ sig { override.returns(String) }
607
+ def generate_rbs; end
608
+
609
+ sig { override.returns(String) }
610
+ def describe; end
611
+ end
612
+
613
+ class Untyped < Type
614
+ sig { params(other: Object).returns(T::Boolean) }
615
+ def ==(other); end
616
+
617
+ sig { override.returns(String) }
618
+ def generate_rbi; end
619
+
620
+ sig { override.returns(String) }
621
+ def generate_rbs; end
622
+
623
+ sig { override.returns(String) }
624
+ def describe; end
625
+ end
626
+
627
+ class Proc < Type
628
+ class Parameter
629
+ extend T::Sig
630
+
631
+ sig { params(name: String, type: TypeLike, default: T.nilable(String)).void }
632
+ def initialize(name, type, default = nil); end
633
+
634
+ sig { returns(String) }
635
+ attr_reader :name
636
+
637
+ sig { returns(Type) }
638
+ attr_reader :type
639
+
640
+ sig { returns(T.nilable(String)) }
641
+ attr_reader :default
642
+
643
+ sig { params(other: Object).returns(T::Boolean) }
644
+ def ==(other); end
645
+ end
646
+
647
+ sig { params(parameters: T::Array[Parameter], return_type: T.nilable(TypeLike)).void }
648
+ def initialize(parameters, return_type); end
649
+
650
+ sig { params(other: Object).returns(T::Boolean) }
651
+ def ==(other); end
652
+
653
+ sig { returns(T::Array[Parameter]) }
654
+ attr_reader :parameters
655
+
656
+ sig { returns(T.nilable(Type)) }
657
+ attr_reader :return_type
658
+
659
+ sig { override.returns(String) }
660
+ def generate_rbi; end
661
+
662
+ sig { override.returns(String) }
663
+ def generate_rbs; end
664
+
665
+ sig { override.returns(String) }
666
+ def describe; end
667
+ end
668
+ end
669
+
670
+ module Conversion
671
+ class Converter
672
+ abstract!
673
+
674
+ extend T::Sig
675
+ extend T::Helpers
676
+
677
+ sig { returns(T.untyped) }
678
+ def initialize; end
679
+
680
+ sig { returns(T::Array[[String, TypedObject]]) }
681
+ attr_reader :warnings
682
+
683
+ sig { params(msg: String, node: RbiGenerator::RbiObject).void }
684
+ def add_warning(msg, node); end
685
+ end
686
+
687
+ class RbiToRbs < Converter
688
+ extend T::Sig
689
+
690
+ sig { params(rbs_gen: RbsGenerator).void }
691
+ def initialize(rbs_gen); end
692
+
693
+ sig { returns(RbsGenerator) }
694
+ attr_reader :rbs_gen
695
+
696
+ sig { params(from: RbiGenerator::Namespace, to: RbsGenerator::Namespace).void }
697
+ def convert_all(from, to); end
698
+
699
+ sig { params(node: RbiGenerator::RbiObject, new_parent: RbsGenerator::Namespace).void }
700
+ def convert_object(node, new_parent); end
701
+ end
702
+ end
703
+
704
+ class RbiGenerator < Generator
705
+ Options = Parlour::Options
706
+
707
+ sig { params(hash: T.untyped).returns(T.untyped) }
708
+ def initialize(**hash); end
709
+
710
+ sig { returns(RbiGenerator::Namespace) }
711
+ attr_reader :root
712
+
713
+ sig { overridable.params(strictness: String).returns(String) }
714
+ def rbi(strictness = 'strong'); end
715
+
716
+ class Arbitrary < RbiObject
717
+ sig { params(generator: Generator, code: String, block: T.nilable(T.proc.params(x: Arbitrary).void)).void }
718
+ def initialize(generator, code: '', &block); end
719
+
720
+ sig { returns(String) }
721
+ attr_accessor :code
722
+
723
+ sig { params(other: Object).returns(T::Boolean) }
724
+ def ==(other); end
725
+
726
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
727
+ def generate_rbi(indent_level, options); end
728
+
729
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
730
+ def mergeable?(others); end
731
+
732
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
733
+ def merge_into_self(others); end
734
+
735
+ sig { override.returns(String) }
736
+ def describe; end
737
+
738
+ sig { override.void }
739
+ def generalize_from_rbi!; end
740
+ end
741
+
742
+ class Attribute < Method
743
+ sig do
744
+ params(
745
+ generator: Generator,
746
+ name: String,
747
+ kind: Symbol,
748
+ type: Types::TypeLike,
749
+ class_attribute: T::Boolean,
750
+ block: T.nilable(T.proc.params(x: Attribute).void)
751
+ ).void
752
+ end
753
+ def initialize(generator, name, kind, type, class_attribute: false, &block); end
754
+
755
+ sig { returns(Symbol) }
756
+ attr_reader :kind
757
+
758
+ sig { returns(T::Boolean) }
759
+ attr_reader :class_attribute
760
+
761
+ sig { returns(Types::TypeLike) }
762
+ attr_reader :type
763
+
764
+ sig { override.params(other: Object).returns(T::Boolean) }
765
+ def ==(other); end
766
+
767
+ sig { override.void }
768
+ def generalize_from_rbi!; end
769
+
770
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
771
+ def generate_definition(indent_level, options); end
772
+ end
773
+
774
+ class ClassNamespace < Namespace
775
+ extend T::Sig
776
+
777
+ sig do
778
+ params(
779
+ generator: Generator,
780
+ name: String,
781
+ final: T::Boolean,
782
+ sealed: T::Boolean,
783
+ superclass: T.nilable(String),
784
+ abstract: T::Boolean,
785
+ block: T.nilable(T.proc.params(x: ClassNamespace).void)
786
+ ).void
787
+ end
788
+ def initialize(generator, name, final, sealed, superclass, abstract, &block); end
789
+
790
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
791
+ def generate_rbi(indent_level, options); end
792
+
793
+ sig { returns(T.nilable(String)) }
794
+ attr_reader :superclass
795
+
796
+ sig { returns(T::Boolean) }
797
+ attr_reader :abstract
798
+
799
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
800
+ def mergeable?(others); end
801
+
802
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
803
+ def merge_into_self(others); end
804
+
805
+ sig { override.returns(String) }
806
+ def describe; end
807
+
808
+ sig { override.void }
809
+ def generalize_from_rbi!; end
810
+ end
811
+
812
+ class Constant < RbiObject
813
+ sig do
814
+ params(
815
+ generator: Generator,
816
+ name: String,
817
+ value: Types::TypeLike,
818
+ eigen_constant: T::Boolean,
819
+ block: T.nilable(T.proc.params(x: Constant).void)
820
+ ).void
821
+ end
822
+ def initialize(generator, name: '', value: '', eigen_constant: false, &block); end
823
+
824
+ sig { returns(Types::TypeLike) }
825
+ attr_reader :value
826
+
827
+ sig { returns(T.untyped) }
828
+ attr_reader :eigen_constant
829
+
830
+ sig { params(other: Object).returns(T::Boolean) }
831
+ def ==(other); end
832
+
833
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
834
+ def generate_rbi(indent_level, options); end
835
+
836
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
837
+ def mergeable?(others); end
838
+
839
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
840
+ def merge_into_self(others); end
841
+
842
+ sig { override.returns(String) }
843
+ def describe; end
844
+
845
+ sig { override.void }
846
+ def generalize_from_rbi!; end
847
+ end
848
+
849
+ class EnumClassNamespace < ClassNamespace
850
+ extend T::Sig
851
+
852
+ sig do
853
+ params(
854
+ generator: Generator,
855
+ name: String,
856
+ final: T::Boolean,
857
+ sealed: T::Boolean,
858
+ enums: T::Array[T.any([String, String], String)],
859
+ abstract: T::Boolean,
860
+ block: T.nilable(T.proc.params(x: EnumClassNamespace).void)
861
+ ).void
862
+ end
863
+ def initialize(generator, name, final, sealed, enums, abstract, &block); end
864
+
865
+ sig { returns(T::Array[T.any([String, String], String)]) }
866
+ attr_reader :enums
867
+
868
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
869
+ def generate_body(indent_level, options); end
870
+
871
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
872
+ def mergeable?(others); end
873
+
874
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
875
+ def merge_into_self(others); end
876
+
877
+ sig { override.void }
878
+ def generalize_from_rbi!; end
879
+ end
880
+
881
+ class Extend < RbiObject
882
+ sig { params(generator: Generator, name: String, block: T.nilable(T.proc.params(x: Extend).void)).void }
883
+ def initialize(generator, name: '', &block); end
884
+
885
+ sig { params(other: Object).returns(T::Boolean) }
886
+ def ==(other); end
887
+
888
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
889
+ def generate_rbi(indent_level, options); end
890
+
891
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
892
+ def mergeable?(others); end
893
+
894
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
895
+ def merge_into_self(others); end
896
+
897
+ sig { override.returns(String) }
898
+ def describe; end
899
+
900
+ sig { override.void }
901
+ def generalize_from_rbi!; end
902
+ end
903
+
904
+ class Include < RbiObject
905
+ sig { params(generator: Generator, name: String, block: T.nilable(T.proc.params(x: Include).void)).void }
906
+ def initialize(generator, name: '', &block); end
907
+
908
+ sig { params(other: Object).returns(T::Boolean) }
909
+ def ==(other); end
910
+
911
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
912
+ def generate_rbi(indent_level, options); end
913
+
914
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
915
+ def mergeable?(others); end
916
+
917
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
918
+ def merge_into_self(others); end
919
+
920
+ sig { override.returns(String) }
921
+ def describe; end
922
+
923
+ sig { override.void }
924
+ def generalize_from_rbi!; end
925
+ end
926
+
927
+ class Method < RbiObject
928
+ extend T::Sig
929
+
930
+ sig do
931
+ params(
932
+ generator: Generator,
933
+ name: String,
934
+ parameters: T::Array[Parameter],
935
+ return_type: T.nilable(Types::TypeLike),
936
+ abstract: T::Boolean,
937
+ implementation: T::Boolean,
938
+ override: T::Boolean,
939
+ overridable: T::Boolean,
940
+ class_method: T::Boolean,
941
+ final: T::Boolean,
942
+ type_parameters: T.nilable(T::Array[Symbol]),
943
+ block: T.nilable(T.proc.params(x: Method).void)
944
+ ).void
945
+ end
946
+ def initialize(generator, name, parameters, return_type = nil, abstract: false, implementation: false, override: false, overridable: false, class_method: false, final: false, type_parameters: nil, &block); end
947
+
948
+ sig { overridable.params(other: Object).returns(T::Boolean) }
949
+ def ==(other); end
950
+
951
+ sig { returns(T::Array[Parameter]) }
952
+ attr_reader :parameters
953
+
954
+ sig { returns(T.nilable(Types::TypeLike)) }
955
+ attr_reader :return_type
956
+
957
+ sig { returns(T::Boolean) }
958
+ attr_reader :abstract
959
+
960
+ sig { returns(T::Boolean) }
961
+ attr_reader :implementation
962
+
963
+ sig { returns(T::Boolean) }
964
+ attr_reader :override
965
+
966
+ sig { returns(T::Boolean) }
967
+ attr_reader :overridable
968
+
969
+ sig { returns(T::Boolean) }
970
+ attr_reader :class_method
971
+
972
+ sig { returns(T::Boolean) }
973
+ attr_reader :final
974
+
975
+ sig { returns(T::Array[Symbol]) }
976
+ attr_reader :type_parameters
977
+
978
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
979
+ def generate_rbi(indent_level, options); end
980
+
981
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
982
+ def mergeable?(others); end
983
+
984
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
985
+ def merge_into_self(others); end
986
+
987
+ sig { override.returns(String) }
988
+ def describe; end
989
+
990
+ sig { override.void }
991
+ def generalize_from_rbi!; end
992
+
993
+ sig { overridable.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
994
+ def generate_definition(indent_level, options); end
995
+
996
+ sig { returns(String) }
997
+ def qualifiers; end
998
+ end
999
+
1000
+ class ModuleNamespace < Namespace
1001
+ extend T::Sig
1002
+
1003
+ sig do
1004
+ params(
1005
+ generator: Generator,
1006
+ name: String,
1007
+ final: T::Boolean,
1008
+ sealed: T::Boolean,
1009
+ interface: T::Boolean,
1010
+ abstract: T::Boolean,
1011
+ block: T.nilable(T.proc.params(x: ClassNamespace).void)
1012
+ ).void
1013
+ end
1014
+ def initialize(generator, name, final, sealed, interface, abstract, &block); end
1015
+
1016
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1017
+ def generate_rbi(indent_level, options); end
1018
+
1019
+ sig { returns(T::Boolean) }
1020
+ attr_reader :interface
1021
+
1022
+ sig { returns(T::Boolean) }
1023
+ attr_reader :abstract
1024
+
1025
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
1026
+ def mergeable?(others); end
1027
+
1028
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
1029
+ def merge_into_self(others); end
1030
+
1031
+ sig { override.returns(String) }
1032
+ def describe; end
1033
+
1034
+ sig { override.void }
1035
+ def generalize_from_rbi!; end
1036
+ end
1037
+
1038
+ class Namespace < RbiObject
1039
+ extend T::Sig
1040
+
1041
+ sig { override.overridable.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1042
+ def generate_rbi(indent_level, options); end
1043
+
1044
+ sig do
1045
+ params(
1046
+ generator: Generator,
1047
+ name: T.nilable(String),
1048
+ final: T::Boolean,
1049
+ sealed: T::Boolean,
1050
+ block: T.nilable(T.proc.params(x: Namespace).void)
1051
+ ).void
1052
+ end
1053
+ def initialize(generator, name = nil, final = false, sealed = false, &block); end
1054
+
1055
+ sig { returns(T::Boolean) }
1056
+ attr_reader :final
1057
+
1058
+ sig { returns(T::Boolean) }
1059
+ attr_reader :sealed
1060
+
1061
+ sig { returns(T::Array[RbiObject]) }
1062
+ attr_reader :children
1063
+
1064
+ sig { returns(T::Array[RbiGenerator::Extend]) }
1065
+ def extends; end
1066
+
1067
+ sig { returns(T::Array[RbiGenerator::Include]) }
1068
+ def includes; end
1069
+
1070
+ sig { returns(T::Array[RbiGenerator::TypeAlias]) }
1071
+ def aliases; end
1072
+
1073
+ sig { returns(T::Array[RbiGenerator::Constant]) }
1074
+ def constants; end
1075
+
1076
+ sig { params(constant: Module, block: T.proc.params(x: Namespace).void).void }
1077
+ def path(constant, &block); end
1078
+
1079
+ sig { params(comment: T.any(String, T::Array[String])).void }
1080
+ def add_comment_to_next_child(comment); end
1081
+
1082
+ sig do
1083
+ params(
1084
+ name: String,
1085
+ final: T::Boolean,
1086
+ sealed: T::Boolean,
1087
+ superclass: T.nilable(String),
1088
+ abstract: T::Boolean,
1089
+ block: T.nilable(T.proc.params(x: ClassNamespace).void)
1090
+ ).returns(ClassNamespace)
1091
+ end
1092
+ def create_class(name, final: false, sealed: false, superclass: nil, abstract: false, &block); end
1093
+
1094
+ sig do
1095
+ params(
1096
+ name: String,
1097
+ final: T::Boolean,
1098
+ sealed: T::Boolean,
1099
+ enums: T.nilable(T::Array[T.any([String, String], String)]),
1100
+ abstract: T::Boolean,
1101
+ block: T.nilable(T.proc.params(x: EnumClassNamespace).void)
1102
+ ).returns(EnumClassNamespace)
1103
+ end
1104
+ def create_enum_class(name, final: false, sealed: false, enums: nil, abstract: false, &block); end
1105
+
1106
+ sig do
1107
+ params(
1108
+ name: String,
1109
+ final: T::Boolean,
1110
+ sealed: T::Boolean,
1111
+ props: T.nilable(T::Array[StructProp]),
1112
+ abstract: T::Boolean,
1113
+ block: T.nilable(T.proc.params(x: StructClassNamespace).void)
1114
+ ).returns(StructClassNamespace)
1115
+ end
1116
+ def create_struct_class(name, final: false, sealed: false, props: nil, abstract: false, &block); end
1117
+
1118
+ sig do
1119
+ params(
1120
+ name: String,
1121
+ final: T::Boolean,
1122
+ sealed: T::Boolean,
1123
+ interface: T::Boolean,
1124
+ abstract: T::Boolean,
1125
+ block: T.nilable(T.proc.params(x: ClassNamespace).void)
1126
+ ).returns(ModuleNamespace)
1127
+ end
1128
+ def create_module(name, final: false, sealed: false, interface: false, abstract: false, &block); end
1129
+
1130
+ sig do
1131
+ params(
1132
+ name: String,
1133
+ parameters: T.nilable(T::Array[Parameter]),
1134
+ return_type: T.nilable(Types::TypeLike),
1135
+ returns: T.nilable(Types::TypeLike),
1136
+ abstract: T::Boolean,
1137
+ implementation: T::Boolean,
1138
+ override: T::Boolean,
1139
+ overridable: T::Boolean,
1140
+ class_method: T::Boolean,
1141
+ final: T::Boolean,
1142
+ type_parameters: T.nilable(T::Array[Symbol]),
1143
+ block: T.nilable(T.proc.params(x: Method).void)
1144
+ ).returns(Method)
1145
+ end
1146
+ def create_method(name, parameters: nil, return_type: nil, returns: nil, abstract: false, implementation: false, override: false, overridable: false, class_method: false, final: false, type_parameters: nil, &block); end
1147
+
1148
+ sig do
1149
+ params(
1150
+ name: String,
1151
+ kind: Symbol,
1152
+ type: Types::TypeLike,
1153
+ class_attribute: T::Boolean,
1154
+ block: T.nilable(T.proc.params(x: Attribute).void)
1155
+ ).returns(Attribute)
1156
+ end
1157
+ def create_attribute(name, kind:, type:, class_attribute: false, &block); end
1158
+
1159
+ sig do
1160
+ params(
1161
+ name: String,
1162
+ type: Types::TypeLike,
1163
+ class_attribute: T::Boolean,
1164
+ block: T.nilable(T.proc.params(x: Attribute).void)
1165
+ ).returns(Attribute)
1166
+ end
1167
+ def create_attr_reader(name, type:, class_attribute: false, &block); end
1168
+
1169
+ sig do
1170
+ params(
1171
+ name: String,
1172
+ type: Types::TypeLike,
1173
+ class_attribute: T::Boolean,
1174
+ block: T.nilable(T.proc.params(x: Attribute).void)
1175
+ ).returns(Attribute)
1176
+ end
1177
+ def create_attr_writer(name, type:, class_attribute: false, &block); end
1178
+
1179
+ sig do
1180
+ params(
1181
+ name: String,
1182
+ type: Types::TypeLike,
1183
+ class_attribute: T::Boolean,
1184
+ block: T.nilable(T.proc.params(x: Attribute).void)
1185
+ ).returns(Attribute)
1186
+ end
1187
+ def create_attr_accessor(name, type:, class_attribute: false, &block); end
1188
+
1189
+ sig { params(code: T.untyped, block: T.untyped).returns(T.untyped) }
1190
+ def create_arbitrary(code:, &block); end
1191
+
1192
+ sig { params(name: String, block: T.nilable(T.proc.params(x: Extend).void)).returns(RbiGenerator::Extend) }
1193
+ def create_extend(name, &block); end
1194
+
1195
+ sig { params(extendables: T::Array[String]).returns(T::Array[Extend]) }
1196
+ def create_extends(extendables); end
1197
+
1198
+ sig { params(name: String, block: T.nilable(T.proc.params(x: Include).void)).returns(Include) }
1199
+ def create_include(name, &block); end
1200
+
1201
+ sig { params(includables: T::Array[String]).returns(T::Array[Include]) }
1202
+ def create_includes(includables); end
1203
+
1204
+ sig do
1205
+ params(
1206
+ name: String,
1207
+ value: String,
1208
+ eigen_constant: T::Boolean,
1209
+ block: T.nilable(T.proc.params(x: Constant).void)
1210
+ ).returns(Constant)
1211
+ end
1212
+ def create_constant(name, value:, eigen_constant: false, &block); end
1213
+
1214
+ sig { params(name: String, type: Types::TypeLike, block: T.nilable(T.proc.params(x: TypeAlias).void)).returns(TypeAlias) }
1215
+ def create_type_alias(name, type:, &block); end
1216
+
1217
+ sig { override.overridable.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
1218
+ def mergeable?(others); end
1219
+
1220
+ sig { override.overridable.params(others: T::Array[RbiGenerator::RbiObject]).void }
1221
+ def merge_into_self(others); end
1222
+
1223
+ sig { override.overridable.returns(String) }
1224
+ def describe; end
1225
+
1226
+ sig { override.void }
1227
+ def generalize_from_rbi!; end
1228
+
1229
+ sig { overridable.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1230
+ def generate_body(indent_level, options); end
1231
+
1232
+ sig { params(object: RbiObject).void }
1233
+ def move_next_comments(object); end
1234
+ end
1235
+
1236
+ class Parameter
1237
+ extend T::Sig
1238
+ PREFIXES = T.let({
1239
+ normal: '',
1240
+ splat: '*',
1241
+ double_splat: '**',
1242
+ block: '&'
1243
+ }.freeze, T::Hash[Symbol, String])
1244
+
1245
+ sig { params(name: String, type: T.nilable(Types::TypeLike), default: T.nilable(String)).void }
1246
+ def initialize(name, type: nil, default: nil); end
1247
+
1248
+ sig { params(other: Object).returns(T::Boolean) }
1249
+ def ==(other); end
1250
+
1251
+ sig { returns(String) }
1252
+ attr_reader :name
1253
+
1254
+ sig { returns(String) }
1255
+ def name_without_kind; end
1256
+
1257
+ sig { returns(Types::TypeLike) }
1258
+ attr_reader :type
1259
+
1260
+ sig { returns(T.nilable(String)) }
1261
+ attr_reader :default
1262
+
1263
+ sig { returns(Symbol) }
1264
+ attr_reader :kind
1265
+
1266
+ sig { returns(String) }
1267
+ def to_def_param; end
1268
+
1269
+ sig { returns(String) }
1270
+ def to_sig_param; end
1271
+
1272
+ sig { void }
1273
+ def generalize_from_rbi!; end
1274
+ end
1275
+
1276
+ class RbiObject < TypedObject
1277
+ abstract!
1278
+
1279
+ sig { params(generator: Generator, name: String).void }
1280
+ def initialize(generator, name); end
1281
+
1282
+ sig { returns(Generator) }
1283
+ attr_reader :generator
1284
+
1285
+ sig { abstract.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1286
+ def generate_rbi(indent_level, options); end
1287
+
1288
+ sig { abstract.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
1289
+ def mergeable?(others); end
1290
+
1291
+ sig { abstract.params(others: T::Array[RbiGenerator::RbiObject]).void }
1292
+ def merge_into_self(others); end
1293
+
1294
+ sig { override.overridable.returns(String) }
1295
+ def describe; end
1296
+
1297
+ sig { abstract.void }
1298
+ def generalize_from_rbi!; end
1299
+ end
1300
+
1301
+ class StructClassNamespace < ClassNamespace
1302
+ extend T::Sig
1303
+
1304
+ sig do
1305
+ params(
1306
+ generator: Generator,
1307
+ name: String,
1308
+ final: T::Boolean,
1309
+ sealed: T::Boolean,
1310
+ props: T::Array[StructProp],
1311
+ abstract: T::Boolean,
1312
+ block: T.nilable(T.proc.params(x: StructClassNamespace).void)
1313
+ ).void
1314
+ end
1315
+ def initialize(generator, name, final, sealed, props, abstract, &block); end
1316
+
1317
+ sig { returns(T::Array[StructProp]) }
1318
+ attr_reader :props
1319
+
1320
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1321
+ def generate_body(indent_level, options); end
1322
+
1323
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
1324
+ def mergeable?(others); end
1325
+
1326
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
1327
+ def merge_into_self(others); end
1328
+
1329
+ sig { override.void }
1330
+ def generalize_from_rbi!; end
1331
+ end
1332
+
1333
+ class StructProp
1334
+ extend T::Sig
1335
+ EXTRA_PROPERTIES = T.let(%i{
1336
+ optional enum dont_store foreign default factory immutable array override redaction
1337
+ }, T::Array[Symbol])
1338
+
1339
+ sig do
1340
+ params(
1341
+ name: String,
1342
+ type: Types::TypeLike,
1343
+ optional: T.nilable(T.any(T::Boolean, Symbol)),
1344
+ enum: T.nilable(String),
1345
+ dont_store: T.nilable(T::Boolean),
1346
+ foreign: T.nilable(String),
1347
+ default: T.nilable(String),
1348
+ factory: T.nilable(String),
1349
+ immutable: T.nilable(T::Boolean),
1350
+ array: T.nilable(String),
1351
+ override: T.nilable(T::Boolean),
1352
+ redaction: T.nilable(String)
1353
+ ).void
1354
+ end
1355
+ def initialize(name, type, optional: nil, enum: nil, dont_store: nil, foreign: nil, default: nil, factory: nil, immutable: nil, array: nil, override: nil, redaction: nil); end
1356
+
1357
+ sig { params(other: Object).returns(T::Boolean) }
1358
+ def ==(other); end
1359
+
1360
+ sig { returns(String) }
1361
+ attr_reader :name
1362
+
1363
+ sig { returns(Types::TypeLike) }
1364
+ attr_reader :type
1365
+
1366
+ sig { returns(T.nilable(T.any(T::Boolean, Symbol))) }
1367
+ attr_reader :optional
1368
+
1369
+ sig { returns(T.nilable(String)) }
1370
+ attr_reader :enum
1371
+
1372
+ sig { returns(T.nilable(T::Boolean)) }
1373
+ attr_reader :dont_store
1374
+
1375
+ sig { returns(T.nilable(String)) }
1376
+ attr_reader :foreign
1377
+
1378
+ sig { returns(T.nilable(String)) }
1379
+ attr_reader :default
1380
+
1381
+ sig { returns(T.nilable(String)) }
1382
+ attr_reader :factory
1383
+
1384
+ sig { returns(T.nilable(T::Boolean)) }
1385
+ attr_reader :immutable
1386
+
1387
+ sig { returns(T.nilable(String)) }
1388
+ attr_reader :array
1389
+
1390
+ sig { returns(T.nilable(T::Boolean)) }
1391
+ attr_reader :override
1392
+
1393
+ sig { returns(T.nilable(String)) }
1394
+ attr_reader :redaction
1395
+
1396
+ sig { returns(String) }
1397
+ def to_prop_call; end
1398
+
1399
+ sig { void }
1400
+ def generalize_from_rbi!; end
1401
+ end
1402
+
1403
+ class TypeAlias < RbiObject
1404
+ sig do
1405
+ params(
1406
+ generator: Generator,
1407
+ name: String,
1408
+ type: Types::TypeLike,
1409
+ block: T.nilable(T.proc.params(x: TypeAlias).void)
1410
+ ).void
1411
+ end
1412
+ def initialize(generator, name:, type:, &block); end
1413
+
1414
+ sig { returns(Types::TypeLike) }
1415
+ attr_reader :type
1416
+
1417
+ sig { params(other: Object).returns(T::Boolean) }
1418
+ def ==(other); end
1419
+
1420
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1421
+ def generate_rbi(indent_level, options); end
1422
+
1423
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).returns(T::Boolean) }
1424
+ def mergeable?(others); end
1425
+
1426
+ sig { override.params(others: T::Array[RbiGenerator::RbiObject]).void }
1427
+ def merge_into_self(others); end
1428
+
1429
+ sig { override.returns(String) }
1430
+ def describe; end
1431
+
1432
+ sig { override.void }
1433
+ def generalize_from_rbi!; end
1434
+ end
1435
+ end
1436
+
1437
+ class RbsGenerator < Generator
1438
+ sig { params(hash: T.untyped).returns(T.untyped) }
1439
+ def initialize(**hash); end
1440
+
1441
+ sig { returns(RbsGenerator::Namespace) }
1442
+ attr_reader :root
1443
+
1444
+ sig { overridable.returns(String) }
1445
+ def rbs; end
1446
+
1447
+ class Arbitrary < RbsObject
1448
+ sig { params(generator: Generator, code: String, block: T.nilable(T.proc.params(x: Arbitrary).void)).void }
1449
+ def initialize(generator, code: '', &block); end
1450
+
1451
+ sig { returns(String) }
1452
+ attr_accessor :code
1453
+
1454
+ sig { params(other: Object).returns(T::Boolean) }
1455
+ def ==(other); end
1456
+
1457
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1458
+ def generate_rbs(indent_level, options); end
1459
+
1460
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
1461
+ def mergeable?(others); end
1462
+
1463
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
1464
+ def merge_into_self(others); end
1465
+
1466
+ sig { override.returns(String) }
1467
+ def describe; end
1468
+ end
1469
+
1470
+ class Attribute < RbsGenerator::Method
1471
+ extend T::Sig
1472
+
1473
+ sig do
1474
+ params(
1475
+ generator: Generator,
1476
+ name: String,
1477
+ kind: Symbol,
1478
+ type: Types::TypeLike,
1479
+ block: T.nilable(T.proc.params(x: Attribute).void)
1480
+ ).void
1481
+ end
1482
+ def initialize(generator, name, kind, type, &block); end
1483
+
1484
+ sig { returns(Symbol) }
1485
+ attr_reader :kind
1486
+
1487
+ sig { returns(Types::TypeLike) }
1488
+ attr_reader :type
1489
+
1490
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1491
+ def generate_rbs(indent_level, options); end
1492
+
1493
+ sig { override.params(other: Object).returns(T::Boolean) }
1494
+ def ==(other); end
1495
+ end
1496
+
1497
+ class Block
1498
+ extend T::Sig
1499
+
1500
+ sig { params(type: Types::Proc, required: T::Boolean).void }
1501
+ def initialize(type, required); end
1502
+
1503
+ sig { overridable.params(other: Object).returns(T::Boolean) }
1504
+ def ==(other); end
1505
+
1506
+ sig { returns(Types::Proc) }
1507
+ attr_reader :type
1508
+
1509
+ sig { returns(T::Boolean) }
1510
+ attr_reader :required
1511
+
1512
+ sig { params(options: Options).returns(T::Array[String]) }
1513
+ def generate_rbs(options); end
1514
+ end
1515
+
1516
+ class ClassNamespace < Namespace
1517
+ extend T::Sig
1518
+
1519
+ sig do
1520
+ params(
1521
+ generator: Generator,
1522
+ name: String,
1523
+ superclass: T.nilable(Types::TypeLike),
1524
+ block: T.nilable(T.proc.params(x: ClassNamespace).void)
1525
+ ).void
1526
+ end
1527
+ def initialize(generator, name, superclass, &block); end
1528
+
1529
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1530
+ def generate_rbs(indent_level, options); end
1531
+
1532
+ sig { returns(T.nilable(Types::TypeLike)) }
1533
+ attr_reader :superclass
1534
+
1535
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
1536
+ def mergeable?(others); end
1537
+
1538
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
1539
+ def merge_into_self(others); end
1540
+
1541
+ sig { override.returns(String) }
1542
+ def describe; end
1543
+ end
1544
+
1545
+ class Constant < RbsObject
1546
+ sig do
1547
+ params(
1548
+ generator: Generator,
1549
+ name: String,
1550
+ type: Types::TypeLike,
1551
+ block: T.nilable(T.proc.params(x: Constant).void)
1552
+ ).void
1553
+ end
1554
+ def initialize(generator, name, type:, &block); end
1555
+
1556
+ sig { returns(Types::TypeLike) }
1557
+ attr_reader :type
1558
+
1559
+ sig { params(other: Object).returns(T::Boolean) }
1560
+ def ==(other); end
1561
+
1562
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1563
+ def generate_rbs(indent_level, options); end
1564
+
1565
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
1566
+ def mergeable?(others); end
1567
+
1568
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
1569
+ def merge_into_self(others); end
1570
+
1571
+ sig { override.returns(String) }
1572
+ def describe; end
1573
+ end
1574
+
1575
+ class Extend < RbsObject
1576
+ sig { params(generator: Generator, type: Types::TypeLike, block: T.nilable(T.proc.params(x: Extend).void)).void }
1577
+ def initialize(generator, type:, &block); end
1578
+
1579
+ sig { params(other: Object).returns(T::Boolean) }
1580
+ def ==(other); end
1581
+
1582
+ sig { returns(Types::TypeLike) }
1583
+ attr_reader :type
1584
+
1585
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1586
+ def generate_rbs(indent_level, options); end
1587
+
1588
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
1589
+ def mergeable?(others); end
1590
+
1591
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
1592
+ def merge_into_self(others); end
1593
+
1594
+ sig { override.returns(String) }
1595
+ def describe; end
1596
+ end
1597
+
1598
+ class Include < RbsObject
1599
+ sig { params(generator: Generator, type: Types::TypeLike, block: T.nilable(T.proc.params(x: Include).void)).void }
1600
+ def initialize(generator, type:, &block); end
1601
+
1602
+ sig { params(other: Object).returns(T::Boolean) }
1603
+ def ==(other); end
1604
+
1605
+ sig { returns(Types::TypeLike) }
1606
+ attr_reader :type
1607
+
1608
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1609
+ def generate_rbs(indent_level, options); end
1610
+
1611
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
1612
+ def mergeable?(others); end
1613
+
1614
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
1615
+ def merge_into_self(others); end
1616
+
1617
+ sig { override.returns(String) }
1618
+ def describe; end
1619
+ end
1620
+
1621
+ class InterfaceNamespace < Namespace
1622
+ extend T::Sig
1623
+
1624
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1625
+ def generate_rbs(indent_level, options); end
1626
+
1627
+ sig { override.returns(String) }
1628
+ def describe; end
1629
+ end
1630
+
1631
+ class Method < RbsObject
1632
+ extend T::Sig
1633
+
1634
+ sig do
1635
+ params(
1636
+ generator: Generator,
1637
+ name: String,
1638
+ signatures: T::Array[MethodSignature],
1639
+ class_method: T::Boolean,
1640
+ block: T.nilable(T.proc.params(x: Method).void)
1641
+ ).void
1642
+ end
1643
+ def initialize(generator, name, signatures, class_method: false, &block); end
1644
+
1645
+ sig { overridable.params(other: Object).returns(T::Boolean) }
1646
+ def ==(other); end
1647
+
1648
+ sig { returns(T::Array[MethodSignature]) }
1649
+ attr_reader :signatures
1650
+
1651
+ sig { returns(T::Boolean) }
1652
+ attr_reader :class_method
1653
+
1654
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1655
+ def generate_rbs(indent_level, options); end
1656
+
1657
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
1658
+ def mergeable?(others); end
1659
+
1660
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
1661
+ def merge_into_self(others); end
1662
+
1663
+ sig { override.returns(String) }
1664
+ def describe; end
1665
+ end
1666
+
1667
+ class MethodSignature
1668
+ extend T::Sig
1669
+
1670
+ sig do
1671
+ params(
1672
+ parameters: T::Array[Parameter],
1673
+ return_type: T.nilable(Types::TypeLike),
1674
+ block: T.nilable(Block),
1675
+ type_parameters: T.nilable(T::Array[Symbol])
1676
+ ).void
1677
+ end
1678
+ def initialize(parameters, return_type = nil, block: nil, type_parameters: nil); end
1679
+
1680
+ sig { overridable.params(other: Object).returns(T::Boolean) }
1681
+ def ==(other); end
1682
+
1683
+ sig { returns(T::Array[Parameter]) }
1684
+ attr_reader :parameters
1685
+
1686
+ sig { returns(T.nilable(Types::TypeLike)) }
1687
+ attr_reader :return_type
1688
+
1689
+ sig { returns(T.nilable(Block)) }
1690
+ attr_reader :block
1691
+
1692
+ sig { returns(T::Array[Symbol]) }
1693
+ attr_reader :type_parameters
1694
+
1695
+ sig { params(options: Options).returns(T::Array[String]) }
1696
+ def generate_rbs(options); end
1697
+ end
1698
+
1699
+ class ModuleNamespace < Namespace
1700
+ extend T::Sig
1701
+
1702
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1703
+ def generate_rbs(indent_level, options); end
1704
+
1705
+ sig { override.returns(String) }
1706
+ def describe; end
1707
+ end
1708
+
1709
+ class Namespace < RbsObject
1710
+ extend T::Sig
1711
+
1712
+ sig { override.overridable.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1713
+ def generate_rbs(indent_level, options); end
1714
+
1715
+ sig { params(generator: Generator, name: T.nilable(String), block: T.nilable(T.proc.params(x: Namespace).void)).void }
1716
+ def initialize(generator, name = nil, &block); end
1717
+
1718
+ sig { returns(T::Array[RbsObject]) }
1719
+ attr_reader :children
1720
+
1721
+ sig { returns(T::Array[RbsGenerator::Extend]) }
1722
+ def extends; end
1723
+
1724
+ sig { returns(T::Array[RbsGenerator::Include]) }
1725
+ def includes; end
1726
+
1727
+ sig { returns(T::Array[RbsGenerator::TypeAlias]) }
1728
+ def aliases; end
1729
+
1730
+ sig { returns(T::Array[RbsGenerator::Constant]) }
1731
+ def constants; end
1732
+
1733
+ sig { params(object: T.untyped, block: T.proc.params(x: Namespace).void).void }
1734
+ def path(object, &block); end
1735
+
1736
+ sig { params(comment: T.any(String, T::Array[String])).void }
1737
+ def add_comment_to_next_child(comment); end
1738
+
1739
+ sig { params(name: String, superclass: T.nilable(Types::TypeLike), block: T.nilable(T.proc.params(x: ClassNamespace).void)).returns(ClassNamespace) }
1740
+ def create_class(name, superclass: nil, &block); end
1741
+
1742
+ sig { params(name: String, block: T.nilable(T.proc.params(x: Namespace).void)).returns(ModuleNamespace) }
1743
+ def create_module(name, &block); end
1744
+
1745
+ sig { params(name: String, block: T.nilable(T.proc.params(x: Namespace).void)).returns(InterfaceNamespace) }
1746
+ def create_interface(name, &block); end
1747
+
1748
+ sig do
1749
+ params(
1750
+ name: String,
1751
+ signatures: T.nilable(T::Array[MethodSignature]),
1752
+ class_method: T::Boolean,
1753
+ block: T.nilable(T.proc.params(x: Method).void)
1754
+ ).returns(Method)
1755
+ end
1756
+ def create_method(name, signatures = nil, class_method: false, &block); end
1757
+
1758
+ sig do
1759
+ params(
1760
+ name: String,
1761
+ kind: Symbol,
1762
+ type: Types::TypeLike,
1763
+ block: T.nilable(T.proc.params(x: Attribute).void)
1764
+ ).returns(Attribute)
1765
+ end
1766
+ def create_attribute(name, kind:, type:, &block); end
1767
+
1768
+ sig { params(name: String, type: Types::TypeLike, block: T.nilable(T.proc.params(x: Attribute).void)).returns(Attribute) }
1769
+ def create_attr_reader(name, type:, &block); end
1770
+
1771
+ sig { params(name: String, type: Types::TypeLike, block: T.nilable(T.proc.params(x: Attribute).void)).returns(Attribute) }
1772
+ def create_attr_writer(name, type:, &block); end
1773
+
1774
+ sig { params(name: String, type: Types::TypeLike, block: T.nilable(T.proc.params(x: Attribute).void)).returns(Attribute) }
1775
+ def create_attr_accessor(name, type:, &block); end
1776
+
1777
+ sig { params(code: T.untyped, block: T.untyped).returns(T.untyped) }
1778
+ def create_arbitrary(code:, &block); end
1779
+
1780
+ sig { params(type: Types::TypeLike, block: T.nilable(T.proc.params(x: Extend).void)).returns(RbsGenerator::Extend) }
1781
+ def create_extend(type, &block); end
1782
+
1783
+ sig { params(extendables: T::Array[Types::TypeLike]).returns(T::Array[Extend]) }
1784
+ def create_extends(extendables); end
1785
+
1786
+ sig { params(type: Types::TypeLike, block: T.nilable(T.proc.params(x: Include).void)).returns(Include) }
1787
+ def create_include(type, &block); end
1788
+
1789
+ sig { params(includables: T::Array[Types::TypeLike]).returns(T::Array[Include]) }
1790
+ def create_includes(includables); end
1791
+
1792
+ sig { params(name: String, type: Types::TypeLike, block: T.nilable(T.proc.params(x: Constant).void)).returns(Constant) }
1793
+ def create_constant(name, type:, &block); end
1794
+
1795
+ sig { params(name: String, type: Types::TypeLike, block: T.nilable(T.proc.params(x: TypeAlias).void)).returns(TypeAlias) }
1796
+ def create_type_alias(name, type:, &block); end
1797
+
1798
+ sig { override.overridable.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
1799
+ def mergeable?(others); end
1800
+
1801
+ sig { override.overridable.params(others: T::Array[RbsGenerator::RbsObject]).void }
1802
+ def merge_into_self(others); end
1803
+
1804
+ sig { override.overridable.returns(String) }
1805
+ def describe; end
1806
+
1807
+ sig { overridable.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1808
+ def generate_body(indent_level, options); end
1809
+
1810
+ sig { params(object: RbsObject).void }
1811
+ def move_next_comments(object); end
1812
+ end
1813
+
1814
+ class Parameter
1815
+ extend T::Sig
1816
+ RBS_KEYWORDS = [
1817
+ 'type', 'interface', 'out', 'in', 'instance', 'extension', 'top', 'bot',
1818
+ 'self', 'nil', 'void'
1819
+ ]
1820
+ PREFIXES = {
1821
+ normal: '',
1822
+ splat: '*',
1823
+ double_splat: '**',
1824
+ }.freeze
1825
+
1826
+ sig { params(name: String, type: T.nilable(Types::TypeLike), required: T::Boolean).void }
1827
+ def initialize(name, type: nil, required: true); end
1828
+
1829
+ sig { params(other: Object).returns(T::Boolean) }
1830
+ def ==(other); end
1831
+
1832
+ sig { returns(String) }
1833
+ attr_reader :name
1834
+
1835
+ sig { returns(String) }
1836
+ def name_without_kind; end
1837
+
1838
+ sig { returns(Types::TypeLike) }
1839
+ attr_reader :type
1840
+
1841
+ sig { returns(T::Boolean) }
1842
+ attr_reader :required
1843
+
1844
+ sig { returns(Symbol) }
1845
+ attr_reader :kind
1846
+
1847
+ sig { returns(String) }
1848
+ def to_rbs_param; end
1849
+ end
1850
+
1851
+ class RbsObject < TypedObject
1852
+ abstract!
1853
+
1854
+ sig { params(generator: Generator, name: String).void }
1855
+ def initialize(generator, name); end
1856
+
1857
+ sig { returns(Generator) }
1858
+ attr_reader :generator
1859
+
1860
+ sig { abstract.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1861
+ def generate_rbs(indent_level, options); end
1862
+
1863
+ sig { abstract.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
1864
+ def mergeable?(others); end
1865
+
1866
+ sig { abstract.params(others: T::Array[RbsGenerator::RbsObject]).void }
1867
+ def merge_into_self(others); end
1868
+
1869
+ sig { override.overridable.returns(String) }
1870
+ def describe; end
1871
+ end
1872
+
1873
+ class TypeAlias < RbsObject
1874
+ sig do
1875
+ params(
1876
+ generator: Generator,
1877
+ name: String,
1878
+ type: Types::TypeLike,
1879
+ block: T.nilable(T.proc.params(x: TypeAlias).void)
1880
+ ).void
1881
+ end
1882
+ def initialize(generator, name:, type:, &block); end
1883
+
1884
+ sig { returns(Types::TypeLike) }
1885
+ attr_reader :type
1886
+
1887
+ sig { params(other: Object).returns(T::Boolean) }
1888
+ def ==(other); end
1889
+
1890
+ sig { override.params(indent_level: Integer, options: Options).returns(T::Array[String]) }
1891
+ def generate_rbs(indent_level, options); end
1892
+
1893
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).returns(T::Boolean) }
1894
+ def mergeable?(others); end
1895
+
1896
+ sig { override.params(others: T::Array[RbsGenerator::RbsObject]).void }
1897
+ def merge_into_self(others); end
1898
+
1899
+ sig { override.returns(String) }
1900
+ def describe; end
1901
+ end
1902
+ end
1903
+ end