alchemrest 3.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 (245) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +22 -0
  4. data/.rubocop_todo.yml +242 -0
  5. data/.ruby-version +1 -0
  6. data/Appraisals +19 -0
  7. data/Gemfile +6 -0
  8. data/Gemfile.lock +378 -0
  9. data/Rakefile +29 -0
  10. data/alchemrest.gemspec +71 -0
  11. data/coach.yml +5 -0
  12. data/examples/bank_api/client.rb +31 -0
  13. data/examples/bank_api/data/account.rb +21 -0
  14. data/examples/bank_api/data/ach.rb +16 -0
  15. data/examples/bank_api/data/business_account.rb +22 -0
  16. data/examples/bank_api/data/card.rb +21 -0
  17. data/examples/bank_api/data/check.rb +19 -0
  18. data/examples/bank_api/data/product.rb +20 -0
  19. data/examples/bank_api/data/transaction.rb +49 -0
  20. data/examples/bank_api/data/user.rb +27 -0
  21. data/examples/bank_api/factories.rb +68 -0
  22. data/examples/bank_api/graph_visualization.rb +45 -0
  23. data/examples/bank_api/positive_interest_string.rb +33 -0
  24. data/examples/bank_api/requests/delete_user.rb +17 -0
  25. data/examples/bank_api/requests/get_business_account.rb +24 -0
  26. data/examples/bank_api/requests/get_products.rb +12 -0
  27. data/examples/bank_api/requests/get_transactions.rb +34 -0
  28. data/examples/bank_api/requests/get_user.rb +19 -0
  29. data/examples/bank_api/requests/post_transaction.rb +20 -0
  30. data/examples/bank_api/requests/update_user.rb +28 -0
  31. data/examples/bank_api/root.rb +52 -0
  32. data/examples/bank_api.rb +33 -0
  33. data/gemfiles/faraday_2.gemfile +9 -0
  34. data/gemfiles/faraday_2.gemfile.lock +363 -0
  35. data/gemfiles/rails_7_0.gemfile.lock +341 -0
  36. data/gemfiles/rails_7_2.gemfile +9 -0
  37. data/gemfiles/rails_7_2.gemfile.lock +384 -0
  38. data/gemfiles/rails_8_0.gemfile +9 -0
  39. data/gemfiles/rails_8_0.gemfile.lock +385 -0
  40. data/lib/alchemrest/circuit_breaker.rb +84 -0
  41. data/lib/alchemrest/client/configuration/connection.rb +83 -0
  42. data/lib/alchemrest/client/configuration.rb +89 -0
  43. data/lib/alchemrest/client.rb +48 -0
  44. data/lib/alchemrest/cop.rb +8 -0
  45. data/lib/alchemrest/data/capture_configuration.rb +77 -0
  46. data/lib/alchemrest/data/field.rb +36 -0
  47. data/lib/alchemrest/data/graph.rb +40 -0
  48. data/lib/alchemrest/data/record.rb +60 -0
  49. data/lib/alchemrest/data/schema.rb +80 -0
  50. data/lib/alchemrest/data.rb +9 -0
  51. data/lib/alchemrest/endpoint_definition.rb +47 -0
  52. data/lib/alchemrest/error.rb +122 -0
  53. data/lib/alchemrest/factory_bot.rb +64 -0
  54. data/lib/alchemrest/faraday_middleware/external_api_instrumentation.rb +24 -0
  55. data/lib/alchemrest/faraday_middleware/json_parser.rb +30 -0
  56. data/lib/alchemrest/faraday_middleware/kill_switch.rb +22 -0
  57. data/lib/alchemrest/faraday_middleware/underscore_response.rb +24 -0
  58. data/lib/alchemrest/hash_path.rb +81 -0
  59. data/lib/alchemrest/http_request.rb +75 -0
  60. data/lib/alchemrest/kill_switch/adapters.rb +88 -0
  61. data/lib/alchemrest/kill_switch.rb +31 -0
  62. data/lib/alchemrest/railtie.rb +25 -0
  63. data/lib/alchemrest/request/endpoint.rb +29 -0
  64. data/lib/alchemrest/request/returns.rb +46 -0
  65. data/lib/alchemrest/request.rb +80 -0
  66. data/lib/alchemrest/request_definition/builder.rb +13 -0
  67. data/lib/alchemrest/request_definition.rb +26 -0
  68. data/lib/alchemrest/response/pipeline/extract_payload.rb +64 -0
  69. data/lib/alchemrest/response/pipeline/final.rb +11 -0
  70. data/lib/alchemrest/response/pipeline/omit.rb +46 -0
  71. data/lib/alchemrest/response/pipeline/sanitize.rb +59 -0
  72. data/lib/alchemrest/response/pipeline/transform.rb +26 -0
  73. data/lib/alchemrest/response/pipeline/was_successful.rb +29 -0
  74. data/lib/alchemrest/response/pipeline.rb +71 -0
  75. data/lib/alchemrest/response.rb +73 -0
  76. data/lib/alchemrest/response_captured_handler.rb +68 -0
  77. data/lib/alchemrest/result/halt.rb +15 -0
  78. data/lib/alchemrest/result/try_helpers.rb +16 -0
  79. data/lib/alchemrest/result.rb +128 -0
  80. data/lib/alchemrest/root.rb +77 -0
  81. data/lib/alchemrest/transforms/base_to_type_transform_registry.rb +42 -0
  82. data/lib/alchemrest/transforms/constrainable.rb +41 -0
  83. data/lib/alchemrest/transforms/constraint/block.rb +22 -0
  84. data/lib/alchemrest/transforms/constraint/greater_than.rb +19 -0
  85. data/lib/alchemrest/transforms/constraint/greater_than_or_eq.rb +19 -0
  86. data/lib/alchemrest/transforms/constraint/in_list.rb +19 -0
  87. data/lib/alchemrest/transforms/constraint/is_instance_of.rb +19 -0
  88. data/lib/alchemrest/transforms/constraint/is_uuid.rb +19 -0
  89. data/lib/alchemrest/transforms/constraint/less_than.rb +19 -0
  90. data/lib/alchemrest/transforms/constraint/less_than_or_eq.rb +19 -0
  91. data/lib/alchemrest/transforms/constraint/matches_regex.rb +19 -0
  92. data/lib/alchemrest/transforms/constraint/max_length.rb +19 -0
  93. data/lib/alchemrest/transforms/constraint/min_length.rb +19 -0
  94. data/lib/alchemrest/transforms/constraint.rb +17 -0
  95. data/lib/alchemrest/transforms/constraint_builder/for_number.rb +25 -0
  96. data/lib/alchemrest/transforms/constraint_builder/for_string.rb +21 -0
  97. data/lib/alchemrest/transforms/constraint_builder.rb +15 -0
  98. data/lib/alchemrest/transforms/date_transform.rb +30 -0
  99. data/lib/alchemrest/transforms/enum.rb +52 -0
  100. data/lib/alchemrest/transforms/epoch_time.rb +32 -0
  101. data/lib/alchemrest/transforms/from_chain.rb +15 -0
  102. data/lib/alchemrest/transforms/from_number/to_type_transform_registry.rb +18 -0
  103. data/lib/alchemrest/transforms/from_number.rb +47 -0
  104. data/lib/alchemrest/transforms/from_string/to_type_transform_registry.rb +17 -0
  105. data/lib/alchemrest/transforms/from_string.rb +36 -0
  106. data/lib/alchemrest/transforms/from_type/empty_to_type_transform_registry.rb +14 -0
  107. data/lib/alchemrest/transforms/from_type.rb +64 -0
  108. data/lib/alchemrest/transforms/iso_time.rb +58 -0
  109. data/lib/alchemrest/transforms/json_number.rb +26 -0
  110. data/lib/alchemrest/transforms/loose_hash.rb +96 -0
  111. data/lib/alchemrest/transforms/money_transform.rb +42 -0
  112. data/lib/alchemrest/transforms/number.rb +27 -0
  113. data/lib/alchemrest/transforms/output_type.rb +65 -0
  114. data/lib/alchemrest/transforms/to_decimal.rb +22 -0
  115. data/lib/alchemrest/transforms/to_type/from_string_to_time_selector.rb +29 -0
  116. data/lib/alchemrest/transforms/to_type/transforms_selector.rb +61 -0
  117. data/lib/alchemrest/transforms/to_type.rb +86 -0
  118. data/lib/alchemrest/transforms/typed.rb +32 -0
  119. data/lib/alchemrest/transforms/union.rb +44 -0
  120. data/lib/alchemrest/transforms/with_constraint.rb +26 -0
  121. data/lib/alchemrest/transforms.rb +93 -0
  122. data/lib/alchemrest/url_builder/encoders.rb +39 -0
  123. data/lib/alchemrest/url_builder/options.rb +33 -0
  124. data/lib/alchemrest/url_builder.rb +31 -0
  125. data/lib/alchemrest/version.rb +5 -0
  126. data/lib/alchemrest/webmock_helpers.rb +27 -0
  127. data/lib/alchemrest.rb +159 -0
  128. data/lib/generators/alchemrest/kill_switch_migration_generator.rb +27 -0
  129. data/lib/generators/alchemrest/templates/kill_switch_migration.rb.erb +17 -0
  130. data/lib/rubocop/cop/alchemrest/define_request_using_with_params.rb +53 -0
  131. data/lib/rubocop/cop/alchemrest/endpoint_definition_using_generic_params.rb +55 -0
  132. data/lib/rubocop/cop/alchemrest/request_hash_returning_block.rb +54 -0
  133. data/lib/rubocop/cop/alchemrest/time_transform_with_no_zone.rb +56 -0
  134. data/lib/tapioca/dsl/compilers/alchemrest_data.rb +84 -0
  135. data/lib/tapioca/dsl/compilers/alchemrest_root.rb +68 -0
  136. data/mutant.yml +16 -0
  137. data/rbi/alchemrest/result.rbi +80 -0
  138. data/rbi/alchemrest.rbi +246 -0
  139. data/sorbet/config +5 -0
  140. data/sorbet/rbi/gems/.gitattributes +1 -0
  141. data/sorbet/rbi/gems/abstract_type@0.0.7.rbi +41 -0
  142. data/sorbet/rbi/gems/actionpack@8.0.4.rbi +11733 -0
  143. data/sorbet/rbi/gems/actionview@8.0.4.rbi +6560 -0
  144. data/sorbet/rbi/gems/activemodel@8.0.4.rbi +2891 -0
  145. data/sorbet/rbi/gems/activesupport@8.0.4.rbi +9621 -0
  146. data/sorbet/rbi/gems/adamantium@0.2.0.rbi +144 -0
  147. data/sorbet/rbi/gems/addressable@2.8.7.rbi +779 -0
  148. data/sorbet/rbi/gems/anima@0.3.2.rbi +103 -0
  149. data/sorbet/rbi/gems/ast@2.4.2.rbi +107 -0
  150. data/sorbet/rbi/gems/base64@0.3.0.rbi +52 -0
  151. data/sorbet/rbi/gems/benchmark@0.5.0.rbi +153 -0
  152. data/sorbet/rbi/gems/bigdecimal@3.3.1.rbi +77 -0
  153. data/sorbet/rbi/gems/builder@3.3.0.rbi +9 -0
  154. data/sorbet/rbi/gems/circuitbox@2.0.0.rbi +297 -0
  155. data/sorbet/rbi/gems/concord@0.1.6.rbi +51 -0
  156. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +4716 -0
  157. data/sorbet/rbi/gems/connection_pool@2.5.4.rbi +9 -0
  158. data/sorbet/rbi/gems/crack@1.0.0.rbi +110 -0
  159. data/sorbet/rbi/gems/crass@1.0.6.rbi +294 -0
  160. data/sorbet/rbi/gems/date@3.4.1.rbi +58 -0
  161. data/sorbet/rbi/gems/drb@2.2.3.rbi +639 -0
  162. data/sorbet/rbi/gems/equalizer@0.0.11.rbi +38 -0
  163. data/sorbet/rbi/gems/erubi@1.13.1.rbi +85 -0
  164. data/sorbet/rbi/gems/factory_bot@6.5.0.rbi +1529 -0
  165. data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +181 -0
  166. data/sorbet/rbi/gems/faraday-em_synchrony@1.0.1.rbi +120 -0
  167. data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +128 -0
  168. data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +123 -0
  169. data/sorbet/rbi/gems/faraday-multipart@1.2.0.rbi +190 -0
  170. data/sorbet/rbi/gems/faraday-net_http@1.0.2.rbi +140 -0
  171. data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +116 -0
  172. data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +119 -0
  173. data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +113 -0
  174. data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +149 -0
  175. data/sorbet/rbi/gems/faraday@1.10.5.rbi +1620 -0
  176. data/sorbet/rbi/gems/hansi@0.2.1.rbi +9 -0
  177. data/sorbet/rbi/gems/hashdiff@1.1.2.rbi +174 -0
  178. data/sorbet/rbi/gems/i18n@1.14.7.rbi +1328 -0
  179. data/sorbet/rbi/gems/ice_nine@0.11.2.rbi +145 -0
  180. data/sorbet/rbi/gems/io-console@0.8.0.rbi +9 -0
  181. data/sorbet/rbi/gems/json@2.9.1.rbi +282 -0
  182. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +8057 -0
  183. data/sorbet/rbi/gems/logger@1.7.0.rbi +260 -0
  184. data/sorbet/rbi/gems/loofah@2.24.0.rbi +571 -0
  185. data/sorbet/rbi/gems/memoizable@0.4.2.rbi +131 -0
  186. data/sorbet/rbi/gems/memosa@0.8.2.rbi +185 -0
  187. data/sorbet/rbi/gems/minitest@5.26.0.rbi +824 -0
  188. data/sorbet/rbi/gems/money@6.19.0.rbi +815 -0
  189. data/sorbet/rbi/gems/morpher@0.4.2.rbi +388 -0
  190. data/sorbet/rbi/gems/mprelude@0.1.0.rbi +140 -0
  191. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +180 -0
  192. data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +154 -0
  193. data/sorbet/rbi/gems/mustermann-contrib@3.0.3.rbi +9 -0
  194. data/sorbet/rbi/gems/mustermann@3.0.3.rbi +809 -0
  195. data/sorbet/rbi/gems/netrc@0.11.0.rbi +112 -0
  196. data/sorbet/rbi/gems/nokogiri@1.19.1.rbi +3412 -0
  197. data/sorbet/rbi/gems/parallel@1.26.3.rbi +234 -0
  198. data/sorbet/rbi/gems/parser@3.3.7.0.rbi +4877 -0
  199. data/sorbet/rbi/gems/pp@0.6.2.rbi +176 -0
  200. data/sorbet/rbi/gems/prettyprint@0.2.0.rbi +155 -0
  201. data/sorbet/rbi/gems/prism@1.5.1.rbi +26368 -0
  202. data/sorbet/rbi/gems/procto@0.0.3.rbi +9 -0
  203. data/sorbet/rbi/gems/psych@5.2.3.rbi +806 -0
  204. data/sorbet/rbi/gems/public_suffix@6.0.1.rbi +267 -0
  205. data/sorbet/rbi/gems/racc@1.8.1.rbi +120 -0
  206. data/sorbet/rbi/gems/rack-session@2.1.1.rbi +458 -0
  207. data/sorbet/rbi/gems/rack-test@2.2.0.rbi +405 -0
  208. data/sorbet/rbi/gems/rack@3.1.14.rbi +2774 -0
  209. data/sorbet/rbi/gems/rackup@2.2.1.rbi +132 -0
  210. data/sorbet/rbi/gems/rails-dom-testing@2.2.0.rbi +266 -0
  211. data/sorbet/rbi/gems/rails-html-sanitizer@1.6.2.rbi +545 -0
  212. data/sorbet/rbi/gems/railties@8.0.4.rbi +2150 -0
  213. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +333 -0
  214. data/sorbet/rbi/gems/rake@13.2.1.rbi +2054 -0
  215. data/sorbet/rbi/gems/rbi@0.2.3.rbi +3961 -0
  216. data/sorbet/rbi/gems/rdoc@6.13.1.rbi +6784 -0
  217. data/sorbet/rbi/gems/regexp_parser@2.11.3.rbi +3020 -0
  218. data/sorbet/rbi/gems/reline@0.6.0.rbi +9 -0
  219. data/sorbet/rbi/gems/rexml@3.4.2.rbi +1777 -0
  220. data/sorbet/rbi/gems/rubocop-ast@1.38.0.rbi +5293 -0
  221. data/sorbet/rbi/gems/rubocop@1.71.1.rbi +31846 -0
  222. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +980 -0
  223. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
  224. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +33 -0
  225. data/sorbet/rbi/gems/sentry-ruby@5.22.1.rbi +3782 -0
  226. data/sorbet/rbi/gems/spoom@1.5.1.rbi +4321 -0
  227. data/sorbet/rbi/gems/stringio@3.1.2.rbi +9 -0
  228. data/sorbet/rbi/gems/tapioca@0.16.8.rbi +3399 -0
  229. data/sorbet/rbi/gems/thor@1.3.2.rbi +2012 -0
  230. data/sorbet/rbi/gems/thread_safe@0.3.6.rbi +711 -0
  231. data/sorbet/rbi/gems/timeout@0.4.4.rbi +80 -0
  232. data/sorbet/rbi/gems/tsort@0.2.0.rbi +50 -0
  233. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +1677 -0
  234. data/sorbet/rbi/gems/unicode-display_width@2.6.0.rbi +62 -0
  235. data/sorbet/rbi/gems/uri@1.1.0.rbi +760 -0
  236. data/sorbet/rbi/gems/useragent@0.16.11.rbi +9 -0
  237. data/sorbet/rbi/gems/webmock@3.24.0.rbi +1362 -0
  238. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +345 -0
  239. data/sorbet/rbi/gems/yard@0.9.37.rbi +8795 -0
  240. data/sorbet/rbi/gems/zeitwerk@2.7.1.rbi +589 -0
  241. data/sorbet/tapioca/config.yml +45 -0
  242. data/sorbet/tapioca/require.rb +8 -0
  243. data/sorbet/tapioca/sorbet/rbi/dsl/.gitattributes +1 -0
  244. data/sorbet/tapioca/sorbet/rbi/dsl/active_support/callbacks.rbi +23 -0
  245. metadata +737 -0
@@ -0,0 +1,176 @@
1
+ # typed: false
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `pp` gem.
5
+ # Please instead update this file by running `bin/tapioca gem pp`.
6
+
7
+
8
+ class Array
9
+ include ::Enumerable
10
+
11
+ # source://pp//lib/pp.rb#402
12
+ def pretty_print(q); end
13
+
14
+ # source://pp//lib/pp.rb#410
15
+ def pretty_print_cycle(q); end
16
+ end
17
+
18
+ class Data
19
+ # source://pp//lib/pp.rb#456
20
+ def pretty_print(q); end
21
+
22
+ # source://pp//lib/pp.rb#484
23
+ def pretty_print_cycle(q); end
24
+ end
25
+
26
+ class File::Stat
27
+ include ::Comparable
28
+
29
+ # source://pp//lib/pp.rb#518
30
+ def pretty_print(q); end
31
+ end
32
+
33
+ class Hash
34
+ include ::Enumerable
35
+
36
+ # source://pp//lib/pp.rb#416
37
+ def pretty_print(q); end
38
+
39
+ # source://pp//lib/pp.rb#420
40
+ def pretty_print_cycle(q); end
41
+ end
42
+
43
+ module Kernel
44
+ # source://pp//lib/pp.rb#685
45
+ def pretty_inspect; end
46
+
47
+ private
48
+
49
+ # source://pp//lib/pp.rb#692
50
+ def pp(*objs); end
51
+
52
+ class << self
53
+ # source://pp//lib/pp.rb#692
54
+ def pp(*objs); end
55
+ end
56
+ end
57
+
58
+ class MatchData
59
+ # source://pp//lib/pp.rb#601
60
+ def pretty_print(q); end
61
+ end
62
+
63
+ class PP < ::PrettyPrint
64
+ include ::PP::PPMethods
65
+
66
+ class << self
67
+ # source://pp//lib/pp.rb#116
68
+ def mcall(obj, mod, meth, *args, &block); end
69
+
70
+ # source://pp//lib/pp.rb#96
71
+ def pp(obj, out = T.unsafe(nil), width = T.unsafe(nil)); end
72
+
73
+ # source://pp//lib/pp.rb#125
74
+ def sharing_detection; end
75
+
76
+ # source://pp//lib/pp.rb#129
77
+ def sharing_detection=(b); end
78
+
79
+ # source://pp//lib/pp.rb#108
80
+ def singleline_pp(obj, out = T.unsafe(nil)); end
81
+
82
+ # source://pp//lib/pp.rb#79
83
+ def width_for(out); end
84
+ end
85
+ end
86
+
87
+ module PP::ObjectMixin
88
+ # source://pp//lib/pp.rb#353
89
+ def pretty_print(q); end
90
+
91
+ # source://pp//lib/pp.rb#370
92
+ def pretty_print_cycle(q); end
93
+
94
+ # source://pp//lib/pp.rb#392
95
+ def pretty_print_inspect; end
96
+
97
+ # source://pp//lib/pp.rb#381
98
+ def pretty_print_instance_variables; end
99
+ end
100
+
101
+ module PP::PPMethods
102
+ # source://pp//lib/pp.rb#169
103
+ def check_inspect_key(id); end
104
+
105
+ # source://pp//lib/pp.rb#232
106
+ def comma_breakable; end
107
+
108
+ # source://pp//lib/pp.rb#147
109
+ def guard_inspect_key; end
110
+
111
+ # source://pp//lib/pp.rb#222
112
+ def object_address_group(obj, &block); end
113
+
114
+ # source://pp//lib/pp.rb#216
115
+ def object_group(obj, &block); end
116
+
117
+ # source://pp//lib/pp.rb#182
118
+ def pop_inspect_key(id); end
119
+
120
+ # source://pp//lib/pp.rb#191
121
+ def pp(obj); end
122
+
123
+ # source://pp//lib/pp.rb#291
124
+ def pp_hash(obj); end
125
+
126
+ # source://pp//lib/pp.rb#322
127
+ def pp_hash_pair(k, v); end
128
+
129
+ # source://pp//lib/pp.rb#275
130
+ def pp_object(obj); end
131
+
132
+ # source://pp//lib/pp.rb#177
133
+ def push_inspect_key(id); end
134
+
135
+ # source://pp//lib/pp.rb#261
136
+ def seplist(list, sep = T.unsafe(nil), iter_method = T.unsafe(nil)); end
137
+ end
138
+
139
+ class PP::SingleLine < ::PrettyPrint::SingleLine
140
+ include ::PP::PPMethods
141
+ end
142
+
143
+ # source://pp//lib/pp.rb#67
144
+ PP::VERSION = T.let(T.unsafe(nil), String)
145
+
146
+ class Range
147
+ include ::Enumerable
148
+
149
+ # source://pp//lib/pp.rb#490
150
+ def pretty_print(q); end
151
+ end
152
+
153
+ class RubyVM::AbstractSyntaxTree::Node
154
+ # source://pp//lib/pp.rb#640
155
+ def pretty_print(q); end
156
+
157
+ # source://pp//lib/pp.rb#627
158
+ def pretty_print_children(q, names = T.unsafe(nil)); end
159
+ end
160
+
161
+ class String
162
+ include ::Comparable
163
+
164
+ # source://pp//lib/pp.rb#502
165
+ def pretty_print(q); end
166
+ end
167
+
168
+ class Struct
169
+ include ::Enumerable
170
+
171
+ # source://pp//lib/pp.rb#436
172
+ def pretty_print(q); end
173
+
174
+ # source://pp//lib/pp.rb#450
175
+ def pretty_print_cycle(q); end
176
+ end
@@ -0,0 +1,155 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `prettyprint` gem.
5
+ # Please instead update this file by running `bin/tapioca gem prettyprint`.
6
+
7
+
8
+ class PrettyPrint
9
+ # source://prettyprint//lib/prettyprint.rb#84
10
+ def initialize(output = T.unsafe(nil), maxwidth = T.unsafe(nil), newline = T.unsafe(nil), &genspace); end
11
+
12
+ # source://prettyprint//lib/prettyprint.rb#162
13
+ def break_outmost_groups; end
14
+
15
+ # source://prettyprint//lib/prettyprint.rb#226
16
+ def breakable(sep = T.unsafe(nil), width = T.unsafe(nil)); end
17
+
18
+ # source://prettyprint//lib/prettyprint.rb#157
19
+ def current_group; end
20
+
21
+ # source://prettyprint//lib/prettyprint.rb#214
22
+ def fill_breakable(sep = T.unsafe(nil), width = T.unsafe(nil)); end
23
+
24
+ # source://prettyprint//lib/prettyprint.rb#290
25
+ def flush; end
26
+
27
+ # source://prettyprint//lib/prettyprint.rb#120
28
+ def genspace; end
29
+
30
+ # source://prettyprint//lib/prettyprint.rb#251
31
+ def group(indent = T.unsafe(nil), open_obj = T.unsafe(nil), close_obj = T.unsafe(nil), open_width = T.unsafe(nil), close_width = T.unsafe(nil)); end
32
+
33
+ # source://prettyprint//lib/prettyprint.rb#126
34
+ def group_queue; end
35
+
36
+ # source://prettyprint//lib/prettyprint.rb#262
37
+ def group_sub; end
38
+
39
+ # source://prettyprint//lib/prettyprint.rb#123
40
+ def indent; end
41
+
42
+ # source://prettyprint//lib/prettyprint.rb#108
43
+ def maxwidth; end
44
+
45
+ # source://prettyprint//lib/prettyprint.rb#279
46
+ def nest(indent); end
47
+
48
+ # source://prettyprint//lib/prettyprint.rb#113
49
+ def newline; end
50
+
51
+ # source://prettyprint//lib/prettyprint.rb#103
52
+ def output; end
53
+
54
+ # source://prettyprint//lib/prettyprint.rb#182
55
+ def text(obj, width = T.unsafe(nil)); end
56
+
57
+ class << self
58
+ # source://prettyprint//lib/prettyprint.rb#47
59
+ def format(output = T.unsafe(nil), maxwidth = T.unsafe(nil), newline = T.unsafe(nil), genspace = T.unsafe(nil)); end
60
+
61
+ # source://prettyprint//lib/prettyprint.rb#61
62
+ def singleline_format(output = T.unsafe(nil), maxwidth = T.unsafe(nil), newline = T.unsafe(nil), genspace = T.unsafe(nil)); end
63
+ end
64
+ end
65
+
66
+ class PrettyPrint::Breakable
67
+ # source://prettyprint//lib/prettyprint.rb#347
68
+ def initialize(sep, width, q); end
69
+
70
+ # source://prettyprint//lib/prettyprint.rb#367
71
+ def indent; end
72
+
73
+ # source://prettyprint//lib/prettyprint.rb#359
74
+ def obj; end
75
+
76
+ # source://prettyprint//lib/prettyprint.rb#373
77
+ def output(out, output_width); end
78
+
79
+ # source://prettyprint//lib/prettyprint.rb#362
80
+ def width; end
81
+ end
82
+
83
+ class PrettyPrint::Group
84
+ # source://prettyprint//lib/prettyprint.rb#401
85
+ def initialize(depth); end
86
+
87
+ # source://prettyprint//lib/prettyprint.rb#414
88
+ def break; end
89
+
90
+ # source://prettyprint//lib/prettyprint.rb#419
91
+ def break?; end
92
+
93
+ # source://prettyprint//lib/prettyprint.rb#411
94
+ def breakables; end
95
+
96
+ # source://prettyprint//lib/prettyprint.rb#408
97
+ def depth; end
98
+
99
+ # source://prettyprint//lib/prettyprint.rb#426
100
+ def first?; end
101
+ end
102
+
103
+ class PrettyPrint::GroupQueue
104
+ # source://prettyprint//lib/prettyprint.rb#447
105
+ def initialize(*groups); end
106
+
107
+ # source://prettyprint//lib/prettyprint.rb#479
108
+ def delete(group); end
109
+
110
+ # source://prettyprint//lib/prettyprint.rb#463
111
+ def deq; end
112
+
113
+ # source://prettyprint//lib/prettyprint.rb#456
114
+ def enq(group); end
115
+ end
116
+
117
+ class PrettyPrint::SingleLine
118
+ # source://prettyprint//lib/prettyprint.rb#505
119
+ def initialize(output, maxwidth = T.unsafe(nil), newline = T.unsafe(nil)); end
120
+
121
+ # source://prettyprint//lib/prettyprint.rb#520
122
+ def breakable(sep = T.unsafe(nil), width = T.unsafe(nil)); end
123
+
124
+ # source://prettyprint//lib/prettyprint.rb#552
125
+ def first?; end
126
+
127
+ # source://prettyprint//lib/prettyprint.rb#548
128
+ def flush; end
129
+
130
+ # source://prettyprint//lib/prettyprint.rb#539
131
+ def group(indent = T.unsafe(nil), open_obj = T.unsafe(nil), close_obj = T.unsafe(nil), open_width = T.unsafe(nil), close_width = T.unsafe(nil)); end
132
+
133
+ # source://prettyprint//lib/prettyprint.rb#527
134
+ def nest(indent); end
135
+
136
+ # source://prettyprint//lib/prettyprint.rb#513
137
+ def text(obj, width = T.unsafe(nil)); end
138
+ end
139
+
140
+ class PrettyPrint::Text
141
+ # source://prettyprint//lib/prettyprint.rb#312
142
+ def initialize; end
143
+
144
+ # source://prettyprint//lib/prettyprint.rb#330
145
+ def add(obj, width); end
146
+
147
+ # source://prettyprint//lib/prettyprint.rb#323
148
+ def output(out, output_width); end
149
+
150
+ # source://prettyprint//lib/prettyprint.rb#318
151
+ def width; end
152
+ end
153
+
154
+ # source://prettyprint//lib/prettyprint.rb#36
155
+ PrettyPrint::VERSION = T.let(T.unsafe(nil), String)