mux_ruby 1.6.0 → 2.0.0.pre.rc.2

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 (314) 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 -23
  7. data/docs/AssetErrors.md +15 -4
  8. data/docs/AssetMaster.md +15 -4
  9. data/docs/AssetNonStandardInputReasons.md +34 -0
  10. data/docs/AssetRecordingTimes.md +20 -0
  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 -161
  15. data/docs/BreakdownValue.md +21 -7
  16. data/docs/CreateAssetRequest.md +27 -10
  17. data/docs/CreateLiveStreamRequest.md +27 -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 +20 -0
  27. data/docs/DimensionsApi.md +156 -0
  28. data/docs/DirectUploadsApi.md +131 -56
  29. data/docs/DisableLiveStreamResponse.md +18 -0
  30. data/docs/EnableLiveStreamResponse.md +18 -0
  31. data/docs/Error.md +27 -10
  32. data/docs/ErrorsApi.md +38 -20
  33. data/docs/ExportsApi.md +33 -14
  34. data/docs/FilterValue.md +15 -4
  35. data/docs/FiltersApi.md +73 -35
  36. data/docs/GetAssetInputInfoResponse.md +13 -3
  37. data/docs/GetAssetOrLiveStreamIdResponse.md +18 -0
  38. data/docs/GetAssetOrLiveStreamIdResponseData.md +22 -0
  39. data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +20 -0
  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 +22 -0
  44. data/docs/GetRealTimeHistogramTimeseriesResponse.md +24 -0
  45. data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +18 -0
  46. data/docs/GetRealTimeTimeseriesResponse.md +22 -0
  47. data/docs/Incident.md +58 -0
  48. data/docs/IncidentBreakdown.md +22 -0
  49. data/docs/IncidentNotification.md +22 -0
  50. data/docs/IncidentNotificationRule.md +26 -0
  51. data/docs/IncidentResponse.md +20 -0
  52. data/docs/IncidentsApi.md +242 -0
  53. data/docs/InputFile.md +15 -4
  54. data/docs/InputInfo.md +15 -4
  55. data/docs/InputSettings.md +31 -10
  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 +22 -0
  64. data/docs/ListDimensionsResponse.md +22 -0
  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 +22 -0
  71. data/docs/ListInsightsResponse.md +17 -5
  72. data/docs/ListLiveStreamsResponse.md +13 -3
  73. data/docs/ListRealTimeDimensionsResponse.md +22 -0
  74. data/docs/ListRealTimeDimensionsResponseData.md +20 -0
  75. data/docs/ListRealTimeMetricsResponse.md +22 -0
  76. data/docs/ListRelatedIncidentsResponse.md +22 -0
  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 +39 -15
  81. data/docs/LiveStreamResponse.md +13 -3
  82. data/docs/LiveStreamsApi.md +497 -145
  83. data/docs/Metric.md +21 -7
  84. data/docs/MetricsApi.md +211 -117
  85. data/docs/NotificationRule.md +22 -0
  86. data/docs/OverallValues.md +19 -6
  87. data/docs/PlaybackID.md +15 -4
  88. data/docs/PlaybackIDApi.md +78 -0
  89. data/docs/PlaybackPolicy.md +10 -2
  90. data/docs/RealTimeApi.md +376 -0
  91. data/docs/RealTimeBreakdownValue.md +26 -0
  92. data/docs/RealTimeHistogramTimeseriesBucket.md +20 -0
  93. data/docs/RealTimeHistogramTimeseriesBucketValues.md +20 -0
  94. data/docs/RealTimeHistogramTimeseriesDatapoint.md +30 -0
  95. data/docs/RealTimeTimeseriesDatapoint.md +22 -0
  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 +130 -54
  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 +251 -114
  110. data/docs/VideoViewEvent.md +19 -6
  111. data/docs/VideoViewResponse.md +15 -4
  112. data/docs/VideoViewsApi.md +78 -41
  113. data/examples/data/exercise-dimensions.rb +29 -0
  114. data/examples/data/exercise-incidents.rb +29 -0
  115. data/examples/data/exercise-realtime.rb +60 -0
  116. data/examples/video/exercise-assets.rb +21 -0
  117. data/examples/video/exercise-live-streams.rb +30 -0
  118. data/gen/.gitignore +7 -0
  119. data/gen/Makefile +31 -0
  120. data/gen/generator-config.json +11 -0
  121. data/gen/openapitools.json +7 -0
  122. data/gen/package.json +17 -0
  123. data/gen/templates/Gemfile.mustache +11 -0
  124. data/gen/templates/README.mustache +158 -0
  125. data/gen/templates/Rakefile.mustache +10 -0
  126. data/gen/templates/api.mustache +206 -0
  127. data/gen/templates/api_client.mustache +264 -0
  128. data/gen/templates/api_client_faraday_partial.mustache +138 -0
  129. data/gen/templates/api_client_spec.mustache +220 -0
  130. data/gen/templates/api_client_typhoeus_partial.mustache +183 -0
  131. data/gen/templates/api_doc.mustache +118 -0
  132. data/gen/templates/api_error.mustache +67 -0
  133. data/gen/templates/api_info.mustache +12 -0
  134. data/gen/templates/api_test.mustache +47 -0
  135. data/gen/templates/base_object.mustache +120 -0
  136. data/gen/templates/configuration.mustache +349 -0
  137. data/gen/templates/configuration_spec.mustache +34 -0
  138. data/gen/templates/configuration_tls_faraday_partial.mustache +29 -0
  139. data/gen/templates/configuration_tls_typhoeus_partial.mustache +34 -0
  140. data/gen/templates/gem.mustache +40 -0
  141. data/gen/templates/gemspec.mustache +35 -0
  142. data/gen/templates/gitignore.mustache +39 -0
  143. data/gen/templates/model.mustache +26 -0
  144. data/gen/templates/model_doc.mustache +12 -0
  145. data/gen/templates/model_test.mustache +77 -0
  146. data/gen/templates/partial_model_enum_class.mustache +20 -0
  147. data/gen/templates/partial_model_generic.mustache +371 -0
  148. data/gen/templates/partial_model_generic_doc.mustache +28 -0
  149. data/gen/templates/partial_oneof_module.mustache +137 -0
  150. data/gen/templates/partial_oneof_module_doc.mustache +92 -0
  151. data/gen/templates/rspec.mustache +2 -0
  152. data/gen/templates/rubocop.mustache +148 -0
  153. data/gen/templates/spec_helper.mustache +103 -0
  154. data/gen/templates/version.mustache +7 -0
  155. data/gen/yarn.lock +1878 -0
  156. data/lib/mux_ruby.rb +43 -2
  157. data/lib/mux_ruby/api/assets_api.rb +291 -152
  158. data/lib/mux_ruby/api/delivery_usage_api.rb +32 -16
  159. data/lib/mux_ruby/api/dimensions_api.rb +154 -0
  160. data/lib/mux_ruby/api/direct_uploads_api.rb +90 -44
  161. data/lib/mux_ruby/api/errors_api.rb +34 -18
  162. data/lib/mux_ruby/api/exports_api.rb +30 -14
  163. data/lib/mux_ruby/api/filters_api.rb +57 -31
  164. data/lib/mux_ruby/api/incidents_api.rb +259 -0
  165. data/lib/mux_ruby/api/live_streams_api.rb +381 -133
  166. data/lib/mux_ruby/api/metrics_api.rb +185 -114
  167. data/lib/mux_ruby/api/playback_id_api.rb +85 -0
  168. data/lib/mux_ruby/api/real_time_api.rb +373 -0
  169. data/lib/mux_ruby/api/url_signing_keys_api.rb +95 -48
  170. data/lib/mux_ruby/api/video_views_api.rb +60 -33
  171. data/lib/mux_ruby/api_client.rb +106 -91
  172. data/lib/mux_ruby/api_error.rb +35 -7
  173. data/lib/mux_ruby/configuration.rb +50 -14
  174. data/lib/mux_ruby/models/abridged_video_view.rb +58 -24
  175. data/lib/mux_ruby/models/asset.rb +157 -53
  176. data/lib/mux_ruby/models/asset_errors.rb +52 -15
  177. data/lib/mux_ruby/models/asset_master.rb +85 -15
  178. data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +370 -0
  179. data/lib/mux_ruby/models/asset_recording_times.rb +229 -0
  180. data/lib/mux_ruby/models/asset_response.rb +48 -14
  181. data/lib/mux_ruby/models/asset_static_renditions.rb +55 -19
  182. data/lib/mux_ruby/models/asset_static_renditions_files.rb +60 -25
  183. data/lib/mux_ruby/models/breakdown_value.rb +52 -18
  184. data/lib/mux_ruby/models/create_asset_request.rb +70 -30
  185. data/lib/mux_ruby/models/create_live_stream_request.rb +68 -23
  186. data/lib/mux_ruby/models/create_playback_id_request.rb +48 -14
  187. data/lib/mux_ruby/models/create_playback_id_response.rb +48 -14
  188. data/lib/mux_ruby/models/create_simulcast_target_request.rb +50 -16
  189. data/lib/mux_ruby/models/create_track_request.rb +65 -27
  190. data/lib/mux_ruby/models/create_track_response.rb +48 -14
  191. data/lib/mux_ruby/models/create_upload_request.rb +52 -18
  192. data/lib/mux_ruby/models/delivery_report.rb +106 -21
  193. data/lib/mux_ruby/models/dimension_value.rb +227 -0
  194. data/lib/mux_ruby/models/disable_live_stream_response.rb +218 -0
  195. data/lib/mux_ruby/models/enable_live_stream_response.rb +218 -0
  196. data/lib/mux_ruby/models/error.rb +63 -21
  197. data/lib/mux_ruby/models/filter_value.rb +49 -15
  198. data/lib/mux_ruby/models/get_asset_input_info_response.rb +48 -14
  199. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +218 -0
  200. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +237 -0
  201. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +264 -0
  202. data/lib/mux_ruby/models/get_asset_playback_id_response.rb +48 -14
  203. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +50 -16
  204. data/lib/mux_ruby/models/get_overall_values_response.rb +50 -16
  205. data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +240 -0
  206. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +249 -0
  207. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +220 -0
  208. data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +240 -0
  209. data/lib/mux_ruby/models/incident.rb +404 -0
  210. data/lib/mux_ruby/models/incident_breakdown.rb +236 -0
  211. data/lib/mux_ruby/models/incident_notification.rb +236 -0
  212. data/lib/mux_ruby/models/incident_notification_rule.rb +256 -0
  213. data/lib/mux_ruby/models/incident_response.rb +229 -0
  214. data/lib/mux_ruby/models/input_file.rb +49 -15
  215. data/lib/mux_ruby/models/input_info.rb +49 -15
  216. data/lib/mux_ruby/models/input_settings.rb +91 -30
  217. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +68 -26
  218. data/lib/mux_ruby/models/input_track.rb +56 -22
  219. data/lib/mux_ruby/models/insight.rb +53 -19
  220. data/lib/mux_ruby/models/list_all_metric_values_response.rb +50 -16
  221. data/lib/mux_ruby/models/list_assets_response.rb +48 -14
  222. data/lib/mux_ruby/models/list_breakdown_values_response.rb +50 -16
  223. data/lib/mux_ruby/models/list_delivery_usage_response.rb +51 -17
  224. data/lib/mux_ruby/models/list_dimension_values_response.rb +240 -0
  225. data/lib/mux_ruby/models/list_dimensions_response.rb +238 -0
  226. data/lib/mux_ruby/models/list_errors_response.rb +50 -16
  227. data/lib/mux_ruby/models/list_exports_response.rb +50 -16
  228. data/lib/mux_ruby/models/list_filter_values_response.rb +50 -16
  229. data/lib/mux_ruby/models/list_filters_response.rb +50 -16
  230. data/lib/mux_ruby/models/list_filters_response_data.rb +49 -15
  231. data/lib/mux_ruby/models/list_incidents_response.rb +240 -0
  232. data/lib/mux_ruby/models/list_insights_response.rb +50 -16
  233. data/lib/mux_ruby/models/list_live_streams_response.rb +48 -14
  234. data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +240 -0
  235. data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +227 -0
  236. data/lib/mux_ruby/models/list_real_time_metrics_response.rb +240 -0
  237. data/lib/mux_ruby/models/list_related_incidents_response.rb +240 -0
  238. data/lib/mux_ruby/models/list_signing_keys_response.rb +48 -14
  239. data/lib/mux_ruby/models/list_uploads_response.rb +48 -14
  240. data/lib/mux_ruby/models/list_video_views_response.rb +50 -16
  241. data/lib/mux_ruby/models/live_stream.rb +121 -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 +236 -0
  245. data/lib/mux_ruby/models/overall_values.rb +51 -17
  246. data/lib/mux_ruby/models/playback_id.rb +50 -15
  247. data/lib/mux_ruby/models/playback_policy.rb +12 -6
  248. data/lib/mux_ruby/models/real_time_breakdown_value.rb +254 -0
  249. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +227 -0
  250. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +227 -0
  251. data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +274 -0
  252. data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +236 -0
  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 +55 -21
  258. data/lib/mux_ruby/models/simulcast_target_response.rb +48 -14
  259. data/lib/mux_ruby/models/track.rb +92 -33
  260. data/lib/mux_ruby/models/update_asset_master_access_request.rb +51 -17
  261. data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +51 -17
  262. data/lib/mux_ruby/models/upload.rb +62 -26
  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/mux_ruby.gemspec +15 -15
  270. data/spec/api/assets_api_spec.rb +2 -0
  271. data/spec/api/dimensions_api_spec.rb +55 -0
  272. data/spec/api/filters_api_spec.rb +2 -2
  273. data/spec/api/incidents_api_spec.rb +73 -0
  274. data/spec/api/live_streams_api_spec.rb +24 -0
  275. data/spec/api/playback_id_api_spec.rb +40 -0
  276. data/spec/api/real_time_api_spec.rb +93 -0
  277. data/spec/api_client_spec.rb +10 -3
  278. data/spec/configuration_spec.rb +9 -2
  279. data/spec/models/asset_master_spec.rb +4 -0
  280. data/spec/models/asset_non_standard_input_reasons_spec.rb +98 -0
  281. data/spec/models/asset_recording_times_spec.rb +40 -0
  282. data/spec/models/asset_spec.rb +26 -0
  283. data/spec/models/dimension_value_spec.rb +40 -0
  284. data/spec/models/disable_live_stream_response_spec.rb +34 -0
  285. data/spec/models/enable_live_stream_response_spec.rb +34 -0
  286. data/spec/models/get_asset_or_live_stream_id_response_data_object_spec.rb +44 -0
  287. data/spec/models/get_asset_or_live_stream_id_response_data_spec.rb +46 -0
  288. data/spec/models/get_asset_or_live_stream_id_response_spec.rb +34 -0
  289. data/spec/models/get_real_time_breakdown_response_spec.rb +46 -0
  290. data/spec/models/get_real_time_histogram_timeseries_response_meta_spec.rb +34 -0
  291. data/spec/models/get_real_time_histogram_timeseries_response_spec.rb +52 -0
  292. data/spec/models/get_real_time_timeseries_response_spec.rb +46 -0
  293. data/spec/models/incident_breakdown_spec.rb +46 -0
  294. data/spec/models/incident_notification_rule_spec.rb +58 -0
  295. data/spec/models/incident_notification_spec.rb +46 -0
  296. data/spec/models/incident_response_spec.rb +40 -0
  297. data/spec/models/incident_spec.rb +154 -0
  298. data/spec/models/input_settings_spec.rb +12 -0
  299. data/spec/models/list_dimension_values_response_spec.rb +46 -0
  300. data/spec/models/list_dimensions_response_spec.rb +46 -0
  301. data/spec/models/list_incidents_response_spec.rb +46 -0
  302. data/spec/models/list_real_time_dimensions_response_data_spec.rb +40 -0
  303. data/spec/models/list_real_time_dimensions_response_spec.rb +46 -0
  304. data/spec/models/list_real_time_metrics_response_spec.rb +46 -0
  305. data/spec/models/list_related_incidents_response_spec.rb +46 -0
  306. data/spec/models/notification_rule_spec.rb +46 -0
  307. data/spec/models/real_time_breakdown_value_spec.rb +58 -0
  308. data/spec/models/real_time_histogram_timeseries_bucket_spec.rb +40 -0
  309. data/spec/models/real_time_histogram_timeseries_bucket_values_spec.rb +40 -0
  310. data/spec/models/real_time_histogram_timeseries_datapoint_spec.rb +70 -0
  311. data/spec/models/real_time_timeseries_datapoint_spec.rb +46 -0
  312. data/spec/models/track_spec.rb +4 -0
  313. data/spec/spec_helper.rb +9 -2
  314. metadata +246 -209
@@ -1,9 +1,17 @@
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 SimulcastTarget
@@ -55,6 +63,11 @@ module MuxRuby
55
63
  }
56
64
  end
57
65
 
66
+ # Returns all the JSON keys this model knows about
67
+ def self.acceptable_attributes
68
+ attribute_map.values
69
+ end
70
+
58
71
  # Attribute type mapping.
59
72
  def self.openapi_types
60
73
  {
@@ -66,31 +79,44 @@ module MuxRuby
66
79
  }
67
80
  end
68
81
 
82
+ # List of attributes with nullable: true
83
+ def self.openapi_nullable
84
+ Set.new([
85
+ ])
86
+ end
87
+
69
88
  # Initializes the object
70
89
  # @param [Hash] attributes Model attributes in the form of hash
71
90
  def initialize(attributes = {})
72
- return unless attributes.is_a?(Hash)
91
+ if (!attributes.is_a?(Hash))
92
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::SimulcastTarget` initialize method"
93
+ end
73
94
 
74
- # convert string to symbol for hash key
75
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
95
+ # check to see if the attribute exists and convert string to symbol for hash key
96
+ attributes = attributes.each_with_object({}) { |(k, v), h|
97
+ if (!self.class.attribute_map.key?(k.to_sym))
98
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::SimulcastTarget`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
99
+ end
100
+ h[k.to_sym] = v
101
+ }
76
102
 
77
- if attributes.has_key?(:'id')
103
+ if attributes.key?(:'id')
78
104
  self.id = attributes[:'id']
79
105
  end
80
106
 
81
- if attributes.has_key?(:'passthrough')
107
+ if attributes.key?(:'passthrough')
82
108
  self.passthrough = attributes[:'passthrough']
83
109
  end
84
110
 
85
- if attributes.has_key?(:'status')
111
+ if attributes.key?(:'status')
86
112
  self.status = attributes[:'status']
87
113
  end
88
114
 
89
- if attributes.has_key?(:'stream_key')
115
+ if attributes.key?(:'stream_key')
90
116
  self.stream_key = attributes[:'stream_key']
91
117
  end
92
118
 
93
- if attributes.has_key?(:'url')
119
+ if attributes.key?(:'url')
94
120
  self.url = attributes[:'url']
95
121
  end
96
122
  end
@@ -105,7 +131,7 @@ module MuxRuby
105
131
  # Check to see if the all the properties in the model are valid
106
132
  # @return true if the model is valid
107
133
  def valid?
108
- status_validator = EnumAttributeValidator.new('String', ['idle', 'starting', 'broadcasting', 'errored'])
134
+ status_validator = EnumAttributeValidator.new('String', ["idle", "starting", "broadcasting", "errored"])
109
135
  return false unless status_validator.valid?(@status)
110
136
  true
111
137
  end
@@ -113,9 +139,9 @@ module MuxRuby
113
139
  # Custom attribute writer method checking allowed values (enum).
114
140
  # @param [Object] status Object to be assigned
115
141
  def status=(status)
116
- validator = EnumAttributeValidator.new('String', ['idle', 'starting', 'broadcasting', 'errored'])
142
+ validator = EnumAttributeValidator.new('String', ["idle", "starting", "broadcasting", "errored"])
117
143
  unless validator.valid?(status)
118
- fail ArgumentError, 'invalid value for "status", must be one of #{validator.allowable_values}.'
144
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
119
145
  end
120
146
  @status = status
121
147
  end
@@ -139,7 +165,7 @@ module MuxRuby
139
165
  end
140
166
 
141
167
  # Calculates hash code according to all attributes.
142
- # @return [Fixnum] Hash code
168
+ # @return [Integer] Hash code
143
169
  def hash
144
170
  [id, passthrough, status, stream_key, url].hash
145
171
  end
@@ -157,7 +183,9 @@ module MuxRuby
157
183
  def build_from_hash(attributes)
158
184
  return nil unless attributes.is_a?(Hash)
159
185
  self.class.openapi_types.each_pair do |key, type|
160
- if type =~ /\AArray<(.*)>/i
186
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
187
+ self.send("#{key}=", nil)
188
+ elsif type =~ /\AArray<(.*)>/i
161
189
  # check to ensure the input is an array given that the attribute
162
190
  # is documented as an array but the input is not
163
191
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -165,7 +193,7 @@ module MuxRuby
165
193
  end
166
194
  elsif !attributes[self.class.attribute_map[key]].nil?
167
195
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
168
- end # or else data not found in attributes(hash), not an issue as the data can be optional
196
+ end
169
197
  end
170
198
 
171
199
  self
@@ -177,8 +205,8 @@ module MuxRuby
177
205
  # @return [Object] Deserialized data
178
206
  def _deserialize(type, value)
179
207
  case type.to_sym
180
- when :DateTime
181
- DateTime.parse(value)
208
+ when :Time
209
+ Time.parse(value)
182
210
  when :Date
183
211
  Date.parse(value)
184
212
  when :String
@@ -187,7 +215,7 @@ module MuxRuby
187
215
  value.to_i
188
216
  when :Float
189
217
  value.to_f
190
- when :BOOLEAN
218
+ when :Boolean
191
219
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
192
220
  true
193
221
  else
@@ -208,7 +236,9 @@ module MuxRuby
208
236
  end
209
237
  end
210
238
  else # model
211
- MuxRuby.const_get(type).build_from_hash(value)
239
+ # models (e.g. Pet) or oneOf
240
+ klass = MuxRuby.const_get(type)
241
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
212
242
  end
213
243
  end
214
244
 
@@ -230,7 +260,11 @@ module MuxRuby
230
260
  hash = {}
231
261
  self.class.attribute_map.each_pair do |attr, param|
232
262
  value = self.send(attr)
233
- next if value.nil?
263
+ if value.nil?
264
+ is_nullable = self.class.openapi_nullable.include?(attr)
265
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
266
+ end
267
+
234
268
  hash[param] = _to_hash(value)
235
269
  end
236
270
  hash
@@ -1,9 +1,17 @@
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 SimulcastTargetResponse
@@ -16,6 +24,11 @@ module MuxRuby
16
24
  }
17
25
  end
18
26
 
27
+ # Returns all the JSON keys this model knows about
28
+ def self.acceptable_attributes
29
+ attribute_map.values
30
+ end
31
+
19
32
  # Attribute type mapping.
20
33
  def self.openapi_types
21
34
  {
@@ -23,15 +36,28 @@ module MuxRuby
23
36
  }
24
37
  end
25
38
 
39
+ # List of attributes with nullable: true
40
+ def self.openapi_nullable
41
+ Set.new([
42
+ ])
43
+ end
44
+
26
45
  # Initializes the object
27
46
  # @param [Hash] attributes Model attributes in the form of hash
28
47
  def initialize(attributes = {})
29
- return unless attributes.is_a?(Hash)
48
+ if (!attributes.is_a?(Hash))
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::SimulcastTargetResponse` initialize method"
50
+ end
30
51
 
31
- # convert string to symbol for hash key
32
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
52
+ # check to see if the attribute exists and convert string to symbol for hash key
53
+ attributes = attributes.each_with_object({}) { |(k, v), h|
54
+ if (!self.class.attribute_map.key?(k.to_sym))
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::SimulcastTargetResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ end
57
+ h[k.to_sym] = v
58
+ }
33
59
 
34
- if attributes.has_key?(:'data')
60
+ if attributes.key?(:'data')
35
61
  self.data = attributes[:'data']
36
62
  end
37
63
  end
@@ -64,7 +90,7 @@ module MuxRuby
64
90
  end
65
91
 
66
92
  # Calculates hash code according to all attributes.
67
- # @return [Fixnum] Hash code
93
+ # @return [Integer] Hash code
68
94
  def hash
69
95
  [data].hash
70
96
  end
@@ -82,7 +108,9 @@ module MuxRuby
82
108
  def build_from_hash(attributes)
83
109
  return nil unless attributes.is_a?(Hash)
84
110
  self.class.openapi_types.each_pair do |key, type|
85
- if type =~ /\AArray<(.*)>/i
111
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
112
+ self.send("#{key}=", nil)
113
+ elsif type =~ /\AArray<(.*)>/i
86
114
  # check to ensure the input is an array given that the attribute
87
115
  # is documented as an array but the input is not
88
116
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -90,7 +118,7 @@ module MuxRuby
90
118
  end
91
119
  elsif !attributes[self.class.attribute_map[key]].nil?
92
120
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
93
- end # or else data not found in attributes(hash), not an issue as the data can be optional
121
+ end
94
122
  end
95
123
 
96
124
  self
@@ -102,8 +130,8 @@ module MuxRuby
102
130
  # @return [Object] Deserialized data
103
131
  def _deserialize(type, value)
104
132
  case type.to_sym
105
- when :DateTime
106
- DateTime.parse(value)
133
+ when :Time
134
+ Time.parse(value)
107
135
  when :Date
108
136
  Date.parse(value)
109
137
  when :String
@@ -112,7 +140,7 @@ module MuxRuby
112
140
  value.to_i
113
141
  when :Float
114
142
  value.to_f
115
- when :BOOLEAN
143
+ when :Boolean
116
144
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
117
145
  true
118
146
  else
@@ -133,7 +161,9 @@ module MuxRuby
133
161
  end
134
162
  end
135
163
  else # model
136
- MuxRuby.const_get(type).build_from_hash(value)
164
+ # models (e.g. Pet) or oneOf
165
+ klass = MuxRuby.const_get(type)
166
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
137
167
  end
138
168
  end
139
169
 
@@ -155,7 +185,11 @@ module MuxRuby
155
185
  hash = {}
156
186
  self.class.attribute_map.each_pair do |attr, param|
157
187
  value = self.send(attr)
158
- next if value.nil?
188
+ if value.nil?
189
+ is_nullable = self.class.openapi_nullable.include?(attr)
190
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
191
+ end
192
+
159
193
  hash[param] = _to_hash(value)
160
194
  end
161
195
  hash
@@ -1,36 +1,57 @@
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 Track
18
+ # Unique identifier for the Track
10
19
  attr_accessor :id
11
20
 
21
+ # The type of track
12
22
  attr_accessor :type
13
23
 
24
+ # The duration in seconds of the track media. This parameter is not set for the `text` type track. This field is optional and may not be set. The top level `duration` field of an asset will always be set.
14
25
  attr_accessor :duration
15
26
 
27
+ # The maximum width in pixels available for the track. Only set for the `video` type track.
16
28
  attr_accessor :max_width
17
29
 
30
+ # The maximum height in pixels available for the track. Only set for the `video` type track.
18
31
  attr_accessor :max_height
19
32
 
33
+ # The maximum frame rate available for the track. Only set for the `video` type track. This field may return `-1` if the frame rate of the input cannot be reliably determined.
20
34
  attr_accessor :max_frame_rate
21
35
 
36
+ # The maximum number of audio channels the track supports. Only set for the `audio` type track.
22
37
  attr_accessor :max_channels
23
38
 
39
+ # Only set for the `audio` type track.
24
40
  attr_accessor :max_channel_layout
25
41
 
42
+ # This parameter is set only for the `text` type track.
26
43
  attr_accessor :text_type
27
44
 
45
+ # The language code value represents [BCP 47](https://tools.ietf.org/html/bcp47) specification compliant value. For example, `en` for English or `en-US` for the US version of English. This parameter is set for `text` type and `subtitles` text type track.
28
46
  attr_accessor :language_code
29
47
 
48
+ # The name of the track containing a human-readable description. The hls manifest will associate a subtitle text track with this value. For example, the value is \"English\" for subtitles text track for the `language_code` value of `en-US`. This parameter is set for the `text` type and `subtitles` text type track.
30
49
  attr_accessor :name
31
50
 
51
+ # Indicates the track provides Subtitles for the Deaf or Hard-of-hearing (SDH). This parameter is set for the `text` type and `subtitles` text type track.
32
52
  attr_accessor :closed_captions
33
53
 
54
+ # Arbitrary metadata set for the track either when creating the asset or track. This parameter is set for `text` type and `subtitles` text type track. Max 255 characters.
34
55
  attr_accessor :passthrough
35
56
 
36
57
  class EnumAttributeValidator
@@ -74,6 +95,11 @@ module MuxRuby
74
95
  }
75
96
  end
76
97
 
98
+ # Returns all the JSON keys this model knows about
99
+ def self.acceptable_attributes
100
+ attribute_map.values
101
+ end
102
+
77
103
  # Attribute type mapping.
78
104
  def self.openapi_types
79
105
  {
@@ -88,68 +114,81 @@ module MuxRuby
88
114
  :'text_type' => :'String',
89
115
  :'language_code' => :'String',
90
116
  :'name' => :'String',
91
- :'closed_captions' => :'BOOLEAN',
117
+ :'closed_captions' => :'Boolean',
92
118
  :'passthrough' => :'String'
93
119
  }
94
120
  end
95
121
 
122
+ # List of attributes with nullable: true
123
+ def self.openapi_nullable
124
+ Set.new([
125
+ ])
126
+ end
127
+
96
128
  # Initializes the object
97
129
  # @param [Hash] attributes Model attributes in the form of hash
98
130
  def initialize(attributes = {})
99
- return unless attributes.is_a?(Hash)
131
+ if (!attributes.is_a?(Hash))
132
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::Track` initialize method"
133
+ end
100
134
 
101
- # convert string to symbol for hash key
102
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
135
+ # check to see if the attribute exists and convert string to symbol for hash key
136
+ attributes = attributes.each_with_object({}) { |(k, v), h|
137
+ if (!self.class.attribute_map.key?(k.to_sym))
138
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::Track`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
139
+ end
140
+ h[k.to_sym] = v
141
+ }
103
142
 
104
- if attributes.has_key?(:'id')
143
+ if attributes.key?(:'id')
105
144
  self.id = attributes[:'id']
106
145
  end
107
146
 
108
- if attributes.has_key?(:'type')
147
+ if attributes.key?(:'type')
109
148
  self.type = attributes[:'type']
110
149
  end
111
150
 
112
- if attributes.has_key?(:'duration')
151
+ if attributes.key?(:'duration')
113
152
  self.duration = attributes[:'duration']
114
153
  end
115
154
 
116
- if attributes.has_key?(:'max_width')
155
+ if attributes.key?(:'max_width')
117
156
  self.max_width = attributes[:'max_width']
118
157
  end
119
158
 
120
- if attributes.has_key?(:'max_height')
159
+ if attributes.key?(:'max_height')
121
160
  self.max_height = attributes[:'max_height']
122
161
  end
123
162
 
124
- if attributes.has_key?(:'max_frame_rate')
163
+ if attributes.key?(:'max_frame_rate')
125
164
  self.max_frame_rate = attributes[:'max_frame_rate']
126
165
  end
127
166
 
128
- if attributes.has_key?(:'max_channels')
167
+ if attributes.key?(:'max_channels')
129
168
  self.max_channels = attributes[:'max_channels']
130
169
  end
131
170
 
132
- if attributes.has_key?(:'max_channel_layout')
171
+ if attributes.key?(:'max_channel_layout')
133
172
  self.max_channel_layout = attributes[:'max_channel_layout']
134
173
  end
135
174
 
136
- if attributes.has_key?(:'text_type')
175
+ if attributes.key?(:'text_type')
137
176
  self.text_type = attributes[:'text_type']
138
177
  end
139
178
 
140
- if attributes.has_key?(:'language_code')
179
+ if attributes.key?(:'language_code')
141
180
  self.language_code = attributes[:'language_code']
142
181
  end
143
182
 
144
- if attributes.has_key?(:'name')
183
+ if attributes.key?(:'name')
145
184
  self.name = attributes[:'name']
146
185
  end
147
186
 
148
- if attributes.has_key?(:'closed_captions')
187
+ if attributes.key?(:'closed_captions')
149
188
  self.closed_captions = attributes[:'closed_captions']
150
189
  end
151
190
 
152
- if attributes.has_key?(:'passthrough')
191
+ if attributes.key?(:'passthrough')
153
192
  self.passthrough = attributes[:'passthrough']
154
193
  end
155
194
  end
@@ -164,9 +203,11 @@ module MuxRuby
164
203
  # Check to see if the all the properties in the model are valid
165
204
  # @return true if the model is valid
166
205
  def valid?
167
- type_validator = EnumAttributeValidator.new('String', ['video', 'audio', 'text'])
206
+ type_validator = EnumAttributeValidator.new('String', ["video", "audio", "text"])
168
207
  return false unless type_validator.valid?(@type)
169
- text_type_validator = EnumAttributeValidator.new('String', ['subtitles'])
208
+ max_channel_layout_validator = EnumAttributeValidator.new('String', ["mono", "stereo", "5.2", "7.1"])
209
+ return false unless max_channel_layout_validator.valid?(@max_channel_layout)
210
+ text_type_validator = EnumAttributeValidator.new('String', ["subtitles"])
170
211
  return false unless text_type_validator.valid?(@text_type)
171
212
  true
172
213
  end
@@ -174,19 +215,29 @@ module MuxRuby
174
215
  # Custom attribute writer method checking allowed values (enum).
175
216
  # @param [Object] type Object to be assigned
176
217
  def type=(type)
177
- validator = EnumAttributeValidator.new('String', ['video', 'audio', 'text'])
218
+ validator = EnumAttributeValidator.new('String', ["video", "audio", "text"])
178
219
  unless validator.valid?(type)
179
- fail ArgumentError, 'invalid value for "type", must be one of #{validator.allowable_values}.'
220
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
180
221
  end
181
222
  @type = type
182
223
  end
183
224
 
225
+ # Custom attribute writer method checking allowed values (enum).
226
+ # @param [Object] max_channel_layout Object to be assigned
227
+ def max_channel_layout=(max_channel_layout)
228
+ validator = EnumAttributeValidator.new('String', ["mono", "stereo", "5.2", "7.1"])
229
+ unless validator.valid?(max_channel_layout)
230
+ fail ArgumentError, "invalid value for \"max_channel_layout\", must be one of #{validator.allowable_values}."
231
+ end
232
+ @max_channel_layout = max_channel_layout
233
+ end
234
+
184
235
  # Custom attribute writer method checking allowed values (enum).
185
236
  # @param [Object] text_type Object to be assigned
186
237
  def text_type=(text_type)
187
- validator = EnumAttributeValidator.new('String', ['subtitles'])
238
+ validator = EnumAttributeValidator.new('String', ["subtitles"])
188
239
  unless validator.valid?(text_type)
189
- fail ArgumentError, 'invalid value for "text_type", must be one of #{validator.allowable_values}.'
240
+ fail ArgumentError, "invalid value for \"text_type\", must be one of #{validator.allowable_values}."
190
241
  end
191
242
  @text_type = text_type
192
243
  end
@@ -218,7 +269,7 @@ module MuxRuby
218
269
  end
219
270
 
220
271
  # Calculates hash code according to all attributes.
221
- # @return [Fixnum] Hash code
272
+ # @return [Integer] Hash code
222
273
  def hash
223
274
  [id, type, duration, max_width, max_height, max_frame_rate, max_channels, max_channel_layout, text_type, language_code, name, closed_captions, passthrough].hash
224
275
  end
@@ -236,7 +287,9 @@ module MuxRuby
236
287
  def build_from_hash(attributes)
237
288
  return nil unless attributes.is_a?(Hash)
238
289
  self.class.openapi_types.each_pair do |key, type|
239
- if type =~ /\AArray<(.*)>/i
290
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
291
+ self.send("#{key}=", nil)
292
+ elsif type =~ /\AArray<(.*)>/i
240
293
  # check to ensure the input is an array given that the attribute
241
294
  # is documented as an array but the input is not
242
295
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -244,7 +297,7 @@ module MuxRuby
244
297
  end
245
298
  elsif !attributes[self.class.attribute_map[key]].nil?
246
299
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
247
- end # or else data not found in attributes(hash), not an issue as the data can be optional
300
+ end
248
301
  end
249
302
 
250
303
  self
@@ -256,8 +309,8 @@ module MuxRuby
256
309
  # @return [Object] Deserialized data
257
310
  def _deserialize(type, value)
258
311
  case type.to_sym
259
- when :DateTime
260
- DateTime.parse(value)
312
+ when :Time
313
+ Time.parse(value)
261
314
  when :Date
262
315
  Date.parse(value)
263
316
  when :String
@@ -266,7 +319,7 @@ module MuxRuby
266
319
  value.to_i
267
320
  when :Float
268
321
  value.to_f
269
- when :BOOLEAN
322
+ when :Boolean
270
323
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
271
324
  true
272
325
  else
@@ -287,7 +340,9 @@ module MuxRuby
287
340
  end
288
341
  end
289
342
  else # model
290
- MuxRuby.const_get(type).build_from_hash(value)
343
+ # models (e.g. Pet) or oneOf
344
+ klass = MuxRuby.const_get(type)
345
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
291
346
  end
292
347
  end
293
348
 
@@ -309,7 +364,11 @@ module MuxRuby
309
364
  hash = {}
310
365
  self.class.attribute_map.each_pair do |attr, param|
311
366
  value = self.send(attr)
312
- next if value.nil?
367
+ if value.nil?
368
+ is_nullable = self.class.openapi_nullable.include?(attr)
369
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
370
+ end
371
+
313
372
  hash[param] = _to_hash(value)
314
373
  end
315
374
  hash