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,760 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `uri` gem.
5
+ # Please instead update this file by running `bin/tapioca gem uri`.
6
+
7
+
8
+ module Kernel
9
+ private
10
+
11
+ # source://uri//lib/uri/common.rb#911
12
+ def URI(uri); end
13
+
14
+ class << self
15
+ # source://uri//lib/uri/common.rb#911
16
+ def URI(uri); end
17
+ end
18
+ end
19
+
20
+ module URI
21
+ class << self
22
+ # source://uri//lib/uri/common.rb#50
23
+ def const_missing(const); end
24
+
25
+ # source://uri//lib/uri/common.rb#441
26
+ def decode_uri_component(str, enc = T.unsafe(nil)); end
27
+
28
+ # source://uri//lib/uri/common.rb#620
29
+ def decode_www_form(str, enc = T.unsafe(nil), separator: T.unsafe(nil), use__charset_: T.unsafe(nil), isindex: T.unsafe(nil)); end
30
+
31
+ # source://uri//lib/uri/common.rb#430
32
+ def decode_www_form_component(str, enc = T.unsafe(nil)); end
33
+
34
+ # source://uri//lib/uri/common.rb#436
35
+ def encode_uri_component(str, enc = T.unsafe(nil)); end
36
+
37
+ # source://uri//lib/uri/common.rb#567
38
+ def encode_www_form(enum, enc = T.unsafe(nil)); end
39
+
40
+ # source://uri//lib/uri/common.rb#397
41
+ def encode_www_form_component(str, enc = T.unsafe(nil)); end
42
+
43
+ # source://uri//lib/uri/common.rb#301
44
+ def extract(str, schemes = T.unsafe(nil), &block); end
45
+
46
+ # source://uri//lib/uri/common.rb#187
47
+ def for(scheme, *arguments, default: T.unsafe(nil)); end
48
+
49
+ # source://uri//lib/uri/common.rb#890
50
+ def get_encoding(label); end
51
+
52
+ # source://uri//lib/uri/common.rb#273
53
+ def join(*str); end
54
+
55
+ # source://uri//lib/uri/common.rb#246
56
+ def parse(uri); end
57
+
58
+ # source://uri//lib/uri/common.rb#29
59
+ def parser=(parser = T.unsafe(nil)); end
60
+
61
+ # source://uri//lib/uri/common.rb#338
62
+ def regexp(schemes = T.unsafe(nil)); end
63
+
64
+ # source://uri//lib/uri/common.rb#143
65
+ def register_scheme(scheme, klass); end
66
+
67
+ # source://uri//lib/uri/common.rb#161
68
+ def scheme_list; end
69
+
70
+ # source://uri//lib/uri/common.rb#232
71
+ def split(uri); end
72
+
73
+ private
74
+
75
+ # source://uri//lib/uri/common.rb#463
76
+ def _decode_uri_component(regexp, str, enc); end
77
+
78
+ # source://uri//lib/uri/common.rb#447
79
+ def _encode_uri_component(regexp, table, str, enc); end
80
+ end
81
+ end
82
+
83
+ class URI::FTP < ::URI::Generic
84
+ # source://uri//lib/uri/ftp.rb#133
85
+ def initialize(scheme, userinfo, host, port, registry, path, opaque, query, fragment, parser = T.unsafe(nil), arg_check = T.unsafe(nil)); end
86
+
87
+ # source://uri//lib/uri/ftp.rb#214
88
+ def merge(oth); end
89
+
90
+ # source://uri//lib/uri/ftp.rb#240
91
+ def path; end
92
+
93
+ # source://uri//lib/uri/ftp.rb#251
94
+ def to_s; end
95
+
96
+ # source://uri//lib/uri/ftp.rb#161
97
+ def typecode; end
98
+
99
+ # source://uri//lib/uri/ftp.rb#208
100
+ def typecode=(typecode); end
101
+
102
+ protected
103
+
104
+ # source://uri//lib/uri/ftp.rb#245
105
+ def set_path(v); end
106
+
107
+ # source://uri//lib/uri/ftp.rb#180
108
+ def set_typecode(v); end
109
+
110
+ private
111
+
112
+ # source://uri//lib/uri/ftp.rb#166
113
+ def check_typecode(v); end
114
+
115
+ class << self
116
+ # source://uri//lib/uri/ftp.rb#96
117
+ def build(args); end
118
+
119
+ # source://uri//lib/uri/ftp.rb#47
120
+ def new2(user, password, host, port, path, typecode = T.unsafe(nil), arg_check = T.unsafe(nil)); end
121
+ end
122
+ end
123
+
124
+ class URI::File < ::URI::Generic
125
+ # source://uri//lib/uri/file.rb#82
126
+ def check_password(user); end
127
+
128
+ # source://uri//lib/uri/file.rb#77
129
+ def check_user(user); end
130
+
131
+ # source://uri//lib/uri/file.rb#72
132
+ def check_userinfo(user); end
133
+
134
+ # source://uri//lib/uri/file.rb#62
135
+ def set_host(v); end
136
+
137
+ # source://uri//lib/uri/file.rb#95
138
+ def set_password(v); end
139
+
140
+ # source://uri//lib/uri/file.rb#68
141
+ def set_port(v); end
142
+
143
+ # source://uri//lib/uri/file.rb#91
144
+ def set_user(v); end
145
+
146
+ # source://uri//lib/uri/file.rb#87
147
+ def set_userinfo(v); end
148
+
149
+ class << self
150
+ # source://uri//lib/uri/file.rb#53
151
+ def build(args); end
152
+ end
153
+ end
154
+
155
+ # source://uri//lib/uri/file.rb#17
156
+ URI::File::COMPONENT = T.let(T.unsafe(nil), Array)
157
+
158
+ # source://uri//lib/uri/file.rb#12
159
+ URI::File::DEFAULT_PORT = T.let(T.unsafe(nil), T.untyped)
160
+
161
+ class URI::Generic
162
+ include ::URI
163
+
164
+ # source://uri//lib/uri/generic.rb#169
165
+ def initialize(scheme, userinfo, host, port, registry, path, opaque, query, fragment, parser = T.unsafe(nil), arg_check = T.unsafe(nil)); end
166
+
167
+ # source://uri//lib/uri/generic.rb#1124
168
+ def +(oth); end
169
+
170
+ # source://uri//lib/uri/generic.rb#1274
171
+ def -(oth); end
172
+
173
+ # source://uri//lib/uri/generic.rb#1399
174
+ def ==(oth); end
175
+
176
+ # source://uri//lib/uri/generic.rb#987
177
+ def absolute; end
178
+
179
+ # source://uri//lib/uri/generic.rb#987
180
+ def absolute?; end
181
+
182
+ # source://uri//lib/uri/generic.rb#579
183
+ def authority; end
184
+
185
+ # source://uri//lib/uri/generic.rb#1478
186
+ def coerce(oth); end
187
+
188
+ # source://uri//lib/uri/generic.rb#313
189
+ def component; end
190
+
191
+ # source://uri//lib/uri/generic.rb#589
192
+ def decoded_password; end
193
+
194
+ # source://uri//lib/uri/generic.rb#584
195
+ def decoded_user; end
196
+
197
+ # source://uri//lib/uri/generic.rb#39
198
+ def default_port; end
199
+
200
+ # source://uri//lib/uri/generic.rb#1413
201
+ def eql?(oth); end
202
+
203
+ # source://uri//lib/uri/generic.rb#1504
204
+ def find_proxy(env = T.unsafe(nil)); end
205
+
206
+ # source://uri//lib/uri/generic.rb#283
207
+ def fragment; end
208
+
209
+ # source://uri//lib/uri/generic.rb#944
210
+ def fragment=(v); end
211
+
212
+ # source://uri//lib/uri/generic.rb#1408
213
+ def hash; end
214
+
215
+ # source://uri//lib/uri/generic.rb#976
216
+ def hierarchical?; end
217
+
218
+ # source://uri//lib/uri/generic.rb#243
219
+ def host; end
220
+
221
+ # source://uri//lib/uri/generic.rb#652
222
+ def host=(v); end
223
+
224
+ # source://uri//lib/uri/generic.rb#668
225
+ def hostname; end
226
+
227
+ # source://uri//lib/uri/generic.rb#685
228
+ def hostname=(v); end
229
+
230
+ # source://uri//lib/uri/generic.rb#1455
231
+ def inspect; end
232
+
233
+ # source://uri//lib/uri/generic.rb#1124
234
+ def merge(oth); end
235
+
236
+ # source://uri//lib/uri/generic.rb#1096
237
+ def merge!(oth); end
238
+
239
+ # source://uri//lib/uri/generic.rb#1331
240
+ def normalize; end
241
+
242
+ # source://uri//lib/uri/generic.rb#1340
243
+ def normalize!; end
244
+
245
+ # source://uri//lib/uri/generic.rb#277
246
+ def opaque; end
247
+
248
+ # source://uri//lib/uri/generic.rb#916
249
+ def opaque=(v); end
250
+
251
+ # source://uri//lib/uri/generic.rb#289
252
+ def parser; end
253
+
254
+ # source://uri//lib/uri/generic.rb#573
255
+ def password; end
256
+
257
+ # source://uri//lib/uri/generic.rb#498
258
+ def password=(password); end
259
+
260
+ # source://uri//lib/uri/generic.rb#260
261
+ def path; end
262
+
263
+ # source://uri//lib/uri/generic.rb#830
264
+ def path=(v); end
265
+
266
+ # source://uri//lib/uri/generic.rb#250
267
+ def port; end
268
+
269
+ # source://uri//lib/uri/generic.rb#743
270
+ def port=(v); end
271
+
272
+ # source://uri//lib/uri/generic.rb#266
273
+ def query; end
274
+
275
+ # source://uri//lib/uri/generic.rb#854
276
+ def query=(v); end
277
+
278
+ # source://uri//lib/uri/generic.rb#252
279
+ def registry; end
280
+
281
+ # source://uri//lib/uri/generic.rb#760
282
+ def registry=(v); end
283
+
284
+ # source://uri//lib/uri/generic.rb#999
285
+ def relative?; end
286
+
287
+ # source://uri//lib/uri/generic.rb#1274
288
+ def route_from(oth); end
289
+
290
+ # source://uri//lib/uri/generic.rb#1314
291
+ def route_to(oth); end
292
+
293
+ # source://uri//lib/uri/generic.rb#221
294
+ def scheme; end
295
+
296
+ # source://uri//lib/uri/generic.rb#360
297
+ def scheme=(v); end
298
+
299
+ # source://uri//lib/uri/generic.rb#1444
300
+ def select(*components); end
301
+
302
+ # source://uri//lib/uri/generic.rb#1355
303
+ def to_s; end
304
+
305
+ # source://uri//lib/uri/generic.rb#1355
306
+ def to_str; end
307
+
308
+ # source://uri//lib/uri/generic.rb#568
309
+ def user; end
310
+
311
+ # source://uri//lib/uri/generic.rb#471
312
+ def user=(user); end
313
+
314
+ # source://uri//lib/uri/generic.rb#557
315
+ def userinfo; end
316
+
317
+ # source://uri//lib/uri/generic.rb#441
318
+ def userinfo=(userinfo); end
319
+
320
+ protected
321
+
322
+ # source://uri//lib/uri/generic.rb#1420
323
+ def component_ary; end
324
+
325
+ # source://uri//lib/uri/generic.rb#627
326
+ def set_authority(user, password, host, port = T.unsafe(nil)); end
327
+
328
+ # source://uri//lib/uri/generic.rb#619
329
+ def set_host(v); end
330
+
331
+ # source://uri//lib/uri/generic.rb#898
332
+ def set_opaque(v); end
333
+
334
+ # source://uri//lib/uri/generic.rb#534
335
+ def set_password(v); end
336
+
337
+ # source://uri//lib/uri/generic.rb#804
338
+ def set_path(v); end
339
+
340
+ # source://uri//lib/uri/generic.rb#716
341
+ def set_port(v); end
342
+
343
+ # source://uri//lib/uri/generic.rb#755
344
+ def set_registry(v); end
345
+
346
+ # source://uri//lib/uri/generic.rb#334
347
+ def set_scheme(v); end
348
+
349
+ # source://uri//lib/uri/generic.rb#524
350
+ def set_user(v); end
351
+
352
+ # source://uri//lib/uri/generic.rb#509
353
+ def set_userinfo(user, password = T.unsafe(nil)); end
354
+
355
+ private
356
+
357
+ # source://uri//lib/uri/generic.rb#600
358
+ def check_host(v); end
359
+
360
+ # source://uri//lib/uri/generic.rb#876
361
+ def check_opaque(v); end
362
+
363
+ # source://uri//lib/uri/generic.rb#417
364
+ def check_password(v, user = T.unsafe(nil)); end
365
+
366
+ # source://uri//lib/uri/generic.rb#772
367
+ def check_path(v); end
368
+
369
+ # source://uri//lib/uri/generic.rb#697
370
+ def check_port(v); end
371
+
372
+ # source://uri//lib/uri/generic.rb#750
373
+ def check_registry(v); end
374
+
375
+ # source://uri//lib/uri/generic.rb#320
376
+ def check_scheme(v); end
377
+
378
+ # source://uri//lib/uri/generic.rb#393
379
+ def check_user(v); end
380
+
381
+ # source://uri//lib/uri/generic.rb#375
382
+ def check_userinfo(user, password = T.unsafe(nil)); end
383
+
384
+ # source://uri//lib/uri/generic.rb#551
385
+ def escape_userpass(v); end
386
+
387
+ # source://uri//lib/uri/generic.rb#1015
388
+ def merge_path(base, rel); end
389
+
390
+ # source://uri//lib/uri/generic.rb#299
391
+ def replace!(oth); end
392
+
393
+ # source://uri//lib/uri/generic.rb#1206
394
+ def route_from0(oth); end
395
+
396
+ # source://uri//lib/uri/generic.rb#1167
397
+ def route_from_path(src, dst); end
398
+
399
+ # source://uri//lib/uri/generic.rb#1006
400
+ def split_path(path); end
401
+
402
+ # source://uri//lib/uri/generic.rb#542
403
+ def split_userinfo(ui); end
404
+
405
+ class << self
406
+ # source://uri//lib/uri/generic.rb#116
407
+ def build(args); end
408
+
409
+ # source://uri//lib/uri/generic.rb#78
410
+ def build2(args); end
411
+
412
+ # source://uri//lib/uri/generic.rb#57
413
+ def component; end
414
+
415
+ # source://uri//lib/uri/generic.rb#32
416
+ def default_port; end
417
+
418
+ # source://uri//lib/uri/generic.rb#1570
419
+ def use_proxy?(hostname, addr, port, no_proxy); end
420
+
421
+ # source://uri//lib/uri/generic.rb#63
422
+ def use_registry; end
423
+ end
424
+ end
425
+
426
+ class URI::HTTP < ::URI::Generic
427
+ # source://uri//lib/uri/http.rb#109
428
+ def authority; end
429
+
430
+ # source://uri//lib/uri/http.rb#65
431
+ def check_host(v); end
432
+
433
+ # source://uri//lib/uri/http.rb#131
434
+ def origin; end
435
+
436
+ # source://uri//lib/uri/http.rb#89
437
+ def request_uri; end
438
+
439
+ class << self
440
+ # source://uri//lib/uri/http.rb#59
441
+ def build(args); end
442
+ end
443
+ end
444
+
445
+ # source://uri//lib/uri/common.rb#166
446
+ URI::INITIAL_SCHEMES = T.let(T.unsafe(nil), Hash)
447
+
448
+ class URI::LDAP < ::URI::Generic
449
+ # source://uri//lib/uri/ldap.rb#108
450
+ def initialize(*arg); end
451
+
452
+ # source://uri//lib/uri/ldap.rb#178
453
+ def attributes; end
454
+
455
+ # source://uri//lib/uri/ldap.rb#191
456
+ def attributes=(val); end
457
+
458
+ # source://uri//lib/uri/ldap.rb#159
459
+ def dn; end
460
+
461
+ # source://uri//lib/uri/ldap.rb#172
462
+ def dn=(val); end
463
+
464
+ # source://uri//lib/uri/ldap.rb#235
465
+ def extensions; end
466
+
467
+ # source://uri//lib/uri/ldap.rb#248
468
+ def extensions=(val); end
469
+
470
+ # source://uri//lib/uri/ldap.rb#216
471
+ def filter; end
472
+
473
+ # source://uri//lib/uri/ldap.rb#229
474
+ def filter=(val); end
475
+
476
+ # source://uri//lib/uri/ldap.rb#255
477
+ def hierarchical?; end
478
+
479
+ # source://uri//lib/uri/ldap.rb#197
480
+ def scope; end
481
+
482
+ # source://uri//lib/uri/ldap.rb#210
483
+ def scope=(val); end
484
+
485
+ protected
486
+
487
+ # source://uri//lib/uri/ldap.rb#183
488
+ def set_attributes(val); end
489
+
490
+ # source://uri//lib/uri/ldap.rb#164
491
+ def set_dn(val); end
492
+
493
+ # source://uri//lib/uri/ldap.rb#240
494
+ def set_extensions(val); end
495
+
496
+ # source://uri//lib/uri/ldap.rb#221
497
+ def set_filter(val); end
498
+
499
+ # source://uri//lib/uri/ldap.rb#202
500
+ def set_scope(val); end
501
+
502
+ private
503
+
504
+ # source://uri//lib/uri/ldap.rb#146
505
+ def build_path_query; end
506
+
507
+ # source://uri//lib/uri/ldap.rb#120
508
+ def parse_dn; end
509
+
510
+ # source://uri//lib/uri/ldap.rb#128
511
+ def parse_query; end
512
+
513
+ class << self
514
+ # source://uri//lib/uri/ldap.rb#74
515
+ def build(args); end
516
+ end
517
+ end
518
+
519
+ class URI::MailTo < ::URI::Generic
520
+ include ::URI::RFC2396_REGEXP
521
+
522
+ # source://uri//lib/uri/mailto.rb#136
523
+ def initialize(*arg); end
524
+
525
+ # source://uri//lib/uri/mailto.rb#170
526
+ def headers; end
527
+
528
+ # source://uri//lib/uri/mailto.rb#236
529
+ def headers=(v); end
530
+
531
+ # source://uri//lib/uri/mailto.rb#167
532
+ def to; end
533
+
534
+ # source://uri//lib/uri/mailto.rb#204
535
+ def to=(v); end
536
+
537
+ # source://uri//lib/uri/mailto.rb#272
538
+ def to_mailtext; end
539
+
540
+ # source://uri//lib/uri/mailto.rb#272
541
+ def to_rfc822text; end
542
+
543
+ # source://uri//lib/uri/mailto.rb#243
544
+ def to_s; end
545
+
546
+ protected
547
+
548
+ # source://uri//lib/uri/mailto.rb#225
549
+ def set_headers(v); end
550
+
551
+ # source://uri//lib/uri/mailto.rb#198
552
+ def set_to(v); end
553
+
554
+ private
555
+
556
+ # source://uri//lib/uri/mailto.rb#212
557
+ def check_headers(v); end
558
+
559
+ # source://uri//lib/uri/mailto.rb#173
560
+ def check_to(v); end
561
+
562
+ class << self
563
+ # source://uri//lib/uri/mailto.rb#89
564
+ def build(args); end
565
+ end
566
+ end
567
+
568
+ # source://uri//lib/uri/common.rb#34
569
+ URI::PARSER = T.let(T.unsafe(nil), URI::RFC3986_Parser)
570
+
571
+ class URI::RFC2396_Parser
572
+ include ::URI::RFC2396_REGEXP
573
+
574
+ # source://uri//lib/uri/rfc2396_parser.rb#99
575
+ def initialize(opts = T.unsafe(nil)); end
576
+
577
+ # source://uri//lib/uri/rfc2396_parser.rb#286
578
+ def escape(str, unsafe = T.unsafe(nil)); end
579
+
580
+ # source://uri//lib/uri/rfc2396_parser.rb#248
581
+ def extract(str, schemes = T.unsafe(nil)); end
582
+
583
+ # source://uri//lib/uri/rfc2396_parser.rb#325
584
+ def inspect; end
585
+
586
+ # source://uri//lib/uri/rfc2396_parser.rb#222
587
+ def join(*uris); end
588
+
589
+ # source://uri//lib/uri/rfc2396_parser.rb#261
590
+ def make_regexp(schemes = T.unsafe(nil)); end
591
+
592
+ # source://uri//lib/uri/rfc2396_parser.rb#208
593
+ def parse(uri); end
594
+
595
+ # source://uri//lib/uri/rfc2396_parser.rb#112
596
+ def pattern; end
597
+
598
+ # source://uri//lib/uri/rfc2396_parser.rb#117
599
+ def regexp; end
600
+
601
+ # source://uri//lib/uri/rfc2396_parser.rb#120
602
+ def split(uri); end
603
+
604
+ # source://uri//lib/uri/rfc2396_parser.rb#317
605
+ def unescape(str, escaped = T.unsafe(nil)); end
606
+
607
+ private
608
+
609
+ # source://uri//lib/uri/rfc2396_parser.rb#528
610
+ def convert_to_uri(uri); end
611
+
612
+ # source://uri//lib/uri/rfc2396_parser.rb#337
613
+ def initialize_pattern(opts = T.unsafe(nil)); end
614
+
615
+ # source://uri//lib/uri/rfc2396_parser.rb#495
616
+ def initialize_regexp(pattern); end
617
+ end
618
+
619
+ # source://uri//lib/uri/rfc2396_parser.rb#323
620
+ URI::RFC2396_Parser::TO_S = T.let(T.unsafe(nil), UnboundMethod)
621
+
622
+ class URI::RFC3986_Parser
623
+ # source://uri//lib/uri/rfc3986_parser.rb#73
624
+ def initialize; end
625
+
626
+ # source://uri//lib/uri/rfc3986_parser.rb#156
627
+ def escape(str, unsafe = T.unsafe(nil)); end
628
+
629
+ # source://uri//lib/uri/rfc3986_parser.rb#144
630
+ def extract(str, schemes = T.unsafe(nil), &block); end
631
+
632
+ # source://uri//lib/uri/rfc3986_parser.rb#169
633
+ def inspect; end
634
+
635
+ # source://uri//lib/uri/rfc3986_parser.rb#138
636
+ def join(*uris); end
637
+
638
+ # source://uri//lib/uri/rfc3986_parser.rb#150
639
+ def make_regexp(schemes = T.unsafe(nil)); end
640
+
641
+ # source://uri//lib/uri/rfc3986_parser.rb#134
642
+ def parse(uri); end
643
+
644
+ # source://uri//lib/uri/rfc3986_parser.rb#71
645
+ def regexp; end
646
+
647
+ # source://uri//lib/uri/rfc3986_parser.rb#77
648
+ def split(uri); end
649
+
650
+ # source://uri//lib/uri/rfc3986_parser.rb#162
651
+ def unescape(str, escaped = T.unsafe(nil)); end
652
+
653
+ private
654
+
655
+ # source://uri//lib/uri/rfc3986_parser.rb#194
656
+ def convert_to_uri(uri); end
657
+
658
+ # source://uri//lib/uri/rfc3986_parser.rb#180
659
+ def default_regexp; end
660
+ end
661
+
662
+ # source://uri//lib/uri/rfc3986_parser.rb#33
663
+ URI::RFC3986_Parser::FRAGMENT = T.let(T.unsafe(nil), String)
664
+
665
+ # source://uri//lib/uri/rfc3986_parser.rb#5
666
+ URI::RFC3986_Parser::HOST = T.let(T.unsafe(nil), Regexp)
667
+
668
+ # source://uri//lib/uri/rfc3986_parser.rb#54
669
+ URI::RFC3986_Parser::RFC3986_relative_ref = T.let(T.unsafe(nil), Regexp)
670
+
671
+ # source://uri//lib/uri/rfc3986_parser.rb#30
672
+ URI::RFC3986_Parser::SCHEME = T.let(T.unsafe(nil), String)
673
+
674
+ # source://uri//lib/uri/rfc3986_parser.rb#31
675
+ URI::RFC3986_Parser::SEG = T.let(T.unsafe(nil), String)
676
+
677
+ # source://uri//lib/uri/rfc3986_parser.rb#32
678
+ URI::RFC3986_Parser::SEG_NC = T.let(T.unsafe(nil), String)
679
+
680
+ # source://uri//lib/uri/rfc3986_parser.rb#28
681
+ URI::RFC3986_Parser::USERINFO = T.let(T.unsafe(nil), Regexp)
682
+
683
+ module URI::Schemes
684
+ class << self
685
+ # source://uri//lib/uri/common.rb#104
686
+ def escape(name); end
687
+
688
+ # source://uri//lib/uri/common.rb#115
689
+ def find(name); end
690
+
691
+ # source://uri//lib/uri/common.rb#126
692
+ def list; end
693
+
694
+ # source://uri//lib/uri/common.rb#119
695
+ def register(name, klass); end
696
+
697
+ # source://uri//lib/uri/common.rb#111
698
+ def unescape(name); end
699
+ end
700
+ end
701
+
702
+ # source://uri//lib/uri/common.rb#123
703
+ URI::Schemes::FILE = URI::File
704
+
705
+ # source://uri//lib/uri/common.rb#123
706
+ URI::Schemes::FTP = URI::FTP
707
+
708
+ # source://uri//lib/uri/common.rb#123
709
+ URI::Schemes::HTTP = URI::HTTP
710
+
711
+ # source://uri//lib/uri/common.rb#123
712
+ URI::Schemes::HTTPS = URI::HTTPS
713
+
714
+ # source://uri//lib/uri/common.rb#123
715
+ URI::Schemes::LDAP = URI::LDAP
716
+
717
+ # source://uri//lib/uri/common.rb#123
718
+ URI::Schemes::LDAPS = URI::LDAPS
719
+
720
+ # source://uri//lib/uri/common.rb#123
721
+ URI::Schemes::MAILTO = URI::MailTo
722
+
723
+ # source://uri//lib/uri/common.rb#123
724
+ URI::Schemes::SOURCE = URI::Source
725
+
726
+ # source://uri//lib/uri/common.rb#123
727
+ URI::Schemes::WS = URI::WS
728
+
729
+ # source://uri//lib/uri/common.rb#123
730
+ URI::Schemes::WSS = URI::WSS
731
+
732
+ # source://uri//lib/uri/common.rb#347
733
+ URI::TBLENCURICOMP_ = T.let(T.unsafe(nil), Hash)
734
+
735
+ module URI::Util
736
+ private
737
+
738
+ # source://uri//lib/uri/common.rb#66
739
+ def make_components_hash(klass, array_hash); end
740
+
741
+ class << self
742
+ # source://uri//lib/uri/common.rb#66
743
+ def make_components_hash(klass, array_hash); end
744
+ end
745
+ end
746
+
747
+ class URI::WS < ::URI::Generic
748
+ # source://uri//lib/uri/ws.rb#74
749
+ def request_uri; end
750
+
751
+ class << self
752
+ # source://uri//lib/uri/ws.rb#56
753
+ def build(args); end
754
+ end
755
+ end
756
+
757
+ class URI::WSS < ::URI::WS; end
758
+
759
+ # source://uri//lib/uri/wss.rb#19
760
+ URI::WSS::DEFAULT_PORT = T.let(T.unsafe(nil), Integer)