mux_ruby 1.9.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (277) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +26 -37
  4. data/README.md +37 -13
  5. data/docs/AbridgedVideoView.md +33 -13
  6. data/docs/Asset.md +59 -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 +396 -163
  15. data/docs/BreakdownValue.md +21 -7
  16. data/docs/CreateAssetRequest.md +27 -10
  17. data/docs/CreateLiveStreamRequest.md +29 -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 +41 -23
  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 +38 -20
  33. data/docs/ExportDate.md +20 -0
  34. data/docs/ExportFile.md +22 -0
  35. data/docs/ExportsApi.md +99 -12
  36. data/docs/FilterValue.md +15 -4
  37. data/docs/FiltersApi.md +71 -33
  38. data/docs/GetAssetInputInfoResponse.md +13 -3
  39. data/docs/GetAssetOrLiveStreamIdResponse.md +13 -3
  40. data/docs/GetAssetOrLiveStreamIdResponseData.md +17 -5
  41. data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +15 -4
  42. data/docs/GetAssetPlaybackIDResponse.md +13 -3
  43. data/docs/GetMetricTimeseriesDataResponse.md +17 -5
  44. data/docs/GetOverallValuesResponse.md +17 -5
  45. data/docs/GetRealTimeBreakdownResponse.md +17 -5
  46. data/docs/GetRealTimeHistogramTimeseriesResponse.md +19 -6
  47. data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +13 -3
  48. data/docs/GetRealTimeTimeseriesResponse.md +17 -5
  49. data/docs/Incident.md +53 -23
  50. data/docs/IncidentBreakdown.md +17 -5
  51. data/docs/IncidentNotification.md +17 -5
  52. data/docs/IncidentNotificationRule.md +21 -7
  53. data/docs/IncidentResponse.md +15 -4
  54. data/docs/IncidentsApi.md +118 -62
  55. data/docs/InputFile.md +15 -4
  56. data/docs/InputInfo.md +15 -4
  57. data/docs/InputSettings.md +31 -12
  58. data/docs/InputSettingsOverlaySettings.md +25 -9
  59. data/docs/InputTrack.md +29 -11
  60. data/docs/Insight.md +23 -8
  61. data/docs/ListAllMetricValuesResponse.md +17 -5
  62. data/docs/ListAssetsResponse.md +13 -3
  63. data/docs/ListBreakdownValuesResponse.md +17 -5
  64. data/docs/ListDeliveryUsageResponse.md +19 -6
  65. data/docs/ListDimensionValuesResponse.md +17 -5
  66. data/docs/ListDimensionsResponse.md +17 -5
  67. data/docs/ListErrorsResponse.md +17 -5
  68. data/docs/ListExportsResponse.md +17 -5
  69. data/docs/ListFilterValuesResponse.md +17 -5
  70. data/docs/ListFiltersResponse.md +17 -5
  71. data/docs/ListFiltersResponseData.md +15 -4
  72. data/docs/ListIncidentsResponse.md +17 -5
  73. data/docs/ListInsightsResponse.md +17 -5
  74. data/docs/ListLiveStreamsResponse.md +13 -3
  75. data/docs/ListRealTimeDimensionsResponse.md +17 -5
  76. data/docs/ListRealTimeDimensionsResponseData.md +15 -4
  77. data/docs/ListRealTimeMetricsResponse.md +17 -5
  78. data/docs/ListRelatedIncidentsResponse.md +17 -5
  79. data/docs/ListSigningKeysResponse.md +13 -3
  80. data/docs/ListUploadsResponse.md +13 -3
  81. data/docs/ListVideoViewExportsResponse.md +22 -0
  82. data/docs/ListVideoViewsResponse.md +17 -5
  83. data/docs/LiveStream.md +41 -15
  84. data/docs/LiveStreamResponse.md +13 -3
  85. data/docs/LiveStreamsApi.md +418 -170
  86. data/docs/Metric.md +21 -7
  87. data/docs/MetricsApi.md +211 -117
  88. data/docs/NotificationRule.md +17 -5
  89. data/docs/OverallValues.md +19 -6
  90. data/docs/PlaybackID.md +15 -4
  91. data/docs/PlaybackIDApi.md +35 -17
  92. data/docs/PlaybackPolicy.md +10 -2
  93. data/docs/RealTimeApi.md +177 -81
  94. data/docs/RealTimeBreakdownValue.md +21 -7
  95. data/docs/RealTimeHistogramTimeseriesBucket.md +15 -4
  96. data/docs/RealTimeHistogramTimeseriesBucketValues.md +15 -4
  97. data/docs/RealTimeHistogramTimeseriesDatapoint.md +25 -9
  98. data/docs/RealTimeTimeseriesDatapoint.md +17 -5
  99. data/docs/Score.md +23 -8
  100. data/docs/SignalLiveStreamCompleteResponse.md +13 -3
  101. data/docs/SigningKey.md +17 -5
  102. data/docs/SigningKeyResponse.md +13 -3
  103. data/docs/SimulcastTarget.md +21 -7
  104. data/docs/SimulcastTargetResponse.md +13 -3
  105. data/docs/Track.md +37 -15
  106. data/docs/URLSigningKeysApi.md +130 -54
  107. data/docs/UpdateAssetMP4SupportRequest.md +13 -3
  108. data/docs/UpdateAssetMasterAccessRequest.md +13 -3
  109. data/docs/Upload.md +29 -11
  110. data/docs/UploadError.md +15 -4
  111. data/docs/UploadResponse.md +13 -3
  112. data/docs/VideoView.md +251 -114
  113. data/docs/VideoViewEvent.md +19 -6
  114. data/docs/VideoViewResponse.md +15 -4
  115. data/docs/VideoViewsApi.md +78 -41
  116. data/gen/.gitignore +7 -0
  117. data/gen/Makefile +31 -0
  118. data/gen/generator-config.json +11 -0
  119. data/gen/openapitools.json +7 -0
  120. data/gen/package.json +17 -0
  121. data/gen/templates/Gemfile.mustache +11 -0
  122. data/gen/templates/README.mustache +158 -0
  123. data/gen/templates/Rakefile.mustache +10 -0
  124. data/gen/templates/api.mustache +206 -0
  125. data/gen/templates/api_client.mustache +264 -0
  126. data/gen/templates/api_client_faraday_partial.mustache +138 -0
  127. data/gen/templates/api_client_spec.mustache +220 -0
  128. data/gen/templates/api_client_typhoeus_partial.mustache +183 -0
  129. data/gen/templates/api_doc.mustache +118 -0
  130. data/gen/templates/api_error.mustache +67 -0
  131. data/gen/templates/api_info.mustache +12 -0
  132. data/gen/templates/api_test.mustache +47 -0
  133. data/gen/templates/base_object.mustache +120 -0
  134. data/gen/templates/configuration.mustache +349 -0
  135. data/gen/templates/configuration_spec.mustache +34 -0
  136. data/gen/templates/configuration_tls_faraday_partial.mustache +29 -0
  137. data/gen/templates/configuration_tls_typhoeus_partial.mustache +34 -0
  138. data/gen/templates/gem.mustache +40 -0
  139. data/gen/templates/gemspec.mustache +35 -0
  140. data/gen/templates/gitignore.mustache +39 -0
  141. data/gen/templates/model.mustache +26 -0
  142. data/gen/templates/model_doc.mustache +12 -0
  143. data/gen/templates/model_test.mustache +77 -0
  144. data/gen/templates/partial_model_enum_class.mustache +20 -0
  145. data/gen/templates/partial_model_generic.mustache +371 -0
  146. data/gen/templates/partial_model_generic_doc.mustache +28 -0
  147. data/gen/templates/partial_oneof_module.mustache +137 -0
  148. data/gen/templates/partial_oneof_module_doc.mustache +92 -0
  149. data/gen/templates/rspec.mustache +2 -0
  150. data/gen/templates/rubocop.mustache +148 -0
  151. data/gen/templates/spec_helper.mustache +103 -0
  152. data/gen/templates/version.mustache +7 -0
  153. data/gen/yarn.lock +1878 -0
  154. data/lib/mux_ruby/api/assets_api.rb +293 -156
  155. data/lib/mux_ruby/api/delivery_usage_api.rb +32 -16
  156. data/lib/mux_ruby/api/dimensions_api.rb +55 -29
  157. data/lib/mux_ruby/api/direct_uploads_api.rb +90 -44
  158. data/lib/mux_ruby/api/errors_api.rb +34 -18
  159. data/lib/mux_ruby/api/exports_api.rb +86 -13
  160. data/lib/mux_ruby/api/filters_api.rb +53 -27
  161. data/lib/mux_ruby/api/incidents_api.rb +94 -52
  162. data/lib/mux_ruby/api/live_streams_api.rb +299 -157
  163. data/lib/mux_ruby/api/metrics_api.rb +193 -122
  164. data/lib/mux_ruby/api/playback_id_api.rb +33 -17
  165. data/lib/mux_ruby/api/real_time_api.rb +149 -87
  166. data/lib/mux_ruby/api/url_signing_keys_api.rb +95 -48
  167. data/lib/mux_ruby/api/video_views_api.rb +60 -33
  168. data/lib/mux_ruby/api_client.rb +94 -79
  169. data/lib/mux_ruby/api_error.rb +35 -7
  170. data/lib/mux_ruby/configuration.rb +50 -14
  171. data/lib/mux_ruby/models/abridged_video_view.rb +58 -24
  172. data/lib/mux_ruby/models/asset.rb +100 -63
  173. data/lib/mux_ruby/models/asset_errors.rb +50 -15
  174. data/lib/mux_ruby/models/asset_master.rb +52 -17
  175. data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +70 -35
  176. data/lib/mux_ruby/models/asset_recording_times.rb +50 -16
  177. data/lib/mux_ruby/models/asset_response.rb +48 -14
  178. data/lib/mux_ruby/models/asset_static_renditions.rb +53 -17
  179. data/lib/mux_ruby/models/asset_static_renditions_files.rb +58 -23
  180. data/lib/mux_ruby/models/breakdown_value.rb +52 -18
  181. data/lib/mux_ruby/models/create_asset_request.rb +64 -30
  182. data/lib/mux_ruby/models/create_live_stream_request.rb +78 -23
  183. data/lib/mux_ruby/models/create_playback_id_request.rb +48 -14
  184. data/lib/mux_ruby/models/create_playback_id_response.rb +48 -14
  185. data/lib/mux_ruby/models/create_simulcast_target_request.rb +50 -16
  186. data/lib/mux_ruby/models/create_track_request.rb +60 -26
  187. data/lib/mux_ruby/models/create_track_response.rb +48 -14
  188. data/lib/mux_ruby/models/create_upload_request.rb +52 -18
  189. data/lib/mux_ruby/models/delivery_report.rb +106 -21
  190. data/lib/mux_ruby/models/dimension_value.rb +49 -15
  191. data/lib/mux_ruby/models/disable_live_stream_response.rb +48 -14
  192. data/lib/mux_ruby/models/enable_live_stream_response.rb +48 -14
  193. data/lib/mux_ruby/models/error.rb +63 -21
  194. data/lib/mux_ruby/models/export_date.rb +229 -0
  195. data/lib/mux_ruby/models/export_file.rb +236 -0
  196. data/lib/mux_ruby/models/filter_value.rb +49 -15
  197. data/lib/mux_ruby/models/get_asset_input_info_response.rb +48 -14
  198. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +48 -14
  199. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +50 -16
  200. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +51 -17
  201. data/lib/mux_ruby/models/get_asset_playback_id_response.rb +48 -14
  202. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +50 -16
  203. data/lib/mux_ruby/models/get_overall_values_response.rb +50 -16
  204. data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +50 -16
  205. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +51 -17
  206. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +48 -14
  207. data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +50 -16
  208. data/lib/mux_ruby/models/incident.rb +68 -34
  209. data/lib/mux_ruby/models/incident_breakdown.rb +50 -16
  210. data/lib/mux_ruby/models/incident_notification.rb +50 -16
  211. data/lib/mux_ruby/models/incident_notification_rule.rb +52 -18
  212. data/lib/mux_ruby/models/incident_response.rb +49 -15
  213. data/lib/mux_ruby/models/input_file.rb +49 -15
  214. data/lib/mux_ruby/models/input_info.rb +49 -15
  215. data/lib/mux_ruby/models/input_settings.rb +64 -30
  216. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +58 -24
  217. data/lib/mux_ruby/models/input_track.rb +56 -22
  218. data/lib/mux_ruby/models/insight.rb +53 -19
  219. data/lib/mux_ruby/models/list_all_metric_values_response.rb +50 -16
  220. data/lib/mux_ruby/models/list_assets_response.rb +48 -14
  221. data/lib/mux_ruby/models/list_breakdown_values_response.rb +50 -16
  222. data/lib/mux_ruby/models/list_delivery_usage_response.rb +51 -17
  223. data/lib/mux_ruby/models/list_dimension_values_response.rb +50 -16
  224. data/lib/mux_ruby/models/list_dimensions_response.rb +50 -16
  225. data/lib/mux_ruby/models/list_errors_response.rb +50 -16
  226. data/lib/mux_ruby/models/list_exports_response.rb +50 -16
  227. data/lib/mux_ruby/models/list_filter_values_response.rb +50 -16
  228. data/lib/mux_ruby/models/list_filters_response.rb +50 -16
  229. data/lib/mux_ruby/models/list_filters_response_data.rb +49 -15
  230. data/lib/mux_ruby/models/list_incidents_response.rb +50 -16
  231. data/lib/mux_ruby/models/list_insights_response.rb +50 -16
  232. data/lib/mux_ruby/models/list_live_streams_response.rb +48 -14
  233. data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +50 -16
  234. data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +49 -15
  235. data/lib/mux_ruby/models/list_real_time_metrics_response.rb +50 -16
  236. data/lib/mux_ruby/models/list_related_incidents_response.rb +50 -16
  237. data/lib/mux_ruby/models/list_signing_keys_response.rb +48 -14
  238. data/lib/mux_ruby/models/list_uploads_response.rb +48 -14
  239. data/lib/mux_ruby/models/list_video_view_exports_response.rb +240 -0
  240. data/lib/mux_ruby/models/list_video_views_response.rb +50 -16
  241. data/lib/mux_ruby/models/live_stream.rb +131 -29
  242. data/lib/mux_ruby/models/live_stream_response.rb +48 -14
  243. data/lib/mux_ruby/models/metric.rb +52 -18
  244. data/lib/mux_ruby/models/notification_rule.rb +50 -16
  245. data/lib/mux_ruby/models/overall_values.rb +51 -17
  246. data/lib/mux_ruby/models/playback_id.rb +49 -15
  247. data/lib/mux_ruby/models/playback_policy.rb +12 -6
  248. data/lib/mux_ruby/models/real_time_breakdown_value.rb +52 -18
  249. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +50 -16
  250. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +49 -15
  251. data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +54 -20
  252. data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +50 -16
  253. data/lib/mux_ruby/models/score.rb +53 -19
  254. data/lib/mux_ruby/models/signal_live_stream_complete_response.rb +48 -14
  255. data/lib/mux_ruby/models/signing_key.rb +53 -16
  256. data/lib/mux_ruby/models/signing_key_response.rb +48 -14
  257. data/lib/mux_ruby/models/simulcast_target.rb +54 -20
  258. data/lib/mux_ruby/models/simulcast_target_response.rb +48 -14
  259. data/lib/mux_ruby/models/track.rb +67 -33
  260. data/lib/mux_ruby/models/update_asset_master_access_request.rb +50 -16
  261. data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +50 -16
  262. data/lib/mux_ruby/models/upload.rb +61 -25
  263. data/lib/mux_ruby/models/upload_error.rb +51 -15
  264. data/lib/mux_ruby/models/upload_response.rb +48 -14
  265. data/lib/mux_ruby/models/video_view.rb +242 -136
  266. data/lib/mux_ruby/models/video_view_event.rb +51 -17
  267. data/lib/mux_ruby/models/video_view_response.rb +49 -15
  268. data/lib/mux_ruby/version.rb +10 -3
  269. data/lib/mux_ruby.rb +12 -2
  270. data/mux_ruby.gemspec +15 -17
  271. data/spec/api_client_spec.rb +10 -3
  272. data/spec/configuration_spec.rb +9 -2
  273. data/spec/models/export_date_spec.rb +40 -0
  274. data/spec/models/export_file_spec.rb +46 -0
  275. data/spec/models/list_video_view_exports_response_spec.rb +46 -0
  276. data/spec/spec_helper.rb +9 -2
  277. metadata +149 -240
@@ -1,43 +1,54 @@
1
1
  =begin
2
- # Mux Ruby - Copyright 2019 Mux Inc.
3
- # NOTE: This file is auto generated. Do not edit this file manually.
2
+ #Mux API
3
+
4
+ #Mux is how developers build online video. This API encompasses both Mux Video and Mux Data functionality to help you build your video-related projects better and faster than ever before.
5
+
6
+ The version of the OpenAPI document: v1
7
+ Contact: devex@mux.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.0.1
10
+
4
11
  =end
5
12
 
6
13
  require 'date'
14
+ require 'time'
7
15
 
8
16
  module MuxRuby
9
17
  class Asset
10
- # Unique identifier for the Asset.
18
+ # Unique identifier for the Asset. Max 255 characters.
11
19
  attr_accessor :id
12
20
 
13
- # Time at which the object was created. Measured in seconds since the Unix epoch.
21
+ # Time the Asset was created, defined as a Unix timestamp (seconds since epoch).
14
22
  attr_accessor :created_at
15
23
 
16
- attr_accessor :deleted_at
17
-
18
24
  # The status of the asset.
19
25
  attr_accessor :status
20
26
 
21
- # The duration of the asset in seconds (max duration for a single asset is 24 hours).
27
+ # The duration of the asset in seconds (max duration for a single asset is 12 hours).
22
28
  attr_accessor :duration
23
29
 
24
30
  # The maximum resolution that has been stored for the asset. The asset may be delivered at lower resolutions depending on the device and bandwidth, however it cannot be delivered at a higher value than is stored.
25
31
  attr_accessor :max_stored_resolution
26
32
 
27
- # The maximum frame rate that has been stored for the asset. The asset may be delivered at lower frame rates depending on the device and bandwidth, however it cannot be delivered at a higher value than is stored. This field may return -1 if the frame rate of the input cannot be reliably determined.
33
+ # The maximum frame rate that has been stored for the asset. The asset may be delivered at lower frame rates depending on the device and bandwidth, however it cannot be delivered at a higher value than is stored. This field may return -1 if the frame rate of the input cannot be reliably determined.
28
34
  attr_accessor :max_stored_frame_rate
29
35
 
30
36
  # The aspect ratio of the asset in the form of `width:height`, for example `16:9`.
31
37
  attr_accessor :aspect_ratio
32
38
 
39
+ # An array of Playback ID objects. Use these to create HLS playback URLs. See [Play your videos](https://docs.mux.com/guides/video/play-your-videos) for more details.
33
40
  attr_accessor :playback_ids
34
41
 
42
+ # The individual media tracks that make up an asset.
35
43
  attr_accessor :tracks
36
44
 
37
45
  attr_accessor :errors
38
46
 
39
47
  attr_accessor :per_title_encode
40
48
 
49
+ # Unique identifier for the Direct Upload. This is an optional parameter added when the asset is created from a direct upload.
50
+ attr_accessor :upload_id
51
+
41
52
  # Whether the asset is created from a live stream and the live stream is currently `active` and not in `idle` state.
42
53
  attr_accessor :is_live
43
54
 
@@ -66,7 +77,7 @@ module MuxRuby
66
77
 
67
78
  attr_accessor :non_standard_input_reasons
68
79
 
69
- # Indicates this asset is a test asset if the value is `true`. A Test asset can help evaluate the Mux Video APIs without incurring any cost. There is no limit on number of test assets created. Test assets are watermarked with the Mux logo, limited to 10 seconds, and deleted after 24 hrs.
80
+ # True means this live stream is a test asset. A test asset can help evaluate the Mux Video APIs without incurring any cost. There is no limit on number of test assets created. Test assets are watermarked with the Mux logo, limited to 10 seconds, and deleted after 24 hrs.
70
81
  attr_accessor :test
71
82
 
72
83
  class EnumAttributeValidator
@@ -96,7 +107,6 @@ module MuxRuby
96
107
  {
97
108
  :'id' => :'id',
98
109
  :'created_at' => :'created_at',
99
- :'deleted_at' => :'deleted_at',
100
110
  :'status' => :'status',
101
111
  :'duration' => :'duration',
102
112
  :'max_stored_resolution' => :'max_stored_resolution',
@@ -106,6 +116,7 @@ module MuxRuby
106
116
  :'tracks' => :'tracks',
107
117
  :'errors' => :'errors',
108
118
  :'per_title_encode' => :'per_title_encode',
119
+ :'upload_id' => :'upload_id',
109
120
  :'is_live' => :'is_live',
110
121
  :'passthrough' => :'passthrough',
111
122
  :'live_stream_id' => :'live_stream_id',
@@ -121,12 +132,16 @@ module MuxRuby
121
132
  }
122
133
  end
123
134
 
135
+ # Returns all the JSON keys this model knows about
136
+ def self.acceptable_attributes
137
+ attribute_map.values
138
+ end
139
+
124
140
  # Attribute type mapping.
125
141
  def self.openapi_types
126
142
  {
127
143
  :'id' => :'String',
128
144
  :'created_at' => :'String',
129
- :'deleted_at' => :'String',
130
145
  :'status' => :'String',
131
146
  :'duration' => :'Float',
132
147
  :'max_stored_resolution' => :'String',
@@ -135,135 +150,149 @@ module MuxRuby
135
150
  :'playback_ids' => :'Array<PlaybackID>',
136
151
  :'tracks' => :'Array<Track>',
137
152
  :'errors' => :'AssetErrors',
138
- :'per_title_encode' => :'BOOLEAN',
139
- :'is_live' => :'BOOLEAN',
153
+ :'per_title_encode' => :'Boolean',
154
+ :'upload_id' => :'String',
155
+ :'is_live' => :'Boolean',
140
156
  :'passthrough' => :'String',
141
157
  :'live_stream_id' => :'String',
142
158
  :'master' => :'AssetMaster',
143
159
  :'master_access' => :'String',
144
160
  :'mp4_support' => :'String',
145
161
  :'source_asset_id' => :'String',
146
- :'normalize_audio' => :'BOOLEAN',
162
+ :'normalize_audio' => :'Boolean',
147
163
  :'static_renditions' => :'AssetStaticRenditions',
148
164
  :'recording_times' => :'Array<AssetRecordingTimes>',
149
165
  :'non_standard_input_reasons' => :'AssetNonStandardInputReasons',
150
- :'test' => :'BOOLEAN'
166
+ :'test' => :'Boolean'
151
167
  }
152
168
  end
153
169
 
170
+ # List of attributes with nullable: true
171
+ def self.openapi_nullable
172
+ Set.new([
173
+ ])
174
+ end
175
+
154
176
  # Initializes the object
155
177
  # @param [Hash] attributes Model attributes in the form of hash
156
178
  def initialize(attributes = {})
157
- return unless attributes.is_a?(Hash)
179
+ if (!attributes.is_a?(Hash))
180
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::Asset` initialize method"
181
+ end
158
182
 
159
- # convert string to symbol for hash key
160
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
183
+ # check to see if the attribute exists and convert string to symbol for hash key
184
+ attributes = attributes.each_with_object({}) { |(k, v), h|
185
+ if (!self.class.attribute_map.key?(k.to_sym))
186
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::Asset`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
187
+ end
188
+ h[k.to_sym] = v
189
+ }
161
190
 
162
- if attributes.has_key?(:'id')
191
+ if attributes.key?(:'id')
163
192
  self.id = attributes[:'id']
164
193
  end
165
194
 
166
- if attributes.has_key?(:'created_at')
195
+ if attributes.key?(:'created_at')
167
196
  self.created_at = attributes[:'created_at']
168
197
  end
169
198
 
170
- if attributes.has_key?(:'deleted_at')
171
- self.deleted_at = attributes[:'deleted_at']
172
- end
173
-
174
- if attributes.has_key?(:'status')
199
+ if attributes.key?(:'status')
175
200
  self.status = attributes[:'status']
176
201
  end
177
202
 
178
- if attributes.has_key?(:'duration')
203
+ if attributes.key?(:'duration')
179
204
  self.duration = attributes[:'duration']
180
205
  end
181
206
 
182
- if attributes.has_key?(:'max_stored_resolution')
207
+ if attributes.key?(:'max_stored_resolution')
183
208
  self.max_stored_resolution = attributes[:'max_stored_resolution']
184
209
  end
185
210
 
186
- if attributes.has_key?(:'max_stored_frame_rate')
211
+ if attributes.key?(:'max_stored_frame_rate')
187
212
  self.max_stored_frame_rate = attributes[:'max_stored_frame_rate']
188
213
  end
189
214
 
190
- if attributes.has_key?(:'aspect_ratio')
215
+ if attributes.key?(:'aspect_ratio')
191
216
  self.aspect_ratio = attributes[:'aspect_ratio']
192
217
  end
193
218
 
194
- if attributes.has_key?(:'playback_ids')
219
+ if attributes.key?(:'playback_ids')
195
220
  if (value = attributes[:'playback_ids']).is_a?(Array)
196
221
  self.playback_ids = value
197
222
  end
198
223
  end
199
224
 
200
- if attributes.has_key?(:'tracks')
225
+ if attributes.key?(:'tracks')
201
226
  if (value = attributes[:'tracks']).is_a?(Array)
202
227
  self.tracks = value
203
228
  end
204
229
  end
205
230
 
206
- if attributes.has_key?(:'errors')
231
+ if attributes.key?(:'errors')
207
232
  self.errors = attributes[:'errors']
208
233
  end
209
234
 
210
- if attributes.has_key?(:'per_title_encode')
235
+ if attributes.key?(:'per_title_encode')
211
236
  self.per_title_encode = attributes[:'per_title_encode']
212
237
  end
213
238
 
214
- if attributes.has_key?(:'is_live')
239
+ if attributes.key?(:'upload_id')
240
+ self.upload_id = attributes[:'upload_id']
241
+ end
242
+
243
+ if attributes.key?(:'is_live')
215
244
  self.is_live = attributes[:'is_live']
216
245
  end
217
246
 
218
- if attributes.has_key?(:'passthrough')
247
+ if attributes.key?(:'passthrough')
219
248
  self.passthrough = attributes[:'passthrough']
220
249
  end
221
250
 
222
- if attributes.has_key?(:'live_stream_id')
251
+ if attributes.key?(:'live_stream_id')
223
252
  self.live_stream_id = attributes[:'live_stream_id']
224
253
  end
225
254
 
226
- if attributes.has_key?(:'master')
255
+ if attributes.key?(:'master')
227
256
  self.master = attributes[:'master']
228
257
  end
229
258
 
230
- if attributes.has_key?(:'master_access')
259
+ if attributes.key?(:'master_access')
231
260
  self.master_access = attributes[:'master_access']
232
261
  else
233
262
  self.master_access = 'none'
234
263
  end
235
264
 
236
- if attributes.has_key?(:'mp4_support')
265
+ if attributes.key?(:'mp4_support')
237
266
  self.mp4_support = attributes[:'mp4_support']
238
267
  else
239
268
  self.mp4_support = 'none'
240
269
  end
241
270
 
242
- if attributes.has_key?(:'source_asset_id')
271
+ if attributes.key?(:'source_asset_id')
243
272
  self.source_asset_id = attributes[:'source_asset_id']
244
273
  end
245
274
 
246
- if attributes.has_key?(:'normalize_audio')
275
+ if attributes.key?(:'normalize_audio')
247
276
  self.normalize_audio = attributes[:'normalize_audio']
248
277
  else
249
278
  self.normalize_audio = false
250
279
  end
251
280
 
252
- if attributes.has_key?(:'static_renditions')
281
+ if attributes.key?(:'static_renditions')
253
282
  self.static_renditions = attributes[:'static_renditions']
254
283
  end
255
284
 
256
- if attributes.has_key?(:'recording_times')
285
+ if attributes.key?(:'recording_times')
257
286
  if (value = attributes[:'recording_times']).is_a?(Array)
258
287
  self.recording_times = value
259
288
  end
260
289
  end
261
290
 
262
- if attributes.has_key?(:'non_standard_input_reasons')
291
+ if attributes.key?(:'non_standard_input_reasons')
263
292
  self.non_standard_input_reasons = attributes[:'non_standard_input_reasons']
264
293
  end
265
294
 
266
- if attributes.has_key?(:'test')
295
+ if attributes.key?(:'test')
267
296
  self.test = attributes[:'test']
268
297
  end
269
298
  end
@@ -278,13 +307,13 @@ module MuxRuby
278
307
  # Check to see if the all the properties in the model are valid
279
308
  # @return true if the model is valid
280
309
  def valid?
281
- status_validator = EnumAttributeValidator.new('String', ['preparing', 'ready', 'errored'])
310
+ status_validator = EnumAttributeValidator.new('String', ["preparing", "ready", "errored"])
282
311
  return false unless status_validator.valid?(@status)
283
- max_stored_resolution_validator = EnumAttributeValidator.new('String', ['Audio only', 'SD', 'HD', 'FHD', 'UHD'])
312
+ max_stored_resolution_validator = EnumAttributeValidator.new('String', ["Audio only", "SD", "HD", "FHD", "UHD"])
284
313
  return false unless max_stored_resolution_validator.valid?(@max_stored_resolution)
285
- master_access_validator = EnumAttributeValidator.new('String', ['temporary', 'none'])
314
+ master_access_validator = EnumAttributeValidator.new('String', ["temporary", "none"])
286
315
  return false unless master_access_validator.valid?(@master_access)
287
- mp4_support_validator = EnumAttributeValidator.new('String', ['standard', 'none'])
316
+ mp4_support_validator = EnumAttributeValidator.new('String', ["standard", "none"])
288
317
  return false unless mp4_support_validator.valid?(@mp4_support)
289
318
  true
290
319
  end
@@ -292,7 +321,7 @@ module MuxRuby
292
321
  # Custom attribute writer method checking allowed values (enum).
293
322
  # @param [Object] status Object to be assigned
294
323
  def status=(status)
295
- validator = EnumAttributeValidator.new('String', ['preparing', 'ready', 'errored'])
324
+ validator = EnumAttributeValidator.new('String', ["preparing", "ready", "errored"])
296
325
  unless validator.valid?(status)
297
326
  fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
298
327
  end
@@ -302,7 +331,7 @@ module MuxRuby
302
331
  # Custom attribute writer method checking allowed values (enum).
303
332
  # @param [Object] max_stored_resolution Object to be assigned
304
333
  def max_stored_resolution=(max_stored_resolution)
305
- validator = EnumAttributeValidator.new('String', ['Audio only', 'SD', 'HD', 'FHD', 'UHD'])
334
+ validator = EnumAttributeValidator.new('String', ["Audio only", "SD", "HD", "FHD", "UHD"])
306
335
  unless validator.valid?(max_stored_resolution)
307
336
  fail ArgumentError, "invalid value for \"max_stored_resolution\", must be one of #{validator.allowable_values}."
308
337
  end
@@ -312,7 +341,7 @@ module MuxRuby
312
341
  # Custom attribute writer method checking allowed values (enum).
313
342
  # @param [Object] master_access Object to be assigned
314
343
  def master_access=(master_access)
315
- validator = EnumAttributeValidator.new('String', ['temporary', 'none'])
344
+ validator = EnumAttributeValidator.new('String', ["temporary", "none"])
316
345
  unless validator.valid?(master_access)
317
346
  fail ArgumentError, "invalid value for \"master_access\", must be one of #{validator.allowable_values}."
318
347
  end
@@ -322,7 +351,7 @@ module MuxRuby
322
351
  # Custom attribute writer method checking allowed values (enum).
323
352
  # @param [Object] mp4_support Object to be assigned
324
353
  def mp4_support=(mp4_support)
325
- validator = EnumAttributeValidator.new('String', ['standard', 'none'])
354
+ validator = EnumAttributeValidator.new('String', ["standard", "none"])
326
355
  unless validator.valid?(mp4_support)
327
356
  fail ArgumentError, "invalid value for \"mp4_support\", must be one of #{validator.allowable_values}."
328
357
  end
@@ -336,7 +365,6 @@ module MuxRuby
336
365
  self.class == o.class &&
337
366
  id == o.id &&
338
367
  created_at == o.created_at &&
339
- deleted_at == o.deleted_at &&
340
368
  status == o.status &&
341
369
  duration == o.duration &&
342
370
  max_stored_resolution == o.max_stored_resolution &&
@@ -346,6 +374,7 @@ module MuxRuby
346
374
  tracks == o.tracks &&
347
375
  errors == o.errors &&
348
376
  per_title_encode == o.per_title_encode &&
377
+ upload_id == o.upload_id &&
349
378
  is_live == o.is_live &&
350
379
  passthrough == o.passthrough &&
351
380
  live_stream_id == o.live_stream_id &&
@@ -367,9 +396,9 @@ module MuxRuby
367
396
  end
368
397
 
369
398
  # Calculates hash code according to all attributes.
370
- # @return [Fixnum] Hash code
399
+ # @return [Integer] Hash code
371
400
  def hash
372
- [id, created_at, deleted_at, status, duration, max_stored_resolution, max_stored_frame_rate, aspect_ratio, playback_ids, tracks, errors, per_title_encode, is_live, passthrough, live_stream_id, master, master_access, mp4_support, source_asset_id, normalize_audio, static_renditions, recording_times, non_standard_input_reasons, test].hash
401
+ [id, created_at, status, duration, max_stored_resolution, max_stored_frame_rate, aspect_ratio, playback_ids, tracks, errors, per_title_encode, upload_id, is_live, passthrough, live_stream_id, master, master_access, mp4_support, source_asset_id, normalize_audio, static_renditions, recording_times, non_standard_input_reasons, test].hash
373
402
  end
374
403
 
375
404
  # Builds the object from hash
@@ -385,7 +414,9 @@ module MuxRuby
385
414
  def build_from_hash(attributes)
386
415
  return nil unless attributes.is_a?(Hash)
387
416
  self.class.openapi_types.each_pair do |key, type|
388
- if type =~ /\AArray<(.*)>/i
417
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
418
+ self.send("#{key}=", nil)
419
+ elsif type =~ /\AArray<(.*)>/i
389
420
  # check to ensure the input is an array given that the attribute
390
421
  # is documented as an array but the input is not
391
422
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -393,7 +424,7 @@ module MuxRuby
393
424
  end
394
425
  elsif !attributes[self.class.attribute_map[key]].nil?
395
426
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
396
- end # or else data not found in attributes(hash), not an issue as the data can be optional
427
+ end
397
428
  end
398
429
 
399
430
  self
@@ -405,8 +436,8 @@ module MuxRuby
405
436
  # @return [Object] Deserialized data
406
437
  def _deserialize(type, value)
407
438
  case type.to_sym
408
- when :DateTime
409
- DateTime.parse(value)
439
+ when :Time
440
+ Time.parse(value)
410
441
  when :Date
411
442
  Date.parse(value)
412
443
  when :String
@@ -415,7 +446,7 @@ module MuxRuby
415
446
  value.to_i
416
447
  when :Float
417
448
  value.to_f
418
- when :BOOLEAN
449
+ when :Boolean
419
450
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
420
451
  true
421
452
  else
@@ -436,7 +467,9 @@ module MuxRuby
436
467
  end
437
468
  end
438
469
  else # model
439
- MuxRuby.const_get(type).build_from_hash(value)
470
+ # models (e.g. Pet) or oneOf
471
+ klass = MuxRuby.const_get(type)
472
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
440
473
  end
441
474
  end
442
475
 
@@ -458,7 +491,11 @@ module MuxRuby
458
491
  hash = {}
459
492
  self.class.attribute_map.each_pair do |attr, param|
460
493
  value = self.send(attr)
461
- next if value.nil?
494
+ if value.nil?
495
+ is_nullable = self.class.openapi_nullable.include?(attr)
496
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
497
+ end
498
+
462
499
  hash[param] = _to_hash(value)
463
500
  end
464
501
  hash
@@ -1,11 +1,20 @@
1
1
  =begin
2
- # Mux Ruby - Copyright 2019 Mux Inc.
3
- # NOTE: This file is auto generated. Do not edit this file manually.
2
+ #Mux API
3
+
4
+ #Mux is how developers build online video. This API encompasses both Mux Video and Mux Data functionality to help you build your video-related projects better and faster than ever before.
5
+
6
+ The version of the OpenAPI document: v1
7
+ Contact: devex@mux.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.0.1
10
+
4
11
  =end
5
12
 
6
13
  require 'date'
14
+ require 'time'
7
15
 
8
16
  module MuxRuby
17
+ # Object that describes any errors that happened when processing this asset.
9
18
  class AssetErrors
10
19
  # The type of error that occurred for this asset.
11
20
  attr_accessor :type
@@ -21,6 +30,11 @@ module MuxRuby
21
30
  }
22
31
  end
23
32
 
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
24
38
  # Attribute type mapping.
25
39
  def self.openapi_types
26
40
  {
@@ -29,19 +43,32 @@ module MuxRuby
29
43
  }
30
44
  end
31
45
 
46
+ # List of attributes with nullable: true
47
+ def self.openapi_nullable
48
+ Set.new([
49
+ ])
50
+ end
51
+
32
52
  # Initializes the object
33
53
  # @param [Hash] attributes Model attributes in the form of hash
34
54
  def initialize(attributes = {})
35
- return unless attributes.is_a?(Hash)
55
+ if (!attributes.is_a?(Hash))
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AssetErrors` initialize method"
57
+ end
36
58
 
37
- # convert string to symbol for hash key
38
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AssetErrors`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
63
+ end
64
+ h[k.to_sym] = v
65
+ }
39
66
 
40
- if attributes.has_key?(:'type')
67
+ if attributes.key?(:'type')
41
68
  self.type = attributes[:'type']
42
69
  end
43
70
 
44
- if attributes.has_key?(:'messages')
71
+ if attributes.key?(:'messages')
45
72
  if (value = attributes[:'messages']).is_a?(Array)
46
73
  self.messages = value
47
74
  end
@@ -77,7 +104,7 @@ module MuxRuby
77
104
  end
78
105
 
79
106
  # Calculates hash code according to all attributes.
80
- # @return [Fixnum] Hash code
107
+ # @return [Integer] Hash code
81
108
  def hash
82
109
  [type, messages].hash
83
110
  end
@@ -95,7 +122,9 @@ module MuxRuby
95
122
  def build_from_hash(attributes)
96
123
  return nil unless attributes.is_a?(Hash)
97
124
  self.class.openapi_types.each_pair do |key, type|
98
- if type =~ /\AArray<(.*)>/i
125
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
126
+ self.send("#{key}=", nil)
127
+ elsif type =~ /\AArray<(.*)>/i
99
128
  # check to ensure the input is an array given that the attribute
100
129
  # is documented as an array but the input is not
101
130
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -103,7 +132,7 @@ module MuxRuby
103
132
  end
104
133
  elsif !attributes[self.class.attribute_map[key]].nil?
105
134
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
106
- end # or else data not found in attributes(hash), not an issue as the data can be optional
135
+ end
107
136
  end
108
137
 
109
138
  self
@@ -115,8 +144,8 @@ module MuxRuby
115
144
  # @return [Object] Deserialized data
116
145
  def _deserialize(type, value)
117
146
  case type.to_sym
118
- when :DateTime
119
- DateTime.parse(value)
147
+ when :Time
148
+ Time.parse(value)
120
149
  when :Date
121
150
  Date.parse(value)
122
151
  when :String
@@ -125,7 +154,7 @@ module MuxRuby
125
154
  value.to_i
126
155
  when :Float
127
156
  value.to_f
128
- when :BOOLEAN
157
+ when :Boolean
129
158
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
130
159
  true
131
160
  else
@@ -146,7 +175,9 @@ module MuxRuby
146
175
  end
147
176
  end
148
177
  else # model
149
- MuxRuby.const_get(type).build_from_hash(value)
178
+ # models (e.g. Pet) or oneOf
179
+ klass = MuxRuby.const_get(type)
180
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
150
181
  end
151
182
  end
152
183
 
@@ -168,7 +199,11 @@ module MuxRuby
168
199
  hash = {}
169
200
  self.class.attribute_map.each_pair do |attr, param|
170
201
  value = self.send(attr)
171
- next if value.nil?
202
+ if value.nil?
203
+ is_nullable = self.class.openapi_nullable.include?(attr)
204
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
205
+ end
206
+
172
207
  hash[param] = _to_hash(value)
173
208
  end
174
209
  hash