mux_ruby 1.8.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (288) 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 -25
  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 -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 +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 +18 -0
  40. data/docs/GetAssetOrLiveStreamIdResponseData.md +22 -0
  41. data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +20 -0
  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 -10
  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 +39 -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 +78 -0
  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/examples/video/exercise-assets.rb +21 -0
  117. data/examples/video/exercise-live-streams.rb +8 -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 +16 -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 +55 -29
  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 +86 -13
  163. data/lib/mux_ruby/api/filters_api.rb +53 -27
  164. data/lib/mux_ruby/api/incidents_api.rb +94 -52
  165. data/lib/mux_ruby/api/live_streams_api.rb +299 -157
  166. data/lib/mux_ruby/api/metrics_api.rb +193 -122
  167. data/lib/mux_ruby/api/playback_id_api.rb +85 -0
  168. data/lib/mux_ruby/api/real_time_api.rb +149 -87
  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 +129 -58
  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 +78 -43
  179. data/lib/mux_ruby/models/asset_recording_times.rb +52 -18
  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 +49 -15
  194. data/lib/mux_ruby/models/disable_live_stream_response.rb +48 -14
  195. data/lib/mux_ruby/models/enable_live_stream_response.rb +48 -14
  196. data/lib/mux_ruby/models/error.rb +63 -21
  197. data/lib/mux_ruby/models/export_date.rb +229 -0
  198. data/lib/mux_ruby/models/export_file.rb +236 -0
  199. data/lib/mux_ruby/models/filter_value.rb +49 -15
  200. data/lib/mux_ruby/models/get_asset_input_info_response.rb +48 -14
  201. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +218 -0
  202. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +237 -0
  203. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +264 -0
  204. data/lib/mux_ruby/models/get_asset_playback_id_response.rb +48 -14
  205. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +50 -16
  206. data/lib/mux_ruby/models/get_overall_values_response.rb +50 -16
  207. data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +50 -16
  208. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +51 -17
  209. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +48 -14
  210. data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +50 -16
  211. data/lib/mux_ruby/models/incident.rb +68 -34
  212. data/lib/mux_ruby/models/incident_breakdown.rb +50 -16
  213. data/lib/mux_ruby/models/incident_notification.rb +50 -16
  214. data/lib/mux_ruby/models/incident_notification_rule.rb +52 -18
  215. data/lib/mux_ruby/models/incident_response.rb +49 -15
  216. data/lib/mux_ruby/models/input_file.rb +49 -15
  217. data/lib/mux_ruby/models/input_info.rb +49 -15
  218. data/lib/mux_ruby/models/input_settings.rb +91 -30
  219. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +68 -26
  220. data/lib/mux_ruby/models/input_track.rb +56 -22
  221. data/lib/mux_ruby/models/insight.rb +53 -19
  222. data/lib/mux_ruby/models/list_all_metric_values_response.rb +50 -16
  223. data/lib/mux_ruby/models/list_assets_response.rb +48 -14
  224. data/lib/mux_ruby/models/list_breakdown_values_response.rb +50 -16
  225. data/lib/mux_ruby/models/list_delivery_usage_response.rb +51 -17
  226. data/lib/mux_ruby/models/list_dimension_values_response.rb +50 -16
  227. data/lib/mux_ruby/models/list_dimensions_response.rb +50 -16
  228. data/lib/mux_ruby/models/list_errors_response.rb +50 -16
  229. data/lib/mux_ruby/models/list_exports_response.rb +50 -16
  230. data/lib/mux_ruby/models/list_filter_values_response.rb +50 -16
  231. data/lib/mux_ruby/models/list_filters_response.rb +50 -16
  232. data/lib/mux_ruby/models/list_filters_response_data.rb +49 -15
  233. data/lib/mux_ruby/models/list_incidents_response.rb +50 -16
  234. data/lib/mux_ruby/models/list_insights_response.rb +50 -16
  235. data/lib/mux_ruby/models/list_live_streams_response.rb +48 -14
  236. data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +50 -16
  237. data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +49 -15
  238. data/lib/mux_ruby/models/list_real_time_metrics_response.rb +50 -16
  239. data/lib/mux_ruby/models/list_related_incidents_response.rb +50 -16
  240. data/lib/mux_ruby/models/list_signing_keys_response.rb +48 -14
  241. data/lib/mux_ruby/models/list_uploads_response.rb +48 -14
  242. data/lib/mux_ruby/models/list_video_view_exports_response.rb +240 -0
  243. data/lib/mux_ruby/models/list_video_views_response.rb +50 -16
  244. data/lib/mux_ruby/models/live_stream.rb +121 -29
  245. data/lib/mux_ruby/models/live_stream_response.rb +48 -14
  246. data/lib/mux_ruby/models/metric.rb +52 -18
  247. data/lib/mux_ruby/models/notification_rule.rb +50 -16
  248. data/lib/mux_ruby/models/overall_values.rb +51 -17
  249. data/lib/mux_ruby/models/playback_id.rb +50 -15
  250. data/lib/mux_ruby/models/playback_policy.rb +12 -6
  251. data/lib/mux_ruby/models/real_time_breakdown_value.rb +52 -18
  252. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +50 -16
  253. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +49 -15
  254. data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +54 -20
  255. data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +50 -16
  256. data/lib/mux_ruby/models/score.rb +53 -19
  257. data/lib/mux_ruby/models/signal_live_stream_complete_response.rb +48 -14
  258. data/lib/mux_ruby/models/signing_key.rb +53 -16
  259. data/lib/mux_ruby/models/signing_key_response.rb +48 -14
  260. data/lib/mux_ruby/models/simulcast_target.rb +55 -21
  261. data/lib/mux_ruby/models/simulcast_target_response.rb +48 -14
  262. data/lib/mux_ruby/models/track.rb +92 -33
  263. data/lib/mux_ruby/models/update_asset_master_access_request.rb +51 -17
  264. data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +51 -17
  265. data/lib/mux_ruby/models/upload.rb +62 -26
  266. data/lib/mux_ruby/models/upload_error.rb +51 -15
  267. data/lib/mux_ruby/models/upload_response.rb +48 -14
  268. data/lib/mux_ruby/models/video_view.rb +242 -136
  269. data/lib/mux_ruby/models/video_view_event.rb +51 -17
  270. data/lib/mux_ruby/models/video_view_response.rb +49 -15
  271. data/lib/mux_ruby/version.rb +10 -3
  272. data/mux_ruby.gemspec +15 -15
  273. data/spec/api/assets_api_spec.rb +2 -0
  274. data/spec/api/playback_id_api_spec.rb +40 -0
  275. data/spec/api_client_spec.rb +10 -3
  276. data/spec/configuration_spec.rb +9 -2
  277. data/spec/models/asset_master_spec.rb +4 -0
  278. data/spec/models/asset_spec.rb +10 -0
  279. data/spec/models/export_date_spec.rb +40 -0
  280. data/spec/models/export_file_spec.rb +46 -0
  281. data/spec/models/get_asset_or_live_stream_id_response_data_object_spec.rb +44 -0
  282. data/spec/models/get_asset_or_live_stream_id_response_data_spec.rb +46 -0
  283. data/spec/models/get_asset_or_live_stream_id_response_spec.rb +34 -0
  284. data/spec/models/input_settings_spec.rb +12 -0
  285. data/spec/models/list_video_view_exports_response_spec.rb +46 -0
  286. data/spec/models/track_spec.rb +4 -0
  287. data/spec/spec_helper.rb +9 -2
  288. metadata +161 -235
@@ -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 AbridgedVideoView
@@ -46,6 +54,11 @@ module MuxRuby
46
54
  }
47
55
  end
48
56
 
57
+ # Returns all the JSON keys this model knows about
58
+ def self.acceptable_attributes
59
+ attribute_map.values
60
+ end
61
+
49
62
  # Attribute type mapping.
50
63
  def self.openapi_types
51
64
  {
@@ -63,55 +76,68 @@ module MuxRuby
63
76
  }
64
77
  end
65
78
 
79
+ # List of attributes with nullable: true
80
+ def self.openapi_nullable
81
+ Set.new([
82
+ ])
83
+ end
84
+
66
85
  # Initializes the object
67
86
  # @param [Hash] attributes Model attributes in the form of hash
68
87
  def initialize(attributes = {})
69
- return unless attributes.is_a?(Hash)
88
+ if (!attributes.is_a?(Hash))
89
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AbridgedVideoView` initialize method"
90
+ end
70
91
 
71
- # convert string to symbol for hash key
72
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
92
+ # check to see if the attribute exists and convert string to symbol for hash key
93
+ attributes = attributes.each_with_object({}) { |(k, v), h|
94
+ if (!self.class.attribute_map.key?(k.to_sym))
95
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AbridgedVideoView`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
96
+ end
97
+ h[k.to_sym] = v
98
+ }
73
99
 
74
- if attributes.has_key?(:'id')
100
+ if attributes.key?(:'id')
75
101
  self.id = attributes[:'id']
76
102
  end
77
103
 
78
- if attributes.has_key?(:'viewer_os_family')
104
+ if attributes.key?(:'viewer_os_family')
79
105
  self.viewer_os_family = attributes[:'viewer_os_family']
80
106
  end
81
107
 
82
- if attributes.has_key?(:'viewer_application_name')
108
+ if attributes.key?(:'viewer_application_name')
83
109
  self.viewer_application_name = attributes[:'viewer_application_name']
84
110
  end
85
111
 
86
- if attributes.has_key?(:'video_title')
112
+ if attributes.key?(:'video_title')
87
113
  self.video_title = attributes[:'video_title']
88
114
  end
89
115
 
90
- if attributes.has_key?(:'total_row_count')
116
+ if attributes.key?(:'total_row_count')
91
117
  self.total_row_count = attributes[:'total_row_count']
92
118
  end
93
119
 
94
- if attributes.has_key?(:'player_error_message')
120
+ if attributes.key?(:'player_error_message')
95
121
  self.player_error_message = attributes[:'player_error_message']
96
122
  end
97
123
 
98
- if attributes.has_key?(:'player_error_code')
124
+ if attributes.key?(:'player_error_code')
99
125
  self.player_error_code = attributes[:'player_error_code']
100
126
  end
101
127
 
102
- if attributes.has_key?(:'error_type_id')
128
+ if attributes.key?(:'error_type_id')
103
129
  self.error_type_id = attributes[:'error_type_id']
104
130
  end
105
131
 
106
- if attributes.has_key?(:'country_code')
132
+ if attributes.key?(:'country_code')
107
133
  self.country_code = attributes[:'country_code']
108
134
  end
109
135
 
110
- if attributes.has_key?(:'view_start')
136
+ if attributes.key?(:'view_start')
111
137
  self.view_start = attributes[:'view_start']
112
138
  end
113
139
 
114
- if attributes.has_key?(:'view_end')
140
+ if attributes.key?(:'view_end')
115
141
  self.view_end = attributes[:'view_end']
116
142
  end
117
143
  end
@@ -154,7 +180,7 @@ module MuxRuby
154
180
  end
155
181
 
156
182
  # Calculates hash code according to all attributes.
157
- # @return [Fixnum] Hash code
183
+ # @return [Integer] Hash code
158
184
  def hash
159
185
  [id, viewer_os_family, viewer_application_name, video_title, total_row_count, player_error_message, player_error_code, error_type_id, country_code, view_start, view_end].hash
160
186
  end
@@ -172,7 +198,9 @@ module MuxRuby
172
198
  def build_from_hash(attributes)
173
199
  return nil unless attributes.is_a?(Hash)
174
200
  self.class.openapi_types.each_pair do |key, type|
175
- if type =~ /\AArray<(.*)>/i
201
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
202
+ self.send("#{key}=", nil)
203
+ elsif type =~ /\AArray<(.*)>/i
176
204
  # check to ensure the input is an array given that the attribute
177
205
  # is documented as an array but the input is not
178
206
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -180,7 +208,7 @@ module MuxRuby
180
208
  end
181
209
  elsif !attributes[self.class.attribute_map[key]].nil?
182
210
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
183
- end # or else data not found in attributes(hash), not an issue as the data can be optional
211
+ end
184
212
  end
185
213
 
186
214
  self
@@ -192,8 +220,8 @@ module MuxRuby
192
220
  # @return [Object] Deserialized data
193
221
  def _deserialize(type, value)
194
222
  case type.to_sym
195
- when :DateTime
196
- DateTime.parse(value)
223
+ when :Time
224
+ Time.parse(value)
197
225
  when :Date
198
226
  Date.parse(value)
199
227
  when :String
@@ -202,7 +230,7 @@ module MuxRuby
202
230
  value.to_i
203
231
  when :Float
204
232
  value.to_f
205
- when :BOOLEAN
233
+ when :Boolean
206
234
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
207
235
  true
208
236
  else
@@ -223,7 +251,9 @@ module MuxRuby
223
251
  end
224
252
  end
225
253
  else # model
226
- MuxRuby.const_get(type).build_from_hash(value)
254
+ # models (e.g. Pet) or oneOf
255
+ klass = MuxRuby.const_get(type)
256
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
227
257
  end
228
258
  end
229
259
 
@@ -245,7 +275,11 @@ module MuxRuby
245
275
  hash = {}
246
276
  self.class.attribute_map.each_pair do |attr, param|
247
277
  value = self.send(attr)
248
- next if value.nil?
278
+ if value.nil?
279
+ is_nullable = self.class.openapi_nullable.include?(attr)
280
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
281
+ end
282
+
249
283
  hash[param] = _to_hash(value)
250
284
  end
251
285
  hash
@@ -1,40 +1,61 @@
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
18
+ # Unique identifier for the Asset. Max 255 characters.
10
19
  attr_accessor :id
11
20
 
21
+ # Time the Asset was created, defined as a Unix timestamp (seconds since epoch).
12
22
  attr_accessor :created_at
13
23
 
14
- attr_accessor :deleted_at
15
-
24
+ # The status of the asset.
16
25
  attr_accessor :status
17
26
 
27
+ # The duration of the asset in seconds (max duration for a single asset is 12 hours).
18
28
  attr_accessor :duration
19
29
 
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.
20
31
  attr_accessor :max_stored_resolution
21
32
 
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.
22
34
  attr_accessor :max_stored_frame_rate
23
35
 
36
+ # The aspect ratio of the asset in the form of `width:height`, for example `16:9`.
24
37
  attr_accessor :aspect_ratio
25
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.
26
40
  attr_accessor :playback_ids
27
41
 
42
+ # The individual media tracks that make up an asset.
28
43
  attr_accessor :tracks
29
44
 
30
45
  attr_accessor :errors
31
46
 
32
47
  attr_accessor :per_title_encode
33
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
+
52
+ # Whether the asset is created from a live stream and the live stream is currently `active` and not in `idle` state.
34
53
  attr_accessor :is_live
35
54
 
55
+ # Arbitrary metadata set for the asset. Max 255 characters.
36
56
  attr_accessor :passthrough
37
57
 
58
+ # Unique identifier for the live stream. This is an optional parameter added when the asset is created from a live stream.
38
59
  attr_accessor :live_stream_id
39
60
 
40
61
  attr_accessor :master
@@ -43,6 +64,10 @@ module MuxRuby
43
64
 
44
65
  attr_accessor :mp4_support
45
66
 
67
+ # Asset Identifier of the video used as the source for creating the clip.
68
+ attr_accessor :source_asset_id
69
+
70
+ # Normalize the audio track loudness level. This parameter is only applicable to on-demand (not live) assets.
46
71
  attr_accessor :normalize_audio
47
72
 
48
73
  attr_accessor :static_renditions
@@ -52,6 +77,7 @@ module MuxRuby
52
77
 
53
78
  attr_accessor :non_standard_input_reasons
54
79
 
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.
55
81
  attr_accessor :test
56
82
 
57
83
  class EnumAttributeValidator
@@ -81,7 +107,6 @@ module MuxRuby
81
107
  {
82
108
  :'id' => :'id',
83
109
  :'created_at' => :'created_at',
84
- :'deleted_at' => :'deleted_at',
85
110
  :'status' => :'status',
86
111
  :'duration' => :'duration',
87
112
  :'max_stored_resolution' => :'max_stored_resolution',
@@ -91,12 +116,14 @@ module MuxRuby
91
116
  :'tracks' => :'tracks',
92
117
  :'errors' => :'errors',
93
118
  :'per_title_encode' => :'per_title_encode',
119
+ :'upload_id' => :'upload_id',
94
120
  :'is_live' => :'is_live',
95
121
  :'passthrough' => :'passthrough',
96
122
  :'live_stream_id' => :'live_stream_id',
97
123
  :'master' => :'master',
98
124
  :'master_access' => :'master_access',
99
125
  :'mp4_support' => :'mp4_support',
126
+ :'source_asset_id' => :'source_asset_id',
100
127
  :'normalize_audio' => :'normalize_audio',
101
128
  :'static_renditions' => :'static_renditions',
102
129
  :'recording_times' => :'recording_times',
@@ -105,12 +132,16 @@ module MuxRuby
105
132
  }
106
133
  end
107
134
 
135
+ # Returns all the JSON keys this model knows about
136
+ def self.acceptable_attributes
137
+ attribute_map.values
138
+ end
139
+
108
140
  # Attribute type mapping.
109
141
  def self.openapi_types
110
142
  {
111
143
  :'id' => :'String',
112
144
  :'created_at' => :'String',
113
- :'deleted_at' => :'String',
114
145
  :'status' => :'String',
115
146
  :'duration' => :'Float',
116
147
  :'max_stored_resolution' => :'String',
@@ -119,130 +150,149 @@ module MuxRuby
119
150
  :'playback_ids' => :'Array<PlaybackID>',
120
151
  :'tracks' => :'Array<Track>',
121
152
  :'errors' => :'AssetErrors',
122
- :'per_title_encode' => :'BOOLEAN',
123
- :'is_live' => :'BOOLEAN',
153
+ :'per_title_encode' => :'Boolean',
154
+ :'upload_id' => :'String',
155
+ :'is_live' => :'Boolean',
124
156
  :'passthrough' => :'String',
125
157
  :'live_stream_id' => :'String',
126
158
  :'master' => :'AssetMaster',
127
159
  :'master_access' => :'String',
128
160
  :'mp4_support' => :'String',
129
- :'normalize_audio' => :'BOOLEAN',
161
+ :'source_asset_id' => :'String',
162
+ :'normalize_audio' => :'Boolean',
130
163
  :'static_renditions' => :'AssetStaticRenditions',
131
164
  :'recording_times' => :'Array<AssetRecordingTimes>',
132
165
  :'non_standard_input_reasons' => :'AssetNonStandardInputReasons',
133
- :'test' => :'BOOLEAN'
166
+ :'test' => :'Boolean'
134
167
  }
135
168
  end
136
169
 
170
+ # List of attributes with nullable: true
171
+ def self.openapi_nullable
172
+ Set.new([
173
+ ])
174
+ end
175
+
137
176
  # Initializes the object
138
177
  # @param [Hash] attributes Model attributes in the form of hash
139
178
  def initialize(attributes = {})
140
- 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
141
182
 
142
- # convert string to symbol for hash key
143
- 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
+ }
144
190
 
145
- if attributes.has_key?(:'id')
191
+ if attributes.key?(:'id')
146
192
  self.id = attributes[:'id']
147
193
  end
148
194
 
149
- if attributes.has_key?(:'created_at')
195
+ if attributes.key?(:'created_at')
150
196
  self.created_at = attributes[:'created_at']
151
197
  end
152
198
 
153
- if attributes.has_key?(:'deleted_at')
154
- self.deleted_at = attributes[:'deleted_at']
155
- end
156
-
157
- if attributes.has_key?(:'status')
199
+ if attributes.key?(:'status')
158
200
  self.status = attributes[:'status']
159
201
  end
160
202
 
161
- if attributes.has_key?(:'duration')
203
+ if attributes.key?(:'duration')
162
204
  self.duration = attributes[:'duration']
163
205
  end
164
206
 
165
- if attributes.has_key?(:'max_stored_resolution')
207
+ if attributes.key?(:'max_stored_resolution')
166
208
  self.max_stored_resolution = attributes[:'max_stored_resolution']
167
209
  end
168
210
 
169
- if attributes.has_key?(:'max_stored_frame_rate')
211
+ if attributes.key?(:'max_stored_frame_rate')
170
212
  self.max_stored_frame_rate = attributes[:'max_stored_frame_rate']
171
213
  end
172
214
 
173
- if attributes.has_key?(:'aspect_ratio')
215
+ if attributes.key?(:'aspect_ratio')
174
216
  self.aspect_ratio = attributes[:'aspect_ratio']
175
217
  end
176
218
 
177
- if attributes.has_key?(:'playback_ids')
219
+ if attributes.key?(:'playback_ids')
178
220
  if (value = attributes[:'playback_ids']).is_a?(Array)
179
221
  self.playback_ids = value
180
222
  end
181
223
  end
182
224
 
183
- if attributes.has_key?(:'tracks')
225
+ if attributes.key?(:'tracks')
184
226
  if (value = attributes[:'tracks']).is_a?(Array)
185
227
  self.tracks = value
186
228
  end
187
229
  end
188
230
 
189
- if attributes.has_key?(:'errors')
231
+ if attributes.key?(:'errors')
190
232
  self.errors = attributes[:'errors']
191
233
  end
192
234
 
193
- if attributes.has_key?(:'per_title_encode')
235
+ if attributes.key?(:'per_title_encode')
194
236
  self.per_title_encode = attributes[:'per_title_encode']
195
237
  end
196
238
 
197
- 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')
198
244
  self.is_live = attributes[:'is_live']
199
245
  end
200
246
 
201
- if attributes.has_key?(:'passthrough')
247
+ if attributes.key?(:'passthrough')
202
248
  self.passthrough = attributes[:'passthrough']
203
249
  end
204
250
 
205
- if attributes.has_key?(:'live_stream_id')
251
+ if attributes.key?(:'live_stream_id')
206
252
  self.live_stream_id = attributes[:'live_stream_id']
207
253
  end
208
254
 
209
- if attributes.has_key?(:'master')
255
+ if attributes.key?(:'master')
210
256
  self.master = attributes[:'master']
211
257
  end
212
258
 
213
- if attributes.has_key?(:'master_access')
259
+ if attributes.key?(:'master_access')
214
260
  self.master_access = attributes[:'master_access']
215
261
  else
216
262
  self.master_access = 'none'
217
263
  end
218
264
 
219
- if attributes.has_key?(:'mp4_support')
265
+ if attributes.key?(:'mp4_support')
220
266
  self.mp4_support = attributes[:'mp4_support']
221
267
  else
222
268
  self.mp4_support = 'none'
223
269
  end
224
270
 
225
- if attributes.has_key?(:'normalize_audio')
271
+ if attributes.key?(:'source_asset_id')
272
+ self.source_asset_id = attributes[:'source_asset_id']
273
+ end
274
+
275
+ if attributes.key?(:'normalize_audio')
226
276
  self.normalize_audio = attributes[:'normalize_audio']
227
277
  else
228
278
  self.normalize_audio = false
229
279
  end
230
280
 
231
- if attributes.has_key?(:'static_renditions')
281
+ if attributes.key?(:'static_renditions')
232
282
  self.static_renditions = attributes[:'static_renditions']
233
283
  end
234
284
 
235
- if attributes.has_key?(:'recording_times')
285
+ if attributes.key?(:'recording_times')
236
286
  if (value = attributes[:'recording_times']).is_a?(Array)
237
287
  self.recording_times = value
238
288
  end
239
289
  end
240
290
 
241
- if attributes.has_key?(:'non_standard_input_reasons')
291
+ if attributes.key?(:'non_standard_input_reasons')
242
292
  self.non_standard_input_reasons = attributes[:'non_standard_input_reasons']
243
293
  end
244
294
 
245
- if attributes.has_key?(:'test')
295
+ if attributes.key?(:'test')
246
296
  self.test = attributes[:'test']
247
297
  end
248
298
  end
@@ -257,21 +307,33 @@ module MuxRuby
257
307
  # Check to see if the all the properties in the model are valid
258
308
  # @return true if the model is valid
259
309
  def valid?
260
- max_stored_resolution_validator = EnumAttributeValidator.new('String', ['Audio only', 'SD', 'HD', 'FHD', 'UHD'])
310
+ status_validator = EnumAttributeValidator.new('String', ["preparing", "ready", "errored"])
311
+ return false unless status_validator.valid?(@status)
312
+ max_stored_resolution_validator = EnumAttributeValidator.new('String', ["Audio only", "SD", "HD", "FHD", "UHD"])
261
313
  return false unless max_stored_resolution_validator.valid?(@max_stored_resolution)
262
- master_access_validator = EnumAttributeValidator.new('String', ['temporary', 'none'])
314
+ master_access_validator = EnumAttributeValidator.new('String', ["temporary", "none"])
263
315
  return false unless master_access_validator.valid?(@master_access)
264
- mp4_support_validator = EnumAttributeValidator.new('String', ['standard', 'none'])
316
+ mp4_support_validator = EnumAttributeValidator.new('String', ["standard", "none"])
265
317
  return false unless mp4_support_validator.valid?(@mp4_support)
266
318
  true
267
319
  end
268
320
 
321
+ # Custom attribute writer method checking allowed values (enum).
322
+ # @param [Object] status Object to be assigned
323
+ def status=(status)
324
+ validator = EnumAttributeValidator.new('String', ["preparing", "ready", "errored"])
325
+ unless validator.valid?(status)
326
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
327
+ end
328
+ @status = status
329
+ end
330
+
269
331
  # Custom attribute writer method checking allowed values (enum).
270
332
  # @param [Object] max_stored_resolution Object to be assigned
271
333
  def max_stored_resolution=(max_stored_resolution)
272
- validator = EnumAttributeValidator.new('String', ['Audio only', 'SD', 'HD', 'FHD', 'UHD'])
334
+ validator = EnumAttributeValidator.new('String', ["Audio only", "SD", "HD", "FHD", "UHD"])
273
335
  unless validator.valid?(max_stored_resolution)
274
- fail ArgumentError, 'invalid value for "max_stored_resolution", must be one of #{validator.allowable_values}.'
336
+ fail ArgumentError, "invalid value for \"max_stored_resolution\", must be one of #{validator.allowable_values}."
275
337
  end
276
338
  @max_stored_resolution = max_stored_resolution
277
339
  end
@@ -279,9 +341,9 @@ module MuxRuby
279
341
  # Custom attribute writer method checking allowed values (enum).
280
342
  # @param [Object] master_access Object to be assigned
281
343
  def master_access=(master_access)
282
- validator = EnumAttributeValidator.new('String', ['temporary', 'none'])
344
+ validator = EnumAttributeValidator.new('String', ["temporary", "none"])
283
345
  unless validator.valid?(master_access)
284
- fail ArgumentError, 'invalid value for "master_access", must be one of #{validator.allowable_values}.'
346
+ fail ArgumentError, "invalid value for \"master_access\", must be one of #{validator.allowable_values}."
285
347
  end
286
348
  @master_access = master_access
287
349
  end
@@ -289,9 +351,9 @@ module MuxRuby
289
351
  # Custom attribute writer method checking allowed values (enum).
290
352
  # @param [Object] mp4_support Object to be assigned
291
353
  def mp4_support=(mp4_support)
292
- validator = EnumAttributeValidator.new('String', ['standard', 'none'])
354
+ validator = EnumAttributeValidator.new('String', ["standard", "none"])
293
355
  unless validator.valid?(mp4_support)
294
- fail ArgumentError, 'invalid value for "mp4_support", must be one of #{validator.allowable_values}.'
356
+ fail ArgumentError, "invalid value for \"mp4_support\", must be one of #{validator.allowable_values}."
295
357
  end
296
358
  @mp4_support = mp4_support
297
359
  end
@@ -303,7 +365,6 @@ module MuxRuby
303
365
  self.class == o.class &&
304
366
  id == o.id &&
305
367
  created_at == o.created_at &&
306
- deleted_at == o.deleted_at &&
307
368
  status == o.status &&
308
369
  duration == o.duration &&
309
370
  max_stored_resolution == o.max_stored_resolution &&
@@ -313,12 +374,14 @@ module MuxRuby
313
374
  tracks == o.tracks &&
314
375
  errors == o.errors &&
315
376
  per_title_encode == o.per_title_encode &&
377
+ upload_id == o.upload_id &&
316
378
  is_live == o.is_live &&
317
379
  passthrough == o.passthrough &&
318
380
  live_stream_id == o.live_stream_id &&
319
381
  master == o.master &&
320
382
  master_access == o.master_access &&
321
383
  mp4_support == o.mp4_support &&
384
+ source_asset_id == o.source_asset_id &&
322
385
  normalize_audio == o.normalize_audio &&
323
386
  static_renditions == o.static_renditions &&
324
387
  recording_times == o.recording_times &&
@@ -333,9 +396,9 @@ module MuxRuby
333
396
  end
334
397
 
335
398
  # Calculates hash code according to all attributes.
336
- # @return [Fixnum] Hash code
399
+ # @return [Integer] Hash code
337
400
  def hash
338
- [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, 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
339
402
  end
340
403
 
341
404
  # Builds the object from hash
@@ -351,7 +414,9 @@ module MuxRuby
351
414
  def build_from_hash(attributes)
352
415
  return nil unless attributes.is_a?(Hash)
353
416
  self.class.openapi_types.each_pair do |key, type|
354
- 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
355
420
  # check to ensure the input is an array given that the attribute
356
421
  # is documented as an array but the input is not
357
422
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -359,7 +424,7 @@ module MuxRuby
359
424
  end
360
425
  elsif !attributes[self.class.attribute_map[key]].nil?
361
426
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
362
- end # or else data not found in attributes(hash), not an issue as the data can be optional
427
+ end
363
428
  end
364
429
 
365
430
  self
@@ -371,8 +436,8 @@ module MuxRuby
371
436
  # @return [Object] Deserialized data
372
437
  def _deserialize(type, value)
373
438
  case type.to_sym
374
- when :DateTime
375
- DateTime.parse(value)
439
+ when :Time
440
+ Time.parse(value)
376
441
  when :Date
377
442
  Date.parse(value)
378
443
  when :String
@@ -381,7 +446,7 @@ module MuxRuby
381
446
  value.to_i
382
447
  when :Float
383
448
  value.to_f
384
- when :BOOLEAN
449
+ when :Boolean
385
450
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
386
451
  true
387
452
  else
@@ -402,7 +467,9 @@ module MuxRuby
402
467
  end
403
468
  end
404
469
  else # model
405
- 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)
406
473
  end
407
474
  end
408
475
 
@@ -424,7 +491,11 @@ module MuxRuby
424
491
  hash = {}
425
492
  self.class.attribute_map.each_pair do |attr, param|
426
493
  value = self.send(attr)
427
- 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
+
428
499
  hash[param] = _to_hash(value)
429
500
  end
430
501
  hash