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,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class Parent
6
+ # Some children can be very large
7
+ # For example, the children of Godzilla
8
+ # @return [Sink::Resources::Parent::Child]
9
+ attr_reader :child
10
+
11
+ def initialize(client:)
12
+ @client = client
13
+ @child = Sink::Resources::Parent::Child.new(client: client)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,196 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class PathParams
6
+ def initialize(client:)
7
+ @client = client
8
+ end
9
+
10
+ # Endpoint with a path param followed by a verb.
11
+ #
12
+ # @param with_verb [Integer]
13
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
14
+ #
15
+ # @return [Sink::Models::PathParamColonSuffixResponse]
16
+ def colon_suffix(with_verb, opts = {})
17
+ req = {}
18
+ req[:method] = :post
19
+ req[:path] = "/path_params/#{with_verb}:initiate"
20
+ req[:model] = Sink::Models::PathParamColonSuffixResponse
21
+ @client.request(req, opts)
22
+ end
23
+
24
+ # Endpoint with a singular path parameter that uses a `dash` separator.
25
+ #
26
+ # @param dashed_param [String]
27
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
28
+ #
29
+ # @return [Sink::Models::BasicSharedModelObject]
30
+ def dashed_param(dashed_param, opts = {})
31
+ req = {}
32
+ req[:method] = :post
33
+ req[:path] = "/path_params/#{dashed_param}"
34
+ req[:model] = Sink::Models::BasicSharedModelObject
35
+ @client.request(req, opts)
36
+ end
37
+
38
+ # Endpoint with a singular path parameter that is a date type.
39
+ #
40
+ # @param date_param [Date]
41
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
42
+ #
43
+ # @return [Sink::Models::BasicSharedModelObject]
44
+ def date_param(date_param, opts = {})
45
+ req = {}
46
+ req[:method] = :post
47
+ req[:path] = "/path_params/dates/#{date_param}"
48
+ req[:model] = Sink::Models::BasicSharedModelObject
49
+ @client.request(req, opts)
50
+ end
51
+
52
+ # Endpoint with a singular path parameter that is a date-time type.
53
+ #
54
+ # @param datetime_param [DateTime] An ISO 8601 timestamp for when the card was created. UTC time zone.
55
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
56
+ #
57
+ # @return [Sink::Models::BasicSharedModelObject]
58
+ def datetime_param(datetime_param, opts = {})
59
+ req = {}
60
+ req[:method] = :post
61
+ req[:path] = "/path_params/date_times/#{datetime_param}"
62
+ req[:model] = Sink::Models::BasicSharedModelObject
63
+ @client.request(req, opts)
64
+ end
65
+
66
+ # Endpoint with a singular path parameter that is an enum type.
67
+ #
68
+ # @param enum_param [Symbol, EnumParam]
69
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
70
+ #
71
+ # @return [Sink::Models::BasicSharedModelObject]
72
+ def enum_param(enum_param, opts = {})
73
+ req = {}
74
+ req[:method] = :post
75
+ req[:path] = "/path_params/enums/#{enum_param}"
76
+ req[:model] = Sink::Models::BasicSharedModelObject
77
+ @client.request(req, opts)
78
+ end
79
+
80
+ # Endpoint with a path param followed by a file extension.
81
+ #
82
+ # @param with_file_extension [Integer]
83
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
84
+ #
85
+ # @return [Sink::Models::PathParamFileExtensionResponse]
86
+ def file_extension(with_file_extension, opts = {})
87
+ req = {}
88
+ req[:method] = :post
89
+ req[:path] = "/path_params/#{with_file_extension}.json"
90
+ req[:model] = Sink::Models::PathParamFileExtensionResponse
91
+ @client.request(req, opts)
92
+ end
93
+
94
+ # Endpoint with a singular path parameter that is of an integer type.
95
+ #
96
+ # @param integer_param [Integer]
97
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
98
+ #
99
+ # @return [Sink::Models::BasicSharedModelObject]
100
+ def integer_param(integer_param, opts = {})
101
+ req = {}
102
+ req[:method] = :post
103
+ req[:path] = "/path_params/#{integer_param}"
104
+ req[:model] = Sink::Models::BasicSharedModelObject
105
+ @client.request(req, opts)
106
+ end
107
+
108
+ # Endpoint with multiple path parameters.
109
+ #
110
+ # @param first [String]
111
+ # @param second [String]
112
+ # @param last [String]
113
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
114
+ #
115
+ # @return [Sink::Models::PathParamMultipleResponse]
116
+ def multiple(first, second, last, opts = {})
117
+ req = {}
118
+ req[:method] = :post
119
+ req[:path] = "/path_params/#{first}/#{second}/#{last}"
120
+ req[:model] = Sink::Models::PathParamMultipleResponse
121
+ @client.request(req, opts)
122
+ end
123
+
124
+ # Endpoint with nullable path parameters.
125
+ #
126
+ # In a spec file nullable path params are ambiguous and likely to be a mistake.
127
+ # They are transformed to non-nullable as part of the spec normalization and a
128
+ # diagnostic is emitted.
129
+ #
130
+ # @param nullable_param_1 [String]
131
+ #
132
+ # @param nullable_param_2 [String]
133
+ #
134
+ # @param nullable_param_3 [Symbol, NullableParam3]
135
+ #
136
+ # @param params [Hash] Attributes to send in this request.
137
+ # @option params [String, nil] :foo
138
+ #
139
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
140
+ #
141
+ # @return [Sink::Models::BasicSharedModelObject]
142
+ def nullable_params(nullable_param_1, nullable_param_2, nullable_param_3, params = {}, opts = {})
143
+ req = {}
144
+ req[:method] = :post
145
+ req[:path] = "/path_params/nullable/#{nullable_param_1}/#{nullable_param_2}/#{nullable_param_3}"
146
+ req[:body] = params
147
+ req[:model] = Sink::Models::BasicSharedModelObject
148
+ @client.request(req, opts)
149
+ end
150
+
151
+ # Endpoint with multiple path parameters that are of different types, e.g. one
152
+ # integer type and the other string type.
153
+ #
154
+ # @param integer_param [Integer]
155
+ # @param string_param [String]
156
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
157
+ #
158
+ # @return [Sink::Models::BasicSharedModelObject]
159
+ def params_mixed_types(integer_param, string_param, opts = {})
160
+ req = {}
161
+ req[:method] = :post
162
+ req[:path] = "/path_params/mixed/#{integer_param}/#{string_param}"
163
+ req[:model] = Sink::Models::BasicSharedModelObject
164
+ @client.request(req, opts)
165
+ end
166
+
167
+ # Endpoint with a path param followed by a query param in the path itself.
168
+ #
169
+ # @param with_query_param [Integer]
170
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
171
+ #
172
+ # @return [Sink::Models::PathParamQueryParamResponse]
173
+ def query_param(with_query_param, opts = {})
174
+ req = {}
175
+ req[:method] = :post
176
+ req[:path] = "/path_params/#{with_query_param}?beta=true"
177
+ req[:model] = Sink::Models::PathParamQueryParamResponse
178
+ @client.request(req, opts)
179
+ end
180
+
181
+ # Endpoint with a singular path parameter.
182
+ #
183
+ # @param singular [String]
184
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
185
+ #
186
+ # @return [Sink::Models::PathParamSingularResponse]
187
+ def singular(singular, opts = {})
188
+ req = {}
189
+ req[:method] = :post
190
+ req[:path] = "/path_params/#{singular}"
191
+ req[:model] = Sink::Models::PathParamSingularResponse
192
+ @client.request(req, opts)
193
+ end
194
+ end
195
+ end
196
+ end
@@ -0,0 +1,219 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class PositionalParams
6
+ def initialize(client:)
7
+ @client = client
8
+ end
9
+
10
+ # Endpoint with no positional params and a body param.
11
+ #
12
+ # @param params [Hash] Attributes to send in this request.
13
+ # @option params [String] :key1
14
+ # @option params [String, nil] :options
15
+ #
16
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
17
+ #
18
+ # @return [nil]
19
+ def basic_body(params = {}, opts = {})
20
+ req = {}
21
+ req[:method] = :post
22
+ req[:path] = "/positional_params/basic_body"
23
+ req[:body] = params
24
+ req[:model] = NilClass
25
+ @client.request(req, opts)
26
+ end
27
+
28
+ # Endpoint with no positional params and a query object.
29
+ #
30
+ # @param params [Hash] Attributes to send in this request.
31
+ # @option params [String] :key1
32
+ #
33
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
34
+ #
35
+ # @return [nil]
36
+ def basic_query(params = {}, opts = {})
37
+ req = {}
38
+ req[:method] = :get
39
+ req[:path] = "/positional_params/basic_query"
40
+ req[:query] = params
41
+ req[:model] = NilClass
42
+ @client.request(req, opts)
43
+ end
44
+
45
+ # Endpoint with no positional params and a body object.
46
+ #
47
+ # @param params [Hash] Attributes to send in this request.
48
+ # @option params [String, nil] :foo
49
+ #
50
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
51
+ #
52
+ # @return [nil]
53
+ def body(params = {}, opts = {})
54
+ req = {}
55
+ req[:method] = :post
56
+ req[:path] = "/positional_params/body"
57
+ req[:body] = params
58
+ req[:model] = NilClass
59
+ @client.request(req, opts)
60
+ end
61
+
62
+ # Endpoint with no positional params and a body object.
63
+ #
64
+ # @param params [Hash] Attributes to send in this request.
65
+ # @option params [String] :extra_key
66
+ # @option params [String, nil] :foo
67
+ #
68
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
69
+ #
70
+ # @return [nil]
71
+ def body_extra_param(params = {}, opts = {})
72
+ req = {}
73
+ req[:method] = :post
74
+ req[:path] = "/positional_params/body_extra_param"
75
+ req[:body] = params
76
+ req[:model] = NilClass
77
+ @client.request(req, opts)
78
+ end
79
+
80
+ # Endpoint with everything under the sun (to excercise positional params).
81
+ #
82
+ # @param id [String] Path param:
83
+ #
84
+ # @param params [Hash] Attributes to send in this request.
85
+ # @option params [String] :key Path param:
86
+ # @option params [String] :im_a_camel Query param:
87
+ # @option params [Boolean] :option1 Query param:
88
+ # @option params [String] :camel_case Body param:
89
+ # @option params [String, nil] :option2 Query param:
90
+ # @option params [String, nil] :really_cool_snake Query param:
91
+ # @option params [Float, nil] :bar Body param: Some cool description.
92
+ # @option params [String, nil] :options Body param:
93
+ # @option params [String, nil] :x_custom_header Header param:
94
+ #
95
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
96
+ #
97
+ # @return [nil]
98
+ def kitchen_sink(id, params = {}, opts = {})
99
+ req = {}
100
+ req[:method] = :post
101
+ req[:path] = "/positional_params/query/#{id}/kitchen_sink/#{params.fetch(:key)}"
102
+ query_params = [:imACamel, :option1, :option2, :really_cool_snake]
103
+ req[:query] = params.slice(*query_params)
104
+ req[:body] = params.except(*query_params)
105
+ req[:model] = NilClass
106
+ @client.request(req, opts)
107
+ end
108
+
109
+ # Endpoint with a positional path parameter in the middle.
110
+ #
111
+ # @param second [String] Path param:
112
+ #
113
+ # @param params [Hash] Attributes to send in this request.
114
+ # @option params [String] :first Path param: Something first.
115
+ # @option params [String] :last Path param: Something Last.
116
+ # @option params [String] :name Body param:
117
+ # @option params [String, nil] :options Body param:
118
+ #
119
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
120
+ #
121
+ # @return [nil]
122
+ def multiple_path_params(second, params = {}, opts = {})
123
+ req = {}
124
+ req[:method] = :post
125
+ req[:path] = "/positional_params/#{params.fetch(:first)}/#{second}/#{params.fetch(:last)}"
126
+ req[:body] = params
127
+ req[:model] = NilClass
128
+ @client.request(req, opts)
129
+ end
130
+
131
+ # Endpoint with a positional query parameter.
132
+ #
133
+ # @param params [Hash] Attributes to send in this request.
134
+ # @option params [String] :foo
135
+ #
136
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
137
+ #
138
+ # @return [nil]
139
+ def query(params = {}, opts = {})
140
+ req = {}
141
+ req[:method] = :get
142
+ req[:path] = "/positional_params/query"
143
+ req[:query] = params
144
+ req[:model] = NilClass
145
+ @client.request(req, opts)
146
+ end
147
+
148
+ # Endpoint with a positional path parameter and a query parameter.
149
+ #
150
+ # @param id [String]
151
+ #
152
+ # @param params [Hash] Attributes to send in this request.
153
+ # @option params [Float] :bar
154
+ #
155
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
156
+ #
157
+ # @return [nil]
158
+ def query_and_path(id, params = {}, opts = {})
159
+ req = {}
160
+ req[:method] = :post
161
+ req[:path] = "/positional_params/query/#{id}"
162
+ req[:query] = params
163
+ req[:model] = NilClass
164
+ @client.request(req, opts)
165
+ end
166
+
167
+ # Endpoint with a positional query parameter.
168
+ #
169
+ # @param params [Hash] Attributes to send in this request.
170
+ # @option params [String] :bar Some description about bar.
171
+ # @option params [String] :foo Some description about foo.
172
+ #
173
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
174
+ #
175
+ # @return [nil]
176
+ def query_multiple(params = {}, opts = {})
177
+ req = {}
178
+ req[:method] = :get
179
+ req[:path] = "/positional_params/query_multiple"
180
+ req[:query] = params
181
+ req[:model] = NilClass
182
+ @client.request(req, opts)
183
+ end
184
+
185
+ # Endpoint with a single positional path parameter.
186
+ #
187
+ # @param single [String]
188
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
189
+ #
190
+ # @return [nil]
191
+ def single(single, opts = {})
192
+ req = {}
193
+ req[:method] = :get
194
+ req[:path] = "/positional_params/#{single}"
195
+ req[:model] = NilClass
196
+ @client.request(req, opts)
197
+ end
198
+
199
+ # Endpoint with no positional params and a body object.
200
+ #
201
+ # @param id [String] Some id.
202
+ #
203
+ # @param params [Hash] Attributes to send in this request.
204
+ # @option params [Symbol, Kind] :kind
205
+ #
206
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
207
+ #
208
+ # @return [nil]
209
+ def union_body_and_path(id, params = {}, opts = {})
210
+ req = {}
211
+ req[:method] = :post
212
+ req[:path] = "/positional_params/body/union/#{id}"
213
+ req[:body] = params
214
+ req[:model] = NilClass
215
+ @client.request(req, opts)
216
+ end
217
+ end
218
+ end
219
+ end
@@ -0,0 +1,157 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class QueryParams
6
+ def initialize(client:)
7
+ @client = client
8
+ end
9
+
10
+ # Endpoint with allOf query params
11
+ #
12
+ # @param params [Hash] Attributes to send in this request.
13
+ # @option params [FooAndBar, nil] :foo_and_bar
14
+ #
15
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
16
+ #
17
+ # @return [nil]
18
+ def all_of(params = {}, opts = {})
19
+ req = {}
20
+ req[:method] = :get
21
+ req[:path] = "/query_params/allOf"
22
+ req[:query] = params
23
+ req[:model] = NilClass
24
+ @client.request(req, opts)
25
+ end
26
+
27
+ # Endpoint with anyOf query params
28
+ #
29
+ # @param params [Hash] Attributes to send in this request.
30
+ # @option params [Integer, String, nil] :string_or_integer
31
+ #
32
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
33
+ #
34
+ # @return [nil]
35
+ def any_of(params = {}, opts = {})
36
+ req = {}
37
+ req[:method] = :get
38
+ req[:path] = "/query_params/anyOf"
39
+ req[:query] = params
40
+ req[:model] = NilClass
41
+ @client.request(req, opts)
42
+ end
43
+
44
+ # Endpoint with anyOf query param that's string or array of strings
45
+ #
46
+ # @param params [Hash] Attributes to send in this request.
47
+ # @option params [Array<String>, String, nil] :ids
48
+ #
49
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
50
+ #
51
+ # @return [nil]
52
+ def any_of_string_or_array(params = {}, opts = {})
53
+ req = {}
54
+ req[:method] = :get
55
+ req[:path] = "/query_params/anyOfStringOrArray"
56
+ req[:query] = params
57
+ req[:model] = NilClass
58
+ @client.request(req, opts)
59
+ end
60
+
61
+ # Endpoint with array query params
62
+ #
63
+ # @param params [Hash] Attributes to send in this request.
64
+ # @option params [Array<Integer>, nil] :integer_array_param
65
+ # @option params [Array<String>, nil] :string_array_param
66
+ #
67
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
68
+ #
69
+ # @return [nil]
70
+ def array(params = {}, opts = {})
71
+ req = {}
72
+ req[:method] = :get
73
+ req[:path] = "/query_params/array"
74
+ req[:query] = params
75
+ req[:model] = NilClass
76
+ @client.request(req, opts)
77
+ end
78
+
79
+ # Endpoint with enum query params
80
+ #
81
+ # @param params [Hash] Attributes to send in this request.
82
+ # @option params [Integer, nil] :integer_enum_param
83
+ # @option params [Integer, nil] :nullable_integer_enum_param
84
+ # @option params [Float, nil] :nullable_number_enum_param
85
+ # @option params [Symbol, NullableStringEnumParam, nil] :nullable_string_enum_param
86
+ # @option params [Float, nil] :number_enum_param
87
+ # @option params [Symbol, StringEnumParam, nil] :string_enum_param
88
+ #
89
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
90
+ #
91
+ # @return [nil]
92
+ def enum(params = {}, opts = {})
93
+ req = {}
94
+ req[:method] = :get
95
+ req[:path] = "/query_params/enum"
96
+ req[:query] = params
97
+ req[:model] = NilClass
98
+ @client.request(req, opts)
99
+ end
100
+
101
+ # Endpoint with object query params
102
+ #
103
+ # @param params [Hash] Attributes to send in this request.
104
+ # @option params [ObjectParam, nil] :object_param
105
+ # @option params [ObjectRefParam, nil] :object_ref_param
106
+ #
107
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
108
+ #
109
+ # @return [nil]
110
+ def object(params = {}, opts = {})
111
+ req = {}
112
+ req[:method] = :get
113
+ req[:path] = "/query_params/object"
114
+ req[:query] = params
115
+ req[:model] = NilClass
116
+ @client.request(req, opts)
117
+ end
118
+
119
+ # Endpoint with oneOf query params
120
+ #
121
+ # @param params [Hash] Attributes to send in this request.
122
+ # @option params [Integer, String, nil] :string_or_integer
123
+ #
124
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
125
+ #
126
+ # @return [nil]
127
+ def one_of(params = {}, opts = {})
128
+ req = {}
129
+ req[:method] = :get
130
+ req[:path] = "/query_params/oneOf"
131
+ req[:query] = params
132
+ req[:model] = NilClass
133
+ @client.request(req, opts)
134
+ end
135
+
136
+ # Endpoint with a set of primitive type query params
137
+ #
138
+ # @param params [Hash] Attributes to send in this request.
139
+ # @option params [Boolean, nil] :boolean_param
140
+ # @option params [Integer, nil] :integer_param
141
+ # @option params [Float, nil] :number_param
142
+ # @option params [String, nil] :string_param
143
+ #
144
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
145
+ #
146
+ # @return [nil]
147
+ def primitives(params = {}, opts = {})
148
+ req = {}
149
+ req[:method] = :get
150
+ req[:path] = "/query_params/primitives"
151
+ req[:query] = params
152
+ req[:model] = NilClass
153
+ @client.request(req, opts)
154
+ end
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class Recursion
6
+ class SharedResponses
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+
11
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
12
+ #
13
+ # @return [Sink::Models::SharedSelfRecursion]
14
+ def create_self(opts = {})
15
+ req = {}
16
+ req[:method] = :post
17
+ req[:path] = "/recursion/shared/responses/self"
18
+ req[:model] = Sink::Models::SharedSelfRecursion
19
+ @client.request(req, opts)
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class Recursion
6
+ # @return [Sink::Resources::Recursion::SharedResponses]
7
+ attr_reader :shared_responses
8
+
9
+ def initialize(client:)
10
+ @client = client
11
+ @shared_responses = Sink::Resources::Recursion::SharedResponses.new(client: client)
12
+ end
13
+
14
+ # @param params [Hash] Attributes to send in this request.
15
+ # @option params [Array<Array<Float, Object>, Float>] :create_array
16
+ #
17
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
18
+ #
19
+ # @return [Array<Array<Float, Object>, Float>]
20
+ def create_array(params = {}, opts = {})
21
+ req = {}
22
+ req[:method] = :post
23
+ req[:path] = "/recursion/array"
24
+ req[:body] = params[:create_array]
25
+ req[:model] = Sink::ArrayOf.new(Sink::Unknown)
26
+ @client.request(req, opts)
27
+ end
28
+
29
+ # @param params [Hash] Attributes to send in this request.
30
+ # @option params [Sink::Models::SelfRecursion, nil] :data
31
+ #
32
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
33
+ #
34
+ # @return [Sink::Models::RecursionCreateEnvelopeResponse]
35
+ def create_envelope(params = {}, opts = {})
36
+ req = {}
37
+ req[:method] = :post
38
+ req[:path] = "/recursion/envelope"
39
+ req[:body] = params
40
+ req[:model] = Sink::Models::RecursionCreateEnvelopeResponse
41
+ @client.request(req, opts)
42
+ end
43
+
44
+ # @param params [Hash] Attributes to send in this request.
45
+ # @option params [String] :name
46
+ # @option params [Sink::Models::SelfRecursion, nil] :child
47
+ #
48
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
49
+ #
50
+ # @return [Sink::Models::SelfRecursion]
51
+ def create_self(params = {}, opts = {})
52
+ req = {}
53
+ req[:method] = :post
54
+ req[:path] = "/recursion/self"
55
+ req[:body] = params
56
+ req[:model] = Sink::Models::SelfRecursion
57
+ @client.request(req, opts)
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class ResourceRefs
6
+ class PaginatedModelFirstRef
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end