mux_ruby 1.9.0 → 2.0.0.pre.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +26 -37
  4. data/README.md +36 -13
  5. data/docs/AbridgedVideoView.md +33 -13
  6. data/docs/Asset.md +57 -26
  7. data/docs/AssetErrors.md +15 -4
  8. data/docs/AssetMaster.md +15 -4
  9. data/docs/AssetNonStandardInputReasons.md +29 -11
  10. data/docs/AssetRecordingTimes.md +15 -4
  11. data/docs/AssetResponse.md +13 -3
  12. data/docs/AssetStaticRenditions.md +15 -4
  13. data/docs/AssetStaticRenditionsFiles.md +23 -8
  14. data/docs/AssetsApi.md +387 -160
  15. data/docs/BreakdownValue.md +21 -7
  16. data/docs/CreateAssetRequest.md +27 -10
  17. data/docs/CreateLiveStreamRequest.md +25 -9
  18. data/docs/CreatePlaybackIDRequest.md +13 -3
  19. data/docs/CreatePlaybackIDResponse.md +13 -3
  20. data/docs/CreateSimulcastTargetRequest.md +17 -5
  21. data/docs/CreateTrackRequest.md +25 -9
  22. data/docs/CreateTrackResponse.md +13 -3
  23. data/docs/CreateUploadRequest.md +19 -6
  24. data/docs/DeliveryReport.md +27 -9
  25. data/docs/DeliveryUsageApi.md +40 -22
  26. data/docs/DimensionValue.md +15 -4
  27. data/docs/DimensionsApi.md +72 -34
  28. data/docs/DirectUploadsApi.md +131 -56
  29. data/docs/DisableLiveStreamResponse.md +13 -3
  30. data/docs/EnableLiveStreamResponse.md +13 -3
  31. data/docs/Error.md +27 -10
  32. data/docs/ErrorsApi.md +37 -19
  33. data/docs/ExportsApi.md +32 -13
  34. data/docs/FilterValue.md +15 -4
  35. data/docs/FiltersApi.md +71 -33
  36. data/docs/GetAssetInputInfoResponse.md +13 -3
  37. data/docs/GetAssetOrLiveStreamIdResponse.md +13 -3
  38. data/docs/GetAssetOrLiveStreamIdResponseData.md +17 -5
  39. data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +15 -4
  40. data/docs/GetAssetPlaybackIDResponse.md +13 -3
  41. data/docs/GetMetricTimeseriesDataResponse.md +17 -5
  42. data/docs/GetOverallValuesResponse.md +17 -5
  43. data/docs/GetRealTimeBreakdownResponse.md +17 -5
  44. data/docs/GetRealTimeHistogramTimeseriesResponse.md +19 -6
  45. data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +13 -3
  46. data/docs/GetRealTimeTimeseriesResponse.md +17 -5
  47. data/docs/Incident.md +53 -23
  48. data/docs/IncidentBreakdown.md +17 -5
  49. data/docs/IncidentNotification.md +17 -5
  50. data/docs/IncidentNotificationRule.md +21 -7
  51. data/docs/IncidentResponse.md +15 -4
  52. data/docs/IncidentsApi.md +115 -59
  53. data/docs/InputFile.md +15 -4
  54. data/docs/InputInfo.md +15 -4
  55. data/docs/InputSettings.md +31 -12
  56. data/docs/InputSettingsOverlaySettings.md +25 -9
  57. data/docs/InputTrack.md +29 -11
  58. data/docs/Insight.md +23 -8
  59. data/docs/ListAllMetricValuesResponse.md +17 -5
  60. data/docs/ListAssetsResponse.md +13 -3
  61. data/docs/ListBreakdownValuesResponse.md +17 -5
  62. data/docs/ListDeliveryUsageResponse.md +19 -6
  63. data/docs/ListDimensionValuesResponse.md +17 -5
  64. data/docs/ListDimensionsResponse.md +17 -5
  65. data/docs/ListErrorsResponse.md +17 -5
  66. data/docs/ListExportsResponse.md +17 -5
  67. data/docs/ListFilterValuesResponse.md +17 -5
  68. data/docs/ListFiltersResponse.md +17 -5
  69. data/docs/ListFiltersResponseData.md +15 -4
  70. data/docs/ListIncidentsResponse.md +17 -5
  71. data/docs/ListInsightsResponse.md +17 -5
  72. data/docs/ListLiveStreamsResponse.md +13 -3
  73. data/docs/ListRealTimeDimensionsResponse.md +17 -5
  74. data/docs/ListRealTimeDimensionsResponseData.md +15 -4
  75. data/docs/ListRealTimeMetricsResponse.md +17 -5
  76. data/docs/ListRelatedIncidentsResponse.md +17 -5
  77. data/docs/ListSigningKeysResponse.md +13 -3
  78. data/docs/ListUploadsResponse.md +13 -3
  79. data/docs/ListVideoViewsResponse.md +17 -5
  80. data/docs/LiveStream.md +37 -15
  81. data/docs/LiveStreamResponse.md +13 -3
  82. data/docs/LiveStreamsApi.md +418 -170
  83. data/docs/Metric.md +21 -7
  84. data/docs/MetricsApi.md +206 -112
  85. data/docs/NotificationRule.md +17 -5
  86. data/docs/OverallValues.md +19 -6
  87. data/docs/PlaybackID.md +15 -4
  88. data/docs/PlaybackIDApi.md +34 -16
  89. data/docs/PlaybackPolicy.md +10 -2
  90. data/docs/RealTimeApi.md +172 -76
  91. data/docs/RealTimeBreakdownValue.md +21 -7
  92. data/docs/RealTimeHistogramTimeseriesBucket.md +15 -4
  93. data/docs/RealTimeHistogramTimeseriesBucketValues.md +15 -4
  94. data/docs/RealTimeHistogramTimeseriesDatapoint.md +25 -9
  95. data/docs/RealTimeTimeseriesDatapoint.md +17 -5
  96. data/docs/Score.md +23 -8
  97. data/docs/SignalLiveStreamCompleteResponse.md +13 -3
  98. data/docs/SigningKey.md +17 -5
  99. data/docs/SigningKeyResponse.md +13 -3
  100. data/docs/SimulcastTarget.md +21 -7
  101. data/docs/SimulcastTargetResponse.md +13 -3
  102. data/docs/Track.md +37 -15
  103. data/docs/URLSigningKeysApi.md +127 -51
  104. data/docs/UpdateAssetMP4SupportRequest.md +13 -3
  105. data/docs/UpdateAssetMasterAccessRequest.md +13 -3
  106. data/docs/Upload.md +29 -11
  107. data/docs/UploadError.md +15 -4
  108. data/docs/UploadResponse.md +13 -3
  109. data/docs/VideoView.md +235 -114
  110. data/docs/VideoViewEvent.md +19 -6
  111. data/docs/VideoViewResponse.md +15 -4
  112. data/docs/VideoViewsApi.md +76 -39
  113. data/gen/.gitignore +7 -0
  114. data/gen/Makefile +31 -0
  115. data/gen/generator-config.json +11 -0
  116. data/gen/openapitools.json +7 -0
  117. data/gen/package.json +17 -0
  118. data/gen/templates/Gemfile.mustache +11 -0
  119. data/gen/templates/README.mustache +158 -0
  120. data/gen/templates/Rakefile.mustache +10 -0
  121. data/gen/templates/api.mustache +206 -0
  122. data/gen/templates/api_client.mustache +264 -0
  123. data/gen/templates/api_client_faraday_partial.mustache +138 -0
  124. data/gen/templates/api_client_spec.mustache +220 -0
  125. data/gen/templates/api_client_typhoeus_partial.mustache +183 -0
  126. data/gen/templates/api_doc.mustache +118 -0
  127. data/gen/templates/api_error.mustache +67 -0
  128. data/gen/templates/api_info.mustache +12 -0
  129. data/gen/templates/api_test.mustache +47 -0
  130. data/gen/templates/base_object.mustache +120 -0
  131. data/gen/templates/configuration.mustache +349 -0
  132. data/gen/templates/configuration_spec.mustache +34 -0
  133. data/gen/templates/configuration_tls_faraday_partial.mustache +29 -0
  134. data/gen/templates/configuration_tls_typhoeus_partial.mustache +34 -0
  135. data/gen/templates/gem.mustache +40 -0
  136. data/gen/templates/gemspec.mustache +35 -0
  137. data/gen/templates/gitignore.mustache +39 -0
  138. data/gen/templates/model.mustache +26 -0
  139. data/gen/templates/model_doc.mustache +12 -0
  140. data/gen/templates/model_test.mustache +77 -0
  141. data/gen/templates/partial_model_enum_class.mustache +20 -0
  142. data/gen/templates/partial_model_generic.mustache +371 -0
  143. data/gen/templates/partial_model_generic_doc.mustache +28 -0
  144. data/gen/templates/partial_oneof_module.mustache +137 -0
  145. data/gen/templates/partial_oneof_module_doc.mustache +92 -0
  146. data/gen/templates/rspec.mustache +2 -0
  147. data/gen/templates/rubocop.mustache +148 -0
  148. data/gen/templates/spec_helper.mustache +103 -0
  149. data/gen/templates/version.mustache +7 -0
  150. data/gen/yarn.lock +1878 -0
  151. data/lib/mux_ruby.rb +9 -2
  152. data/lib/mux_ruby/api/assets_api.rb +279 -150
  153. data/lib/mux_ruby/api/delivery_usage_api.rb +28 -12
  154. data/lib/mux_ruby/api/dimensions_api.rb +55 -29
  155. data/lib/mux_ruby/api/direct_uploads_api.rb +90 -44
  156. data/lib/mux_ruby/api/errors_api.rb +32 -16
  157. data/lib/mux_ruby/api/exports_api.rb +28 -12
  158. data/lib/mux_ruby/api/filters_api.rb +53 -27
  159. data/lib/mux_ruby/api/incidents_api.rb +88 -46
  160. data/lib/mux_ruby/api/live_streams_api.rb +299 -157
  161. data/lib/mux_ruby/api/metrics_api.rb +175 -104
  162. data/lib/mux_ruby/api/playback_id_api.rb +31 -15
  163. data/lib/mux_ruby/api/real_time_api.rb +139 -77
  164. data/lib/mux_ruby/api/url_signing_keys_api.rb +89 -42
  165. data/lib/mux_ruby/api/video_views_api.rb +56 -29
  166. data/lib/mux_ruby/api_client.rb +94 -79
  167. data/lib/mux_ruby/api_error.rb +35 -7
  168. data/lib/mux_ruby/configuration.rb +50 -14
  169. data/lib/mux_ruby/models/abridged_video_view.rb +58 -24
  170. data/lib/mux_ruby/models/asset.rb +88 -61
  171. data/lib/mux_ruby/models/asset_errors.rb +50 -15
  172. data/lib/mux_ruby/models/asset_master.rb +52 -17
  173. data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +70 -35
  174. data/lib/mux_ruby/models/asset_recording_times.rb +50 -16
  175. data/lib/mux_ruby/models/asset_response.rb +48 -14
  176. data/lib/mux_ruby/models/asset_static_renditions.rb +53 -17
  177. data/lib/mux_ruby/models/asset_static_renditions_files.rb +58 -23
  178. data/lib/mux_ruby/models/breakdown_value.rb +52 -18
  179. data/lib/mux_ruby/models/create_asset_request.rb +64 -30
  180. data/lib/mux_ruby/models/create_live_stream_request.rb +57 -22
  181. data/lib/mux_ruby/models/create_playback_id_request.rb +48 -14
  182. data/lib/mux_ruby/models/create_playback_id_response.rb +48 -14
  183. data/lib/mux_ruby/models/create_simulcast_target_request.rb +50 -16
  184. data/lib/mux_ruby/models/create_track_request.rb +59 -25
  185. data/lib/mux_ruby/models/create_track_response.rb +48 -14
  186. data/lib/mux_ruby/models/create_upload_request.rb +52 -18
  187. data/lib/mux_ruby/models/delivery_report.rb +106 -21
  188. data/lib/mux_ruby/models/dimension_value.rb +49 -15
  189. data/lib/mux_ruby/models/disable_live_stream_response.rb +48 -14
  190. data/lib/mux_ruby/models/enable_live_stream_response.rb +48 -14
  191. data/lib/mux_ruby/models/error.rb +63 -21
  192. data/lib/mux_ruby/models/filter_value.rb +49 -15
  193. data/lib/mux_ruby/models/get_asset_input_info_response.rb +48 -14
  194. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +48 -14
  195. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +50 -16
  196. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +51 -17
  197. data/lib/mux_ruby/models/get_asset_playback_id_response.rb +48 -14
  198. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +50 -16
  199. data/lib/mux_ruby/models/get_overall_values_response.rb +50 -16
  200. data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +50 -16
  201. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +51 -17
  202. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +48 -14
  203. data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +50 -16
  204. data/lib/mux_ruby/models/incident.rb +68 -34
  205. data/lib/mux_ruby/models/incident_breakdown.rb +50 -16
  206. data/lib/mux_ruby/models/incident_notification.rb +50 -16
  207. data/lib/mux_ruby/models/incident_notification_rule.rb +52 -18
  208. data/lib/mux_ruby/models/incident_response.rb +49 -15
  209. data/lib/mux_ruby/models/input_file.rb +49 -15
  210. data/lib/mux_ruby/models/input_info.rb +49 -15
  211. data/lib/mux_ruby/models/input_settings.rb +64 -30
  212. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +58 -24
  213. data/lib/mux_ruby/models/input_track.rb +56 -22
  214. data/lib/mux_ruby/models/insight.rb +53 -19
  215. data/lib/mux_ruby/models/list_all_metric_values_response.rb +50 -16
  216. data/lib/mux_ruby/models/list_assets_response.rb +48 -14
  217. data/lib/mux_ruby/models/list_breakdown_values_response.rb +50 -16
  218. data/lib/mux_ruby/models/list_delivery_usage_response.rb +51 -17
  219. data/lib/mux_ruby/models/list_dimension_values_response.rb +50 -16
  220. data/lib/mux_ruby/models/list_dimensions_response.rb +50 -16
  221. data/lib/mux_ruby/models/list_errors_response.rb +50 -16
  222. data/lib/mux_ruby/models/list_exports_response.rb +50 -16
  223. data/lib/mux_ruby/models/list_filter_values_response.rb +50 -16
  224. data/lib/mux_ruby/models/list_filters_response.rb +50 -16
  225. data/lib/mux_ruby/models/list_filters_response_data.rb +49 -15
  226. data/lib/mux_ruby/models/list_incidents_response.rb +50 -16
  227. data/lib/mux_ruby/models/list_insights_response.rb +50 -16
  228. data/lib/mux_ruby/models/list_live_streams_response.rb +48 -14
  229. data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +50 -16
  230. data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +49 -15
  231. data/lib/mux_ruby/models/list_real_time_metrics_response.rb +50 -16
  232. data/lib/mux_ruby/models/list_related_incidents_response.rb +50 -16
  233. data/lib/mux_ruby/models/list_signing_keys_response.rb +48 -14
  234. data/lib/mux_ruby/models/list_uploads_response.rb +48 -14
  235. data/lib/mux_ruby/models/list_video_views_response.rb +50 -16
  236. data/lib/mux_ruby/models/live_stream.rb +110 -28
  237. data/lib/mux_ruby/models/live_stream_response.rb +48 -14
  238. data/lib/mux_ruby/models/metric.rb +52 -18
  239. data/lib/mux_ruby/models/notification_rule.rb +50 -16
  240. data/lib/mux_ruby/models/overall_values.rb +51 -17
  241. data/lib/mux_ruby/models/playback_id.rb +49 -15
  242. data/lib/mux_ruby/models/playback_policy.rb +12 -6
  243. data/lib/mux_ruby/models/real_time_breakdown_value.rb +52 -18
  244. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +50 -16
  245. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +49 -15
  246. data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +54 -20
  247. data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +50 -16
  248. data/lib/mux_ruby/models/score.rb +53 -19
  249. data/lib/mux_ruby/models/signal_live_stream_complete_response.rb +48 -14
  250. data/lib/mux_ruby/models/signing_key.rb +53 -16
  251. data/lib/mux_ruby/models/signing_key_response.rb +48 -14
  252. data/lib/mux_ruby/models/simulcast_target.rb +54 -20
  253. data/lib/mux_ruby/models/simulcast_target_response.rb +48 -14
  254. data/lib/mux_ruby/models/track.rb +67 -33
  255. data/lib/mux_ruby/models/update_asset_master_access_request.rb +50 -16
  256. data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +50 -16
  257. data/lib/mux_ruby/models/upload.rb +61 -25
  258. data/lib/mux_ruby/models/upload_error.rb +51 -15
  259. data/lib/mux_ruby/models/upload_response.rb +48 -14
  260. data/lib/mux_ruby/models/video_view.rb +166 -132
  261. data/lib/mux_ruby/models/video_view_event.rb +51 -17
  262. data/lib/mux_ruby/models/video_view_response.rb +49 -15
  263. data/lib/mux_ruby/version.rb +10 -3
  264. data/mux_ruby.gemspec +15 -17
  265. data/spec/api_client_spec.rb +10 -3
  266. data/spec/configuration_spec.rb +9 -2
  267. data/spec/spec_helper.rb +9 -2
  268. metadata +139 -242
@@ -0,0 +1,118 @@
1
+ # {{moduleName}}::{{classname}}{{#description}}
2
+
3
+ {{description}}{{/description}}
4
+
5
+ All URIs are relative to *{{basePath}}*
6
+
7
+ | Method | HTTP request | Description |
8
+ | ------ | ------------ | ----------- |
9
+ {{#operations}}
10
+ {{#operation}}
11
+ | [**{{operationId}}**]({{classname}}.md#{{operationId}}) | **{{httpMethod}}** {{path}} | {{#summary}}{{summary}}{{/summary}} |
12
+ {{/operation}}
13
+ {{/operations}}
14
+
15
+ {{#operations}}
16
+ {{#operation}}
17
+
18
+ ## {{operationId}}
19
+
20
+ > {{#returnType}}{{#returnTypeIsPrimitive}}{{returnType}}{{/returnTypeIsPrimitive}}{{^returnTypeIsPrimitive}}<{{{returnType}}}>{{/returnTypeIsPrimitive}} {{/returnType}}{{operationId}}{{#hasParams}}({{#requiredParams}}{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-last}}{{#hasRequiredParams}}, {{/hasRequiredParams}}opts{{/-last}}{{/optionalParams}}){{/hasParams}}
21
+
22
+ {{{summary}}}{{#notes}}
23
+
24
+ {{{notes}}}{{/notes}}
25
+
26
+ ### Examples
27
+
28
+ ```ruby
29
+ require 'time'
30
+ require '{{{gemName}}}'
31
+ {{#hasAuthMethods}}
32
+ # setup authorization
33
+ {{{moduleName}}}.configure do |config|{{#authMethods}}{{#isBasic}}{{#isBasicBasic}}
34
+ # Configure HTTP basic authorization: {{{name}}}
35
+ config.username = 'YOUR USERNAME'
36
+ config.password = 'YOUR PASSWORD'{{/isBasicBasic}}{{#isBasicBearer}}
37
+ # Configure Bearer authorization{{#bearerFormat}} ({{{.}}}){{/bearerFormat}}: {{{name}}}
38
+ config.access_token = 'YOUR_BEARER_TOKEN'{{/isBasicBearer}}{{/isBasic}}{{#isApiKey}}
39
+ # Configure API key authorization: {{{name}}}
40
+ config.api_key['{{{name}}}'] = 'YOUR API KEY'
41
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
42
+ # config.api_key_prefix['{{{name}}}'] = 'Bearer'{{/isApiKey}}{{#isOAuth}}
43
+ # Configure OAuth2 access token for authorization: {{{name}}}
44
+ config.access_token = 'YOUR ACCESS TOKEN'{{/isOAuth}}
45
+ {{/authMethods}}end
46
+ {{/hasAuthMethods}}
47
+
48
+ api_instance = {{{moduleName}}}::{{{classname}}}.new
49
+ {{#requiredParams}}
50
+ {{{paramName}}} = {{{vendorExtensions.x-ruby-example}}} # {{{dataType}}} | {{{description}}}
51
+ {{/requiredParams}}
52
+ {{#optionalParams}}
53
+ {{#-first}}
54
+ opts = {
55
+ {{/-first}}
56
+ {{{paramName}}}: {{{vendorExtensions.x-ruby-example}}}{{^-last}},{{/-last}} # {{{dataType}}} | {{{description}}}
57
+ {{#-last}}
58
+ }
59
+ {{/-last}}
60
+ {{/optionalParams}}
61
+
62
+ begin
63
+ {{#summary}}# {{{.}}}{{/summary}}
64
+ {{#returnType}}result = {{/returnType}}api_instance.{{{operationId}}}{{#hasParams}}({{#requiredParams}}{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-last}}{{#hasRequiredParams}}, {{/hasRequiredParams}}opts{{/-last}}{{/optionalParams}}){{/hasParams}}
65
+ {{#returnType}}
66
+ p result
67
+ {{/returnType}}
68
+ rescue {{{moduleName}}}::ApiError => e
69
+ puts "Error when calling {{classname}}->{{{operationId}}}: #{e}"
70
+ end
71
+ ```
72
+
73
+ #### Using the {{operationId}}_with_http_info variant
74
+
75
+ This returns an Array which contains the response data{{^returnType}} (`nil` in this case){{/returnType}}, status code and headers.
76
+
77
+ > <Array({{#returnType}}{{#returnTypeIsPrimitive}}{{returnType}}{{/returnTypeIsPrimitive}}{{^returnTypeIsPrimitive}}<{{{returnType}}}>{{/returnTypeIsPrimitive}}{{/returnType}}{{^returnType}}nil{{/returnType}}, Integer, Hash)> {{operationId}}_with_http_info{{#hasParams}}({{#requiredParams}}{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-last}}{{#hasRequiredParams}}, {{/hasRequiredParams}}opts{{/-last}}{{/optionalParams}}){{/hasParams}}
78
+
79
+ ```ruby
80
+ begin
81
+ {{#summary}}# {{{.}}}{{/summary}}
82
+ data, status_code, headers = api_instance.{{{operationId}}}_with_http_info{{#hasParams}}({{#requiredParams}}{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-last}}{{#hasRequiredParams}}, {{/hasRequiredParams}}opts{{/-last}}{{/optionalParams}}){{/hasParams}}
83
+ p status_code # => 2xx
84
+ p headers # => { ... }
85
+ p data # => {{#returnType}}{{#returnTypeIsPrimitive}}{{returnType}}{{/returnTypeIsPrimitive}}{{^returnTypeIsPrimitive}}<{{{returnType}}}>{{/returnTypeIsPrimitive}}{{/returnType}}{{^returnType}}nil{{/returnType}}
86
+ rescue {{{moduleName}}}::ApiError => e
87
+ puts "Error when calling {{classname}}->{{{operationId}}}_with_http_info: #{e}"
88
+ end
89
+ ```
90
+
91
+ ### Parameters
92
+
93
+ {{^allParams}}
94
+ This endpoint does not need any parameter.
95
+ {{/allParams}}
96
+ {{#allParams}}
97
+ {{#-first}}
98
+ | Name | Type | Description | Notes |
99
+ | ---- | ---- | ----------- | ----- |
100
+ {{/-first}}
101
+ | **{{paramName}}** | {{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{#isFile}}**{{dataType}}**{{/isFile}}{{^isFile}}[**{{dataType}}**]({{baseType}}.md){{/isFile}}{{/isPrimitiveType}} | {{description}} | {{^required}}[optional]{{/required}}{{#defaultValue}}[default to {{defaultValue}}]{{/defaultValue}} |
102
+ {{/allParams}}
103
+
104
+ ### Return type
105
+
106
+ {{#returnType}}{{#returnTypeIsPrimitive}}**{{returnType}}**{{/returnTypeIsPrimitive}}{{^returnTypeIsPrimitive}}[**{{returnType}}**]({{returnBaseType}}.md){{/returnTypeIsPrimitive}}{{/returnType}}{{^returnType}}nil (empty response body){{/returnType}}
107
+
108
+ ### Authorization
109
+
110
+ {{^authMethods}}No authorization required{{/authMethods}}{{#authMethods}}[{{name}}](../README.md#{{name}}){{^-last}}, {{/-last}}{{/authMethods}}
111
+
112
+ ### HTTP request headers
113
+
114
+ - **Content-Type**: {{#consumes}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/consumes}}{{^consumes}}Not defined{{/consumes}}
115
+ - **Accept**: {{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}{{^produces}}Not defined{{/produces}}
116
+
117
+ {{/operation}}
118
+ {{/operations}}
@@ -0,0 +1,67 @@
1
+ =begin
2
+ {{> api_info}}
3
+ =end
4
+
5
+ module {{moduleName}}
6
+ class ApiError < StandardError
7
+ attr_reader :code, :response_headers, :response_body
8
+
9
+ # Usage examples:
10
+ # ApiError.new
11
+ # ApiError.new("message")
12
+ # ApiError.new(:code => 500, :response_headers => {}, :response_body => "")
13
+ # ApiError.new(:code => 404, :message => "Not Found")
14
+ def initialize(arg = nil)
15
+ if arg.is_a? Hash
16
+ if arg.key?(:message) || arg.key?('message')
17
+ super(arg[:message] || arg['message'])
18
+ else
19
+ super arg
20
+ end
21
+
22
+ arg.each do |k, v|
23
+ instance_variable_set "@#{k}", v
24
+ end
25
+ else
26
+ super arg
27
+ end
28
+ end
29
+
30
+ # Override to_s to display a friendly error message
31
+ def to_s
32
+ message
33
+ end
34
+
35
+ def message
36
+ if @message.nil?
37
+ msg = "Error message: the server returns an error"
38
+ else
39
+ msg = @message
40
+ end
41
+
42
+ msg += "\nHTTP status code: #{code}" if code
43
+ msg += "\nResponse headers: #{response_headers}" if response_headers
44
+ msg += "\nResponse body: #{response_body}" if response_body
45
+
46
+ msg
47
+ end
48
+ end
49
+
50
+ class ClientError < ApiError
51
+ end
52
+
53
+ class NotFoundError < ClientError
54
+ end
55
+
56
+ class UnauthorizedError < ClientError
57
+ end
58
+
59
+ class ForbiddenError < ClientError
60
+ end
61
+
62
+ class TooManyRequestsError < ClientError
63
+ end
64
+
65
+ class ServiceError < ApiError
66
+ end
67
+ end
@@ -0,0 +1,12 @@
1
+ {{#appName}}
2
+ #{{{appName}}}
3
+
4
+ {{/appName}}
5
+ {{#appDescription}}
6
+ #{{{appDescription}}}
7
+
8
+ {{/appDescription}}
9
+ {{#version}}The version of the OpenAPI document: {{version}}{{/version}}
10
+ {{#infoEmail}}Contact: {{{infoEmail}}}{{/infoEmail}}
11
+ Generated by: https://openapi-generator.tech
12
+ OpenAPI Generator version: {{{generatorVersion}}}
@@ -0,0 +1,47 @@
1
+ =begin
2
+ {{> api_info}}
3
+ =end
4
+
5
+ require 'spec_helper'
6
+ require 'json'
7
+
8
+ # Unit tests for {{moduleName}}::{{classname}}
9
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
10
+ # Please update as you see appropriate
11
+ {{#operations}}describe '{{classname}}' do
12
+ before do
13
+ # run before each test
14
+ @api_instance = {{moduleName}}::{{classname}}.new
15
+ end
16
+
17
+ after do
18
+ # run after each test
19
+ end
20
+
21
+ describe 'test an instance of {{classname}}' do
22
+ it 'should create an instance of {{classname}}' do
23
+ expect(@api_instance).to be_instance_of({{moduleName}}::{{classname}})
24
+ end
25
+ end
26
+
27
+ {{#operation}}
28
+ # unit tests for {{operationId}}
29
+ {{#summary}}
30
+ # {{summary}}
31
+ {{/summary}}
32
+ {{#notes}}
33
+ # {{notes}}
34
+ {{/notes}}
35
+ {{#allParams}}{{#required}} # @param {{paramName}} {{description}}
36
+ {{/required}}{{/allParams}} # @param [Hash] opts the optional parameters
37
+ {{#allParams}}{{^required}} # @option opts [{{{dataType}}}] :{{paramName}} {{description}}
38
+ {{/required}}{{/allParams}} # @return [{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}nil{{/returnType}}]
39
+ describe '{{operationId}} test' do
40
+ it 'should work' do
41
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
42
+ end
43
+ end
44
+
45
+ {{/operation}}
46
+ end
47
+ {{/operations}}
@@ -0,0 +1,120 @@
1
+ # Builds the object from hash
2
+ # @param [Hash] attributes Model attributes in the form of hash
3
+ # @return [Object] Returns the model itself
4
+ def self.build_from_hash(attributes)
5
+ new.build_from_hash(attributes)
6
+ end
7
+
8
+ # Builds the object from hash
9
+ # @param [Hash] attributes Model attributes in the form of hash
10
+ # @return [Object] Returns the model itself
11
+ def build_from_hash(attributes)
12
+ return nil unless attributes.is_a?(Hash)
13
+ {{#parent}}
14
+ super(attributes)
15
+ {{/parent}}
16
+ self.class.openapi_types.each_pair do |key, type|
17
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
18
+ self.send("#{key}=", nil)
19
+ elsif type =~ /\AArray<(.*)>/i
20
+ # check to ensure the input is an array given that the attribute
21
+ # is documented as an array but the input is not
22
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
23
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
24
+ end
25
+ elsif !attributes[self.class.attribute_map[key]].nil?
26
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
27
+ end
28
+ end
29
+
30
+ self
31
+ end
32
+
33
+ # Deserializes the data based on type
34
+ # @param string type Data type
35
+ # @param string value Value to be deserialized
36
+ # @return [Object] Deserialized data
37
+ def _deserialize(type, value)
38
+ case type.to_sym
39
+ when :Time
40
+ Time.parse(value)
41
+ when :Date
42
+ Date.parse(value)
43
+ when :String
44
+ value.to_s
45
+ when :Integer
46
+ value.to_i
47
+ when :Float
48
+ value.to_f
49
+ when :Boolean
50
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
51
+ true
52
+ else
53
+ false
54
+ end
55
+ when :Object
56
+ # generic object (usually a Hash), return directly
57
+ value
58
+ when /\AArray<(?<inner_type>.+)>\z/
59
+ inner_type = Regexp.last_match[:inner_type]
60
+ value.map { |v| _deserialize(inner_type, v) }
61
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
62
+ k_type = Regexp.last_match[:k_type]
63
+ v_type = Regexp.last_match[:v_type]
64
+ {}.tap do |hash|
65
+ value.each do |k, v|
66
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
67
+ end
68
+ end
69
+ else # model
70
+ # models (e.g. Pet) or oneOf
71
+ klass = {{moduleName}}.const_get(type)
72
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
73
+ end
74
+ end
75
+
76
+ # Returns the string representation of the object
77
+ # @return [String] String presentation of the object
78
+ def to_s
79
+ to_hash.to_s
80
+ end
81
+
82
+ # to_body is an alias to to_hash (backward compatibility)
83
+ # @return [Hash] Returns the object in the form of hash
84
+ def to_body
85
+ to_hash
86
+ end
87
+
88
+ # Returns the object in the form of hash
89
+ # @return [Hash] Returns the object in the form of hash
90
+ def to_hash
91
+ hash = {{^parent}}{}{{/parent}}{{#parent}}super{{/parent}}
92
+ self.class.attribute_map.each_pair do |attr, param|
93
+ value = self.send(attr)
94
+ if value.nil?
95
+ is_nullable = self.class.openapi_nullable.include?(attr)
96
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
97
+ end
98
+
99
+ hash[param] = _to_hash(value)
100
+ end
101
+ hash
102
+ end
103
+
104
+ # Outputs non-array value in the form of hash
105
+ # For object, use to_hash. Otherwise, just return the value
106
+ # @param [Object] value Any valid value
107
+ # @return [Hash] Returns the value in the form of hash
108
+ def _to_hash(value)
109
+ if value.is_a?(Array)
110
+ value.compact.map { |v| _to_hash(v) }
111
+ elsif value.is_a?(Hash)
112
+ {}.tap do |hash|
113
+ value.each { |k, v| hash[k] = _to_hash(v) }
114
+ end
115
+ elsif value.respond_to? :to_hash
116
+ value.to_hash
117
+ else
118
+ value
119
+ end
120
+ end
@@ -0,0 +1,349 @@
1
+ =begin
2
+ {{> api_info}}
3
+ =end
4
+
5
+ module {{moduleName}}
6
+ class Configuration
7
+ # Defines url scheme
8
+ attr_accessor :scheme
9
+
10
+ # Defines url host
11
+ attr_accessor :host
12
+
13
+ # Defines url base path
14
+ attr_accessor :base_path
15
+
16
+ # Define server configuration index
17
+ attr_accessor :server_index
18
+
19
+ # Define server operation configuration index
20
+ attr_accessor :server_operation_index
21
+
22
+ # Default server variables
23
+ attr_accessor :server_variables
24
+
25
+ # Default server operation variables
26
+ attr_accessor :server_operation_variables
27
+
28
+ # Defines API keys used with API Key authentications.
29
+ #
30
+ # @return [Hash] key: parameter name, value: parameter value (API key)
31
+ #
32
+ # @example parameter name is "api_key", API key is "xxx" (e.g. "api_key=xxx" in query string)
33
+ # config.api_key['api_key'] = 'xxx'
34
+ attr_accessor :api_key
35
+
36
+ # Defines API key prefixes used with API Key authentications.
37
+ #
38
+ # @return [Hash] key: parameter name, value: API key prefix
39
+ #
40
+ # @example parameter name is "Authorization", API key prefix is "Token" (e.g. "Authorization: Token xxx" in headers)
41
+ # config.api_key_prefix['api_key'] = 'Token'
42
+ attr_accessor :api_key_prefix
43
+
44
+ # Defines the username used with HTTP basic authentication.
45
+ #
46
+ # @return [String]
47
+ attr_accessor :username
48
+
49
+ # Defines the password used with HTTP basic authentication.
50
+ #
51
+ # @return [String]
52
+ attr_accessor :password
53
+
54
+ # Defines the access token (Bearer) used with OAuth2.
55
+ attr_accessor :access_token
56
+
57
+ # Set this to enable/disable debugging. When enabled (set to true), HTTP request/response
58
+ # details will be logged with `logger.debug` (see the `logger` attribute).
59
+ # Default to false.
60
+ #
61
+ # @return [true, false]
62
+ attr_accessor :debugging
63
+
64
+ # Defines the logger used for debugging.
65
+ # Default to `Rails.logger` (when in Rails) or logging to STDOUT.
66
+ #
67
+ # @return [#debug]
68
+ attr_accessor :logger
69
+
70
+ # Defines the temporary folder to store downloaded files
71
+ # (for API endpoints that have file response).
72
+ # Default to use `Tempfile`.
73
+ #
74
+ # @return [String]
75
+ attr_accessor :temp_folder_path
76
+
77
+ # The time limit for HTTP request in seconds.
78
+ # Default to 0 (never times out).
79
+ attr_accessor :timeout
80
+
81
+ # Set this to false to skip client side validation in the operation.
82
+ # Default to true.
83
+ # @return [true, false]
84
+ attr_accessor :client_side_validation
85
+
86
+ {{^isFaraday}}
87
+ {{> configuration_tls_typhoeus_partial}}
88
+ {{/isFaraday}}
89
+ {{#isFaraday}}
90
+ {{> configuration_tls_faraday_partial}}
91
+ {{/isFaraday}}
92
+ # Set this to customize parameters encoding of array parameter with multi collectionFormat.
93
+ # Default to nil.
94
+ #
95
+ # @see The params_encoding option of Ethon. Related source code:
96
+ # https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
97
+ attr_accessor :params_encoding
98
+
99
+ attr_accessor :inject_format
100
+
101
+ attr_accessor :force_ending_format
102
+
103
+ def initialize
104
+ @scheme = '{{scheme}}'
105
+ @host = '{{host}}{{#port}}:{{{.}}}{{/port}}'
106
+ @base_path = '{{contextPath}}'
107
+ @server_index = 0
108
+ @server_operation_index = {}
109
+ @server_variables = {}
110
+ @server_operation_variables = {}
111
+ @api_key = {}
112
+ @api_key_prefix = {}
113
+ @timeout = 0
114
+ @client_side_validation = true
115
+ {{#isFaraday}}
116
+ @ssl_verify = true
117
+ @ssl_verify_mode = nil
118
+ @ssl_ca_file = nil
119
+ @ssl_client_cert = nil
120
+ @ssl_client_key = nil
121
+ {{/isFaraday}}
122
+ {{^isFaraday}}
123
+ @verify_ssl = true
124
+ @verify_ssl_host = true
125
+ @params_encoding = :multi # original value: nil
126
+ @cert_file = nil
127
+ @key_file = nil
128
+ {{/isFaraday}}
129
+ @debugging = false
130
+ @inject_format = false
131
+ @force_ending_format = false
132
+ @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
133
+
134
+ yield(self) if block_given?
135
+ end
136
+
137
+ # The default Configuration object.
138
+ def self.default
139
+ @@default ||= Configuration.new
140
+ end
141
+
142
+ def configure
143
+ yield(self) if block_given?
144
+ end
145
+
146
+ def scheme=(scheme)
147
+ # remove :// from scheme
148
+ @scheme = scheme.sub(/:\/\//, '')
149
+ end
150
+
151
+ def host=(host)
152
+ # remove http(s):// and anything after a slash
153
+ @host = host.sub(/https?:\/\//, '').split('/').first
154
+ end
155
+
156
+ def base_path=(base_path)
157
+ # Add leading and trailing slashes to base_path
158
+ @base_path = "/#{base_path}".gsub(/\/+/, '/')
159
+ @base_path = '' if @base_path == '/'
160
+ end
161
+
162
+ # Returns base URL for specified operation based on server settings
163
+ def base_url(operation = nil)
164
+ index = server_operation_index.fetch(operation, server_index)
165
+ return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
166
+
167
+ server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
168
+ end
169
+
170
+ # Gets API key (with prefix if set).
171
+ # @param [String] param_name the parameter name of API key auth
172
+ def api_key_with_prefix(param_name, param_alias = nil)
173
+ key = @api_key[param_name]
174
+ key = @api_key.fetch(param_alias, key) unless param_alias.nil?
175
+ if @api_key_prefix[param_name]
176
+ "#{@api_key_prefix[param_name]} #{key}"
177
+ else
178
+ key
179
+ end
180
+ end
181
+
182
+ # Gets Basic Auth token string
183
+ def basic_auth_token
184
+ 'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n")
185
+ end
186
+
187
+ # Returns Auth Settings hash for api client.
188
+ def auth_settings
189
+ {
190
+ {{#authMethods}}
191
+ {{#isApiKey}}
192
+ '{{name}}' =>
193
+ {
194
+ type: 'api_key',
195
+ in: {{#isKeyInHeader}}'header'{{/isKeyInHeader}}{{#isKeyInQuery}}'query'{{/isKeyInQuery}},
196
+ key: '{{keyParamName}}',
197
+ value: api_key_with_prefix('{{name}}'{{#vendorExtensions.x-auth-id-alias}}, '{{.}}'{{/vendorExtensions.x-auth-id-alias}})
198
+ },
199
+ {{/isApiKey}}
200
+ {{#isBasic}}
201
+ {{#isBasicBasic}}
202
+ '{{name}}' =>
203
+ {
204
+ type: 'basic',
205
+ in: 'header',
206
+ key: 'Authorization',
207
+ value: basic_auth_token
208
+ },
209
+ {{/isBasicBasic}}
210
+ {{#isBasicBearer}}
211
+ '{{name}}' =>
212
+ {
213
+ type: 'bearer',
214
+ in: 'header',
215
+ {{#bearerFormat}}
216
+ format: '{{{.}}}',
217
+ {{/bearerFormat}}
218
+ key: 'Authorization',
219
+ value: "Bearer #{access_token}"
220
+ },
221
+ {{/isBasicBearer}}
222
+ {{/isBasic}}
223
+ {{#isOAuth}}
224
+ '{{name}}' =>
225
+ {
226
+ type: 'oauth2',
227
+ in: 'header',
228
+ key: 'Authorization',
229
+ value: "Bearer #{access_token}"
230
+ },
231
+ {{/isOAuth}}
232
+ {{/authMethods}}
233
+ }
234
+ end
235
+
236
+ # Returns an array of Server setting
237
+ def server_settings
238
+ [
239
+ {{#servers}}
240
+ {
241
+ url: "{{{url}}}",
242
+ description: "{{{description}}}{{^description}}No description provided{{/description}}",
243
+ {{#variables}}
244
+ {{#-first}}
245
+ variables: {
246
+ {{/-first}}
247
+ {{{name}}}: {
248
+ description: "{{{description}}}{{^description}}No description provided{{/description}}",
249
+ default_value: "{{{defaultValue}}}",
250
+ {{#enumValues}}
251
+ {{#-first}}
252
+ enum_values: [
253
+ {{/-first}}
254
+ "{{{.}}}"{{^-last}},{{/-last}}
255
+ {{#-last}}
256
+ ]
257
+ {{/-last}}
258
+ {{/enumValues}}
259
+ }{{^-last}},{{/-last}}
260
+ {{#-last}}
261
+ }
262
+ {{/-last}}
263
+ {{/variables}}
264
+ }{{^-last}},{{/-last}}
265
+ {{/servers}}
266
+ ]
267
+ end
268
+
269
+ def operation_server_settings
270
+ {
271
+ {{#apiInfo}}
272
+ {{#apis}}
273
+ {{#operations}}
274
+ {{#operation}}
275
+ {{#servers}}
276
+ {{#-first}}
277
+ "{{{classname}}}.{{{nickname}}}": [
278
+ {{/-first}}
279
+ {
280
+ url: "{{{url}}}",
281
+ description: "{{{description}}}{{^description}}No description provided{{/description}}",
282
+ {{#variables}}
283
+ {{#-first}}
284
+ variables: {
285
+ {{/-first}}
286
+ {{{name}}}: {
287
+ description: "{{{description}}}{{^description}}No description provided{{/description}}",
288
+ default_value: "{{{defaultValue}}}",
289
+ {{#enumValues}}
290
+ {{#-first}}
291
+ enum_values: [
292
+ {{/-first}}
293
+ "{{{.}}}"{{^-last}},{{/-last}}
294
+ {{#-last}}
295
+ ]
296
+ {{/-last}}
297
+ {{/enumValues}}
298
+ }{{^-last}},{{/-last}}
299
+ {{#-last}}
300
+ }
301
+ {{/-last}}
302
+ {{/variables}}
303
+ }{{^-last}},{{/-last}}
304
+ {{#-last}}
305
+ ],
306
+ {{/-last}}
307
+ {{/servers}}
308
+ {{/operation}}
309
+ {{/operations}}
310
+ {{/apis}}
311
+ {{/apiInfo}}
312
+ }
313
+ end
314
+
315
+ # Returns URL based on server settings
316
+ #
317
+ # @param index array index of the server settings
318
+ # @param variables hash of variable and the corresponding value
319
+ def server_url(index, variables = {}, servers = nil)
320
+ servers = server_settings if servers == nil
321
+
322
+ # check array index out of bound
323
+ if (index < 0 || index >= servers.size)
324
+ fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
325
+ end
326
+
327
+ server = servers[index]
328
+ url = server[:url]
329
+
330
+ return url unless server.key? :variables
331
+
332
+ # go through variable and assign a value
333
+ server[:variables].each do |name, variable|
334
+ if variables.key?(name)
335
+ if (!server[:variables][name].key?(:enum_values) || server[:variables][name][:enum_values].include?(variables[name]))
336
+ url.gsub! "{" + name.to_s + "}", variables[name]
337
+ else
338
+ fail ArgumentError, "The variable `#{name}` in the server URL has invalid value #{variables[name]}. Must be #{server[:variables][name][:enum_values]}."
339
+ end
340
+ else
341
+ # use default value
342
+ url.gsub! "{" + name.to_s + "}", server[:variables][name][:default_value]
343
+ end
344
+ end
345
+
346
+ url
347
+ end
348
+ end
349
+ end