testttttttttttttttomgomgomg12 0.0.1.pre.alpha.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 (244) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +128 -0
  3. data/lib/sink/base_client.rb +383 -0
  4. data/lib/sink/base_model.rb +203 -0
  5. data/lib/sink/client.rb +381 -0
  6. data/lib/sink/fake_page.rb +39 -0
  7. data/lib/sink/models/allof_base_parent.rb +11 -0
  8. data/lib/sink/models/allof_multiple_inline_entries.rb +15 -0
  9. data/lib/sink/models/api_status.rb +11 -0
  10. data/lib/sink/models/array_float_items_response.rb +6 -0
  11. data/lib/sink/models/array_missing_items_response.rb +11 -0
  12. data/lib/sink/models/array_object_items.rb +11 -0
  13. data/lib/sink/models/array_object_items_response.rb +11 -0
  14. data/lib/sink/models/array_recursion.rb +6 -0
  15. data/lib/sink/models/balance.rb +11 -0
  16. data/lib/sink/models/basic_shared_model_object.rb +15 -0
  17. data/lib/sink/models/body_param_top_level_all_of_response.rb +20 -0
  18. data/lib/sink/models/body_param_union_overlapping_prop_response.rb +11 -0
  19. data/lib/sink/models/card.rb +144 -0
  20. data/lib/sink/models/card_list_response.rb +26 -0
  21. data/lib/sink/models/card_provision_foo_response.rb +11 -0
  22. data/lib/sink/models/child_inlined_response_response.rb +11 -0
  23. data/lib/sink/models/child_model.rb +21 -0
  24. data/lib/sink/models/class_.rb +11 -0
  25. data/lib/sink/models/client.rb +15 -0
  26. data/lib/sink/models/company.rb +11 -0
  27. data/lib/sink/models/company_payment.rb +11 -0
  28. data/lib/sink/models/complex_query_array_query_response.rb +22 -0
  29. data/lib/sink/models/config_tool_model_ref_from_nested_response_body_response.rb +17 -0
  30. data/lib/sink/models/currency.rb +23 -0
  31. data/lib/sink/models/decorator_test_keep_me_response.rb +11 -0
  32. data/lib/sink/models/docstring_leading_double_quote_response.rb +12 -0
  33. data/lib/sink/models/docstring_trailing_double_quote_response.rb +22 -0
  34. data/lib/sink/models/documents.rb +15 -0
  35. data/lib/sink/models/eeoc.rb +11 -0
  36. data/lib/sink/models/employment_data.rb +11 -0
  37. data/lib/sink/models/enum_basic_response.rb +51 -0
  38. data/lib/sink/models/export.rb +12 -0
  39. data/lib/sink/models/funding_account.rb +73 -0
  40. data/lib/sink/models/import.rb +11 -0
  41. data/lib/sink/models/interface.rb +11 -0
  42. data/lib/sink/models/keep_this_resource_keep_this_method_response.rb +11 -0
  43. data/lib/sink/models/make_ambiguous_schemas_explicit_make_ambiguous_schemas_explicit_response.rb +31 -0
  44. data/lib/sink/models/make_ambiguous_schemas_looser_make_ambiguous_schemas_looser_response.rb +31 -0
  45. data/lib/sink/models/map_nullable_items_response.rb +19 -0
  46. data/lib/sink/models/method_config_skipped_tests_all_response.rb +11 -0
  47. data/lib/sink/models/method_config_skipped_tests_go_response.rb +11 -0
  48. data/lib/sink/models/method_config_skipped_tests_java_response.rb +11 -0
  49. data/lib/sink/models/method_config_skipped_tests_kotlin_response.rb +11 -0
  50. data/lib/sink/models/method_config_skipped_tests_node_and_python_response.rb +11 -0
  51. data/lib/sink/models/method_config_skipped_tests_node_response.rb +11 -0
  52. data/lib/sink/models/method_config_skipped_tests_python_response.rb +11 -0
  53. data/lib/sink/models/method_config_skipped_tests_ruby_response.rb +11 -0
  54. data/lib/sink/models/model_from_nested_path.rb +30 -0
  55. data/lib/sink/models/model_from_nested_response_body_ref.rb +11 -0
  56. data/lib/sink/models/model_from_schemas_ref.rb +11 -0
  57. data/lib/sink/models/model_from_schemas_ref_openapi_uri.rb +11 -0
  58. data/lib/sink/models/model_from_schemas_ref_openapi_uri_jmespath.rb +11 -0
  59. data/lib/sink/models/model_from_schemas_ref_openapi_uri_jsonpath.rb +11 -0
  60. data/lib/sink/models/model_level_1.rb +15 -0
  61. data/lib/sink/models/model_level_2.rb +15 -0
  62. data/lib/sink/models/model_level_3.rb +15 -0
  63. data/lib/sink/models/model_referenced_in_parent_and_child.rb +11 -0
  64. data/lib/sink/models/model_with_nested_model.rb +16 -0
  65. data/lib/sink/models/my_model.rb +11 -0
  66. data/lib/sink/models/name_child_prop_import_clash_response.rb +21 -0
  67. data/lib/sink/models/name_properties_common_conflicts_response.rb +59 -0
  68. data/lib/sink/models/name_properties_illegal_javascript_identifiers_response.rb +6 -0
  69. data/lib/sink/models/name_response_property_clashes_model_import_response.rb +15 -0
  70. data/lib/sink/models/name_response_shadows_pydantic_response.rb +15 -0
  71. data/lib/sink/models/nested_request_model_a.rb +11 -0
  72. data/lib/sink/models/nested_request_model_b.rb +11 -0
  73. data/lib/sink/models/nested_request_model_c.rb +17 -0
  74. data/lib/sink/models/object_missing_items_response.rb +11 -0
  75. data/lib/sink/models/object_mixed_known_and_unknown_response.rb +11 -0
  76. data/lib/sink/models/object_multiple_array_properties_same_ref_response.rb +42 -0
  77. data/lib/sink/models/object_multiple_properties_same_model_response.rb +19 -0
  78. data/lib/sink/models/object_multiple_properties_same_ref_response.rb +37 -0
  79. data/lib/sink/models/object_skipped_props.rb +27 -0
  80. data/lib/sink/models/object_two_dimensional_array_primitive_property_response.rb +23 -0
  81. data/lib/sink/models/object_with_any_of_null_property.rb +17 -0
  82. data/lib/sink/models/object_with_child_ref.rb +15 -0
  83. data/lib/sink/models/object_with_one_of_null_property.rb +17 -0
  84. data/lib/sink/models/object_with_union_properties.rb +15 -0
  85. data/lib/sink/models/openapi_format_array_type_one_entry_response.rb +11 -0
  86. data/lib/sink/models/openapi_format_array_type_one_entry_with_null_response.rb +11 -0
  87. data/lib/sink/models/openapi_special_used_used_as_property_name_response.rb +11 -0
  88. data/lib/sink/models/page_cursor_shared_ref_pagination.rb +15 -0
  89. data/lib/sink/models/parent_model_with_child_ref.rb +19 -0
  90. data/lib/sink/models/path_param_colon_suffix_response.rb +11 -0
  91. data/lib/sink/models/path_param_file_extension_response.rb +11 -0
  92. data/lib/sink/models/path_param_multiple_response.rb +11 -0
  93. data/lib/sink/models/path_param_query_param_response.rb +11 -0
  94. data/lib/sink/models/path_param_singular_response.rb +11 -0
  95. data/lib/sink/models/primitive_strings_response.rb +11 -0
  96. data/lib/sink/models/private.rb +11 -0
  97. data/lib/sink/models/public.rb +11 -0
  98. data/lib/sink/models/recursion_create_envelope_response.rb +11 -0
  99. data/lib/sink/models/response_allof_simple_response.rb +15 -0
  100. data/lib/sink/models/response_array_object_with_union_properties_response.rb +6 -0
  101. data/lib/sink/models/response_array_response_response.rb +6 -0
  102. data/lib/sink/models/response_missing_required_response.rb +15 -0
  103. data/lib/sink/models/response_nested_array_response.rb +21 -0
  104. data/lib/sink/models/response_object_all_properties_response.rb +49 -0
  105. data/lib/sink/models/response_object_no_properties_response.rb +8 -0
  106. data/lib/sink/models/response_object_with_additional_properties_prop_response.rb +17 -0
  107. data/lib/sink/models/response_object_with_heavily_nested_union_response.rb +11 -0
  108. data/lib/sink/models/response_only_read_only_properties_response.rb +16 -0
  109. data/lib/sink/models/responses_allof_cross_object.rb +15 -0
  110. data/lib/sink/models/return_.rb +11 -0
  111. data/lib/sink/models/root_response.rb +19 -0
  112. data/lib/sink/models/self_recursion.rb +15 -0
  113. data/lib/sink/models/shared_cursor_nested_response_prop_meta.rb +18 -0
  114. data/lib/sink/models/shared_self_recursion.rb +15 -0
  115. data/lib/sink/models/shipping_address.rb +62 -0
  116. data/lib/sink/models/simple_allof.rb +20 -0
  117. data/lib/sink/models/simple_object.rb +19 -0
  118. data/lib/sink/models/skip_this_resource_i_never_appear_response.rb +11 -0
  119. data/lib/sink/models/streaming_basic_response.rb +15 -0
  120. data/lib/sink/models/streaming_nested_params_response.rb +15 -0
  121. data/lib/sink/models/streaming_no_discriminator_response.rb +15 -0
  122. data/lib/sink/models/streaming_query_param_discriminator_response.rb +15 -0
  123. data/lib/sink/models/streaming_with_unrelated_default_param_response.rb +15 -0
  124. data/lib/sink/models/type_dates_response.rb +27 -0
  125. data/lib/sink/models/type_datetimes_response.rb +27 -0
  126. data/lib/sink/models/union_discriminated_variant_a.rb +19 -0
  127. data/lib/sink/models/union_discriminated_variant_b.rb +19 -0
  128. data/lib/sink/models/union_response_discriminated_by_property_name_response.rb +6 -0
  129. data/lib/sink/models/union_response_discriminated_with_basic_mapping_response.rb +6 -0
  130. data/lib/sink/models/union_type_mixed_types_response.rb +6 -0
  131. data/lib/sink/models/union_type_nullable_union_response.rb +6 -0
  132. data/lib/sink/models/union_type_objects_response.rb +6 -0
  133. data/lib/sink/models/union_type_super_mixed_types_response.rb +6 -0
  134. data/lib/sink/models/union_type_unknown_variant_response.rb +6 -0
  135. data/lib/sink/models/version_1_30_name_create_response.rb +11 -0
  136. data/lib/sink/models/widget.rb +12 -0
  137. data/lib/sink/models/write_only_response_simple_response.rb +12 -0
  138. data/lib/sink/page_cursor.rb +49 -0
  139. data/lib/sink/page_cursor_from_headers.rb +49 -0
  140. data/lib/sink/page_cursor_id.rb +45 -0
  141. data/lib/sink/page_cursor_nested_items.rb +65 -0
  142. data/lib/sink/page_cursor_nested_object_ref.rb +59 -0
  143. data/lib/sink/page_cursor_shared_ref.rb +59 -0
  144. data/lib/sink/page_cursor_top_level_array.rb +46 -0
  145. data/lib/sink/page_cursor_url.rb +46 -0
  146. data/lib/sink/page_offset.rb +49 -0
  147. data/lib/sink/page_offset_no_start_field.rb +45 -0
  148. data/lib/sink/page_offset_total_count.rb +53 -0
  149. data/lib/sink/page_page_number.rb +53 -0
  150. data/lib/sink/page_page_number_without_current_page_response.rb +45 -0
  151. data/lib/sink/pooled_net_requester.rb +63 -0
  152. data/lib/sink/request_options.rb +84 -0
  153. data/lib/sink/resources/body_params/objects.rb +31 -0
  154. data/lib/sink/resources/body_params/unions.rb +31 -0
  155. data/lib/sink/resources/body_params.rb +475 -0
  156. data/lib/sink/resources/cards.rb +488 -0
  157. data/lib/sink/resources/casing/eeoc.rb +32 -0
  158. data/lib/sink/resources/casing.rb +15 -0
  159. data/lib/sink/resources/clients.rb +27 -0
  160. data/lib/sink/resources/company/payments.rb +28 -0
  161. data/lib/sink/resources/company.rb +17 -0
  162. data/lib/sink/resources/complex_queries.rb +56 -0
  163. data/lib/sink/resources/config_tools/parent_with_skip_node_python/child_only_skip_python.rb +96 -0
  164. data/lib/sink/resources/config_tools/parent_with_skip_node_python.rb +98 -0
  165. data/lib/sink/resources/config_tools.rb +37 -0
  166. data/lib/sink/resources/decorator_tests/keep_this_resource.rb +27 -0
  167. data/lib/sink/resources/decorator_tests/languages.rb +55 -0
  168. data/lib/sink/resources/decorator_tests/skip_this_resource.rb +26 -0
  169. data/lib/sink/resources/decorator_tests.rb +36 -0
  170. data/lib/sink/resources/deeply_nested/level_one/level_two/level_three.rb +31 -0
  171. data/lib/sink/resources/deeply_nested/level_one/level_two.rb +33 -0
  172. data/lib/sink/resources/deeply_nested/level_one.rb +31 -0
  173. data/lib/sink/resources/deeply_nested.rb +15 -0
  174. data/lib/sink/resources/docstrings.rb +77 -0
  175. data/lib/sink/resources/empty_body.rb +55 -0
  176. data/lib/sink/resources/header_params.rb +33 -0
  177. data/lib/sink/resources/invalid_schemas/arrays.rb +24 -0
  178. data/lib/sink/resources/invalid_schemas/objects.rb +24 -0
  179. data/lib/sink/resources/invalid_schemas.rb +19 -0
  180. data/lib/sink/resources/make_ambiguous_schemas_explicit.rb +24 -0
  181. data/lib/sink/resources/make_ambiguous_schemas_looser.rb +24 -0
  182. data/lib/sink/resources/method_config.rb +156 -0
  183. data/lib/sink/resources/mixed_params/duplicates.rb +73 -0
  184. data/lib/sink/resources/mixed_params.rb +81 -0
  185. data/lib/sink/resources/model_referenced_in_parent_and_child/child.rb +24 -0
  186. data/lib/sink/resources/model_referenced_in_parent_and_child.rb +26 -0
  187. data/lib/sink/resources/names/can_cause_clashes/employment_data.rb +15 -0
  188. data/lib/sink/resources/names/can_cause_clashes/response.rb +30 -0
  189. data/lib/sink/resources/names/can_cause_clashes.rb +22 -0
  190. data/lib/sink/resources/names/documents.rb +26 -0
  191. data/lib/sink/resources/names/openapi_specials.rb +24 -0
  192. data/lib/sink/resources/names/params.rb +47 -0
  193. data/lib/sink/resources/names/reserved_names/import.rb +29 -0
  194. data/lib/sink/resources/names/reserved_names/methods.rb +37 -0
  195. data/lib/sink/resources/names/reserved_names/public/class_.rb +28 -0
  196. data/lib/sink/resources/names/reserved_names/public/interface.rb +28 -0
  197. data/lib/sink/resources/names/reserved_names/public/private.rb +28 -0
  198. data/lib/sink/resources/names/reserved_names/public.rb +38 -0
  199. data/lib/sink/resources/names/reserved_names.rb +43 -0
  200. data/lib/sink/resources/names.rb +139 -0
  201. data/lib/sink/resources/openapi_formats.rb +48 -0
  202. data/lib/sink/resources/pagination_tests/cursor.rb +32 -0
  203. data/lib/sink/resources/pagination_tests/items_types.rb +32 -0
  204. data/lib/sink/resources/pagination_tests/nested_items.rb +32 -0
  205. data/lib/sink/resources/pagination_tests/offset.rb +70 -0
  206. data/lib/sink/resources/pagination_tests/schema_types.rb +51 -0
  207. data/lib/sink/resources/pagination_tests.rb +31 -0
  208. data/lib/sink/resources/parent/child.rb +28 -0
  209. data/lib/sink/resources/parent.rb +17 -0
  210. data/lib/sink/resources/path_params.rb +196 -0
  211. data/lib/sink/resources/positional_params.rb +219 -0
  212. data/lib/sink/resources/query_params.rb +157 -0
  213. data/lib/sink/resources/recursion/shared_responses.rb +24 -0
  214. data/lib/sink/resources/recursion.rb +61 -0
  215. data/lib/sink/resources/resource_refs/paginated_model_first_ref.rb +13 -0
  216. data/lib/sink/resources/resource_refs/paginated_model_second_ref.rb +13 -0
  217. data/lib/sink/resources/resource_refs/parent/child.rb +29 -0
  218. data/lib/sink/resources/resource_refs/parent.rb +30 -0
  219. data/lib/sink/resources/resource_refs.rb +23 -0
  220. data/lib/sink/resources/resources.rb +24 -0
  221. data/lib/sink/resources/responses/union_types.rb +91 -0
  222. data/lib/sink/resources/responses.rb +297 -0
  223. data/lib/sink/resources/shared_query_params.rb +45 -0
  224. data/lib/sink/resources/streaming.rb +96 -0
  225. data/lib/sink/resources/testing.rb +22 -0
  226. data/lib/sink/resources/tests.rb +24 -0
  227. data/lib/sink/resources/tools.rb +30 -0
  228. data/lib/sink/resources/types/allofs.rb +13 -0
  229. data/lib/sink/resources/types/arrays.rb +57 -0
  230. data/lib/sink/resources/types/enums.rb +86 -0
  231. data/lib/sink/resources/types/maps.rb +27 -0
  232. data/lib/sink/resources/types/objects.rb +98 -0
  233. data/lib/sink/resources/types/primitives.rb +31 -0
  234. data/lib/sink/resources/types/read_only_params.rb +31 -0
  235. data/lib/sink/resources/types/unions.rb +115 -0
  236. data/lib/sink/resources/types/write_only_responses.rb +26 -0
  237. data/lib/sink/resources/types.rb +90 -0
  238. data/lib/sink/resources/undocumented_resource.rb +44 -0
  239. data/lib/sink/resources/version_1_30_names.rb +38 -0
  240. data/lib/sink/resources/widgets.rb +28 -0
  241. data/lib/sink/util.rb +78 -0
  242. data/lib/sink/version.rb +5 -0
  243. data/lib/sink.rb +253 -0
  244. metadata +301 -0
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class ResourceRefs
6
+ class PaginatedModelSecondRef
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class ResourceRefs
6
+ class Parent
7
+ class Child
8
+ def initialize(client:)
9
+ @client = client
10
+ end
11
+
12
+ # endpoint that returns a model that is referenced from a model in a parent
13
+ # resource
14
+ #
15
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
16
+ #
17
+ # @return [Sink::Models::ChildModel]
18
+ def returns_child_model(opts = {})
19
+ req = {}
20
+ req[:method] = :get
21
+ req[:path] = "/resource_refs/child"
22
+ req[:model] = Sink::Models::ChildModel
23
+ @client.request(req, opts)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class ResourceRefs
6
+ class Parent
7
+ # @return [Sink::Resources::ResourceRefs::Parent::Child]
8
+ attr_reader :child
9
+
10
+ def initialize(client:)
11
+ @client = client
12
+ @child = Sink::Resources::ResourceRefs::Parent::Child.new(client: client)
13
+ end
14
+
15
+ # endpoint that returns a model that has a nested reference to a child model
16
+ #
17
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
18
+ #
19
+ # @return [Sink::Models::ParentModelWithChildRef]
20
+ def returns_parent_model_with_child_ref(opts = {})
21
+ req = {}
22
+ req[:method] = :get
23
+ req[:path] = "/resource_refs/parent_with_child_ref"
24
+ req[:model] = Sink::Models::ParentModelWithChildRef
25
+ @client.request(req, opts)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class ResourceRefs
6
+ # @return [Sink::Resources::ResourceRefs::PaginatedModelFirstRef]
7
+ attr_reader :paginated_model_first_ref
8
+
9
+ # @return [Sink::Resources::ResourceRefs::PaginatedModelSecondRef]
10
+ attr_reader :paginated_model_second_ref
11
+
12
+ # @return [Sink::Resources::ResourceRefs::Parent]
13
+ attr_reader :parent
14
+
15
+ def initialize(client:)
16
+ @client = client
17
+ @paginated_model_first_ref = Sink::Resources::ResourceRefs::PaginatedModelFirstRef.new(client: client)
18
+ @paginated_model_second_ref = Sink::Resources::ResourceRefs::PaginatedModelSecondRef.new(client: client)
19
+ @parent = Sink::Resources::ResourceRefs::Parent.new(client: client)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class Resources
6
+ def initialize(client:)
7
+ @client = client
8
+ end
9
+
10
+ # Endpoint returning no response
11
+ #
12
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
13
+ #
14
+ # @return [nil]
15
+ def foo(opts = {})
16
+ req = {}
17
+ req[:method] = :post
18
+ req[:path] = "/no_response"
19
+ req[:model] = NilClass
20
+ @client.request(req, opts)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class Responses
6
+ class UnionTypes
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+
11
+ # Endpoint with a top level union response of different types.
12
+ #
13
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
14
+ #
15
+ # @return [Boolean, Sink::Models::SimpleObject, Sink::Models::UnionTypeMixedTypesResponse::UnnamedTypeWithunionParent4]
16
+ def mixed_types(opts = {})
17
+ req = {}
18
+ req[:method] = :post
19
+ req[:path] = "/responses/unions/mixed_types"
20
+ req[:model] = Sink::Unknown
21
+ @client.request(req, opts)
22
+ end
23
+
24
+ # Endpoint with a top level union response of floats and integers.
25
+ #
26
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
27
+ #
28
+ # @return [Sink::Models::SimpleObject, Sink::Models::UnionTypeNullableUnionResponse::UnnamedTypeWithunionParent5]
29
+ def nullable_union(opts = {})
30
+ req = {}
31
+ req[:method] = :post
32
+ req[:path] = "/responses/unions/nullable"
33
+ req[:model] = Sink::Unknown
34
+ @client.request(req, opts)
35
+ end
36
+
37
+ # Endpoint with a top level union response of floats and integers.
38
+ #
39
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
40
+ #
41
+ # @return [Float]
42
+ def numbers(opts = {})
43
+ req = {}
44
+ req[:method] = :post
45
+ req[:path] = "/responses/unions/numbers"
46
+ req[:model] = Float
47
+ @client.request(req, opts)
48
+ end
49
+
50
+ # Endpoint with a top level union response of just object variants.
51
+ #
52
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
53
+ #
54
+ # @return [Sink::Models::SimpleObject, Sink::Models::UnionTypeObjectsResponse::UnnamedTypeWithunionParent6]
55
+ def objects(opts = {})
56
+ req = {}
57
+ req[:method] = :post
58
+ req[:path] = "/responses/unions/objects"
59
+ req[:model] = Sink::Unknown
60
+ @client.request(req, opts)
61
+ end
62
+
63
+ # Endpoint with a top level union response of different types.
64
+ #
65
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
66
+ #
67
+ # @return [Boolean, Object, Sink::Models::SimpleObject, Sink::Models::UnionTypeSuperMixedTypesResponse::UnnamedTypeWithunionParent7, String]
68
+ def super_mixed_types(opts = {})
69
+ req = {}
70
+ req[:method] = :post
71
+ req[:path] = "/responses/unions/super_mixed_types"
72
+ req[:model] = Sink::Unknown
73
+ @client.request(req, opts)
74
+ end
75
+
76
+ # Endpoint with a top level union response with a variant that is `type: unknown`
77
+ #
78
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
79
+ #
80
+ # @return [Object, Sink::Models::SimpleObject]
81
+ def unknown_variant(opts = {})
82
+ req = {}
83
+ req[:method] = :post
84
+ req[:path] = "/responses/unions/unknown_variant"
85
+ req[:model] = Sink::Unknown
86
+ @client.request(req, opts)
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,297 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class Responses
6
+ # @return [Sink::Resources::Responses::UnionTypes]
7
+ attr_reader :union_types
8
+
9
+ def initialize(client:)
10
+ @client = client
11
+ @union_types = Sink::Resources::Responses::UnionTypes.new(client: client)
12
+ end
13
+
14
+ # Endpoint with a top level additionalProperties response.
15
+ #
16
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
17
+ #
18
+ # @return [Hash]
19
+ def additional_properties(opts = {})
20
+ req = {}
21
+ req[:method] = :post
22
+ req[:path] = "/responses/additional_properties"
23
+ req[:model] = Hash
24
+ @client.request(req, opts)
25
+ end
26
+
27
+ # Endpoint with a top level additionalProperties response where the items type
28
+ # points to an object defined as a model in the config.
29
+ #
30
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
31
+ #
32
+ # @return [Hash]
33
+ def additional_properties_nested_model_reference(opts = {})
34
+ req = {}
35
+ req[:method] = :post
36
+ req[:path] = "/responses/additional_properties_nested_model_reference"
37
+ req[:model] = Hash
38
+ @client.request(req, opts)
39
+ end
40
+
41
+ # Method with a response object defined using allOf and inline schema definitions.
42
+ #
43
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
44
+ #
45
+ # @return [Sink::Models::ResponseAllofSimpleResponse]
46
+ def allof_simple(opts = {})
47
+ req = {}
48
+ req[:method] = :get
49
+ req[:path] = "/responses/allof/simple"
50
+ req[:model] = Sink::Models::ResponseAllofSimpleResponse
51
+ @client.request(req, opts)
52
+ end
53
+
54
+ # Method with a response object that uses anyOf to indicate nullability.
55
+ #
56
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
57
+ #
58
+ # @return [Sink::Models::ObjectWithAnyOfNullProperty]
59
+ def anyof_null(opts = {})
60
+ req = {}
61
+ req[:method] = :get
62
+ req[:path] = "/responses/anyof_null"
63
+ req[:model] = Sink::Models::ObjectWithAnyOfNullProperty
64
+ @client.request(req, opts)
65
+ end
66
+
67
+ # Endpoint that returns an array of objects with union properties.
68
+ #
69
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
70
+ #
71
+ # @return [Array<Sink::Models::ObjectWithUnionProperties>]
72
+ def array_object_with_union_properties(opts = {})
73
+ req = {}
74
+ req[:method] = :get
75
+ req[:path] = "/responses/array/object_with_union_properties"
76
+ req[:model] = Sink::ArrayOf.new(Sink::Models::ObjectWithUnionProperties)
77
+ @client.request(req, opts)
78
+ end
79
+
80
+ # Endpoint that returns a top-level array.
81
+ #
82
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
83
+ #
84
+ # @return [Array<Sink::Models::SimpleObject>]
85
+ def array_response(opts = {})
86
+ req = {}
87
+ req[:method] = :get
88
+ req[:path] = "/responses/array"
89
+ req[:model] = Sink::ArrayOf.new(Sink::Models::SimpleObject)
90
+ @client.request(req, opts)
91
+ end
92
+
93
+ # Endpoint with a top level boolean response.
94
+ #
95
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
96
+ #
97
+ # @return [Boolean]
98
+ def boolean_response(opts = {})
99
+ req = {}
100
+ req[:method] = :post
101
+ req[:path] = "/responses/boolean"
102
+ req[:model] = Sink::BooleanModel
103
+ @client.request(req, opts)
104
+ end
105
+
106
+ # Endpoint with an empty response.
107
+ #
108
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
109
+ #
110
+ # @return [nil]
111
+ def empty_response(opts = {})
112
+ req = {}
113
+ req[:method] = :post
114
+ req[:path] = "/responses/empty"
115
+ req[:model] = NilClass
116
+ @client.request(req, opts)
117
+ end
118
+
119
+ # Endpoint with a top level integer response.
120
+ #
121
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
122
+ #
123
+ # @return [Integer]
124
+ def integer_response(opts = {})
125
+ req = {}
126
+ req[:method] = :post
127
+ req[:path] = "/responses/integer"
128
+ req[:model] = Integer
129
+ @client.request(req, opts)
130
+ end
131
+
132
+ # Endpoint with a response schema that doesn't set the `required` property.
133
+ #
134
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
135
+ #
136
+ # @return [Sink::Models::ResponseMissingRequiredResponse]
137
+ def missing_required(opts = {})
138
+ req = {}
139
+ req[:method] = :get
140
+ req[:path] = "/responses/missing_required"
141
+ req[:model] = Sink::Models::ResponseMissingRequiredResponse
142
+ @client.request(req, opts)
143
+ end
144
+
145
+ # Endpoint that returns a nested array.
146
+ #
147
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
148
+ #
149
+ # @return [Sink::Models::ResponseNestedArrayResponse]
150
+ def nested_array(opts = {})
151
+ req = {}
152
+ req[:method] = :get
153
+ req[:path] = "/responses/array/nested"
154
+ req[:model] = Sink::Models::ResponseNestedArrayResponse
155
+ @client.request(req, opts)
156
+ end
157
+
158
+ # Method with a response object with a different property for each supported type.
159
+ #
160
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
161
+ #
162
+ # @return [Sink::Models::ResponseObjectAllPropertiesResponse]
163
+ def object_all_properties(opts = {})
164
+ req = {}
165
+ req[:method] = :get
166
+ req[:path] = "/responses/object/everything"
167
+ req[:model] = Sink::Models::ResponseObjectAllPropertiesResponse
168
+ @client.request(req, opts)
169
+ end
170
+
171
+ # Endpoint with an empty response.
172
+ #
173
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
174
+ #
175
+ # @return [Sink::Models::ResponseObjectNoPropertiesResponse]
176
+ def object_no_properties(opts = {})
177
+ req = {}
178
+ req[:method] = :post
179
+ req[:path] = "/responses/object_no_properties"
180
+ req[:model] = Sink::Models::ResponseObjectNoPropertiesResponse
181
+ @client.request(req, opts)
182
+ end
183
+
184
+ # Endpoint with an object response that contains an `additionalProperties`
185
+ # property with a nested schema.
186
+ #
187
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
188
+ #
189
+ # @return [Sink::Models::ResponseObjectWithAdditionalPropertiesPropResponse]
190
+ def object_with_additional_properties_prop(opts = {})
191
+ req = {}
192
+ req[:method] = :post
193
+ req[:path] = "/responses/object_with_additional_properties_prop"
194
+ req[:model] = Sink::Models::ResponseObjectWithAdditionalPropertiesPropResponse
195
+ @client.request(req, opts)
196
+ end
197
+
198
+ # Endpoint with an object response that contains a union property with multiple
199
+ # nested schemas.
200
+ #
201
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
202
+ #
203
+ # @return [Sink::Models::ResponseObjectWithHeavilyNestedUnionResponse]
204
+ def object_with_heavily_nested_union(opts = {})
205
+ req = {}
206
+ req[:method] = :post
207
+ req[:path] = "/responses/object_with_heavily_nested_union"
208
+ req[:model] = Sink::Models::ResponseObjectWithHeavilyNestedUnionResponse
209
+ @client.request(req, opts)
210
+ end
211
+
212
+ # Method with a response object that uses oneOf to indicate nullability.
213
+ #
214
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
215
+ #
216
+ # @return [Sink::Models::ObjectWithOneOfNullProperty]
217
+ def oneof_null(opts = {})
218
+ req = {}
219
+ req[:method] = :get
220
+ req[:path] = "/responses/oneof_null"
221
+ req[:model] = Sink::Models::ObjectWithOneOfNullProperty
222
+ @client.request(req, opts)
223
+ end
224
+
225
+ # Endpoint with a response that only has `readOnly` properties
226
+ #
227
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
228
+ #
229
+ # @return [Sink::Models::ResponseOnlyReadOnlyPropertiesResponse]
230
+ def only_read_only_properties(opts = {})
231
+ req = {}
232
+ req[:method] = :get
233
+ req[:path] = "/responses/only_read_only_properties"
234
+ req[:model] = Sink::Models::ResponseOnlyReadOnlyPropertiesResponse
235
+ @client.request(req, opts)
236
+ end
237
+
238
+ # Endpoint that returns a $ref to SimpleObject. This is used to test shared
239
+ # response models.
240
+ #
241
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
242
+ #
243
+ # @return [Sink::Models::SimpleObject]
244
+ def shared_simple_object(opts = {})
245
+ req = {}
246
+ req[:method] = :get
247
+ req[:path] = "/responses/shared_simple_object"
248
+ req[:model] = Sink::Models::SimpleObject
249
+ @client.request(req, opts)
250
+ end
251
+
252
+ # Endpoint with a top level string response.
253
+ #
254
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
255
+ #
256
+ # @return [String]
257
+ def string_response(opts = {})
258
+ req = {}
259
+ req[:method] = :post
260
+ req[:path] = "/responses/string"
261
+ req[:model] = String
262
+ @client.request(req, opts)
263
+ end
264
+
265
+ # Should not generate a named return type for object without defined properties;
266
+ # instead, it should simply use an `unknown` type or equivalent. In Java and Go,
267
+ # where we have fancier accessors for raw json stuff, we should generate a named
268
+ # type, but it should basically just have untyped additional properties. See
269
+ # https://linear.app/stainless/issue/STA-563/no-type-should-be-generated-for-endpoints-returning-type-object-schema.
270
+ #
271
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
272
+ #
273
+ # @return [Object]
274
+ def unknown_object(opts = {})
275
+ req = {}
276
+ req[:method] = :post
277
+ req[:path] = "/responses/unknown_object"
278
+ req[:model] = Sink::Unknown
279
+ @client.request(req, opts)
280
+ end
281
+
282
+ # Should return a ModelWithNestedModel object with a `properties` field that we
283
+ # can rename in the Stainless config to a prettier name.
284
+ #
285
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
286
+ #
287
+ # @return [Sink::Models::ModelWithNestedModel]
288
+ def with_model_in_nested_path(opts = {})
289
+ req = {}
290
+ req[:method] = :get
291
+ req[:path] = "/responses/with_model_in_nested_path"
292
+ req[:model] = Sink::Models::ModelWithNestedModel
293
+ @client.request(req, opts)
294
+ end
295
+ end
296
+ end
297
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class SharedQueryParams
6
+ def initialize(client:)
7
+ @client = client
8
+ end
9
+
10
+ # @param params [Hash] Attributes to send in this request.
11
+ # @option params [String, nil] :get1
12
+ # @option params [String, nil] :shared1
13
+ # @option params [String, nil] :shared2
14
+ #
15
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
16
+ #
17
+ # @return [String]
18
+ def retrieve(params = {}, opts = {})
19
+ req = {}
20
+ req[:method] = :get
21
+ req[:path] = "/shared-query-params"
22
+ req[:query] = params
23
+ req[:model] = String
24
+ @client.request(req, opts)
25
+ end
26
+
27
+ # @param params [Hash] Attributes to send in this request.
28
+ # @option params [String, nil] :get1
29
+ # @option params [String, nil] :shared1
30
+ # @option params [String, nil] :shared2
31
+ #
32
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
33
+ #
34
+ # @return [String]
35
+ def del(params = {}, opts = {})
36
+ req = {}
37
+ req[:method] = :delete
38
+ req[:path] = "/shared-query-params"
39
+ req[:query] = params
40
+ req[:model] = String
41
+ @client.request(req, opts)
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class Streaming
6
+ def initialize(client:)
7
+ @client = client
8
+ end
9
+
10
+ # @param params [Hash] Attributes to send in this request.
11
+ # @option params [String] :model
12
+ # @option params [String] :prompt
13
+ # @option params [Boolean] :stream
14
+ #
15
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
16
+ #
17
+ # @return [Sink::Models::StreamingBasicResponse]
18
+ def basic(params = {}, opts = {})
19
+ req = {}
20
+ req[:method] = :post
21
+ req[:path] = "/streaming/basic"
22
+ req[:body] = params
23
+ req[:model] = Sink::Models::StreamingBasicResponse
24
+ @client.request(req, opts)
25
+ end
26
+
27
+ # @param params [Hash] Attributes to send in this request.
28
+ # @option params [String] :model
29
+ # @option params [String] :prompt
30
+ # @option params [ParentObject, nil] :parent_object
31
+ # @option params [Boolean] :stream
32
+ #
33
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
34
+ #
35
+ # @return [Sink::Models::StreamingNestedParamsResponse]
36
+ def nested_params(params = {}, opts = {})
37
+ req = {}
38
+ req[:method] = :post
39
+ req[:path] = "/streaming/nested_params"
40
+ req[:body] = params
41
+ req[:model] = Sink::Models::StreamingNestedParamsResponse
42
+ @client.request(req, opts)
43
+ end
44
+
45
+ # @param params [Hash] Attributes to send in this request.
46
+ # @option params [String] :model
47
+ # @option params [String] :prompt
48
+ #
49
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
50
+ #
51
+ # @return [Sink::Models::StreamingNoDiscriminatorResponse]
52
+ def no_discriminator(params = {}, opts = {})
53
+ req = {}
54
+ req[:method] = :post
55
+ req[:path] = "/streaming/no_discriminator"
56
+ req[:body] = params
57
+ req[:model] = Sink::Models::StreamingNoDiscriminatorResponse
58
+ @client.request(req, opts)
59
+ end
60
+
61
+ # @param params [Hash] Attributes to send in this request.
62
+ # @option params [String] :prompt
63
+ # @option params [Boolean] :should_stream
64
+ #
65
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
66
+ #
67
+ # @return [Sink::Models::StreamingQueryParamDiscriminatorResponse]
68
+ def query_param_discriminator(params = {}, opts = {})
69
+ req = {}
70
+ req[:method] = :get
71
+ req[:path] = "/streaming/query_param_discriminator"
72
+ req[:query] = params
73
+ req[:model] = Sink::Models::StreamingQueryParamDiscriminatorResponse
74
+ @client.request(req, opts)
75
+ end
76
+
77
+ # @param params [Hash] Attributes to send in this request.
78
+ # @option params [String] :model
79
+ # @option params [Symbol, ParamWithDefaultValue] :param_with_default_value
80
+ # @option params [String] :prompt
81
+ # @option params [Boolean] :stream
82
+ #
83
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
84
+ #
85
+ # @return [Sink::Models::StreamingWithUnrelatedDefaultParamResponse]
86
+ def with_unrelated_default_param(params = {}, opts = {})
87
+ req = {}
88
+ req[:method] = :post
89
+ req[:path] = "/streaming/with_unrelated_default_param"
90
+ req[:body] = params
91
+ req[:model] = Sink::Models::StreamingWithUnrelatedDefaultParamResponse
92
+ @client.request(req, opts)
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class Testing
6
+ def initialize(client:)
7
+ @client = client
8
+ end
9
+
10
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
11
+ #
12
+ # @return [Sink::Models::RootResponse]
13
+ def root(opts = {})
14
+ req = {}
15
+ req[:method] = :get
16
+ req[:path] = "/"
17
+ req[:model] = Sink::Models::RootResponse
18
+ @client.request(req, opts)
19
+ end
20
+ end
21
+ end
22
+ end