mux_ruby 1.9.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,15 +1,24 @@
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
  # An object containing the current status of Master Access and the link to the Master MP4 file when ready. This object does not exist if `master_acess` is set to `none` and when the temporary URL expires.
10
18
  class AssetMaster
11
19
  attr_accessor :status
12
20
 
21
+ # The temporary URL to the master version of the video, as an MP4 file. This URL will expire after 24 hours.
13
22
  attr_accessor :url
14
23
 
15
24
  class EnumAttributeValidator
@@ -42,6 +51,11 @@ module MuxRuby
42
51
  }
43
52
  end
44
53
 
54
+ # Returns all the JSON keys this model knows about
55
+ def self.acceptable_attributes
56
+ attribute_map.values
57
+ end
58
+
45
59
  # Attribute type mapping.
46
60
  def self.openapi_types
47
61
  {
@@ -50,19 +64,32 @@ module MuxRuby
50
64
  }
51
65
  end
52
66
 
67
+ # List of attributes with nullable: true
68
+ def self.openapi_nullable
69
+ Set.new([
70
+ ])
71
+ end
72
+
53
73
  # Initializes the object
54
74
  # @param [Hash] attributes Model attributes in the form of hash
55
75
  def initialize(attributes = {})
56
- return unless attributes.is_a?(Hash)
76
+ if (!attributes.is_a?(Hash))
77
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AssetMaster` initialize method"
78
+ end
57
79
 
58
- # convert string to symbol for hash key
59
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
80
+ # check to see if the attribute exists and convert string to symbol for hash key
81
+ attributes = attributes.each_with_object({}) { |(k, v), h|
82
+ if (!self.class.attribute_map.key?(k.to_sym))
83
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AssetMaster`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
84
+ end
85
+ h[k.to_sym] = v
86
+ }
60
87
 
61
- if attributes.has_key?(:'status')
88
+ if attributes.key?(:'status')
62
89
  self.status = attributes[:'status']
63
90
  end
64
91
 
65
- if attributes.has_key?(:'url')
92
+ if attributes.key?(:'url')
66
93
  self.url = attributes[:'url']
67
94
  end
68
95
  end
@@ -77,7 +104,7 @@ module MuxRuby
77
104
  # Check to see if the all the properties in the model are valid
78
105
  # @return true if the model is valid
79
106
  def valid?
80
- status_validator = EnumAttributeValidator.new('String', ['ready', 'preparing', 'errored'])
107
+ status_validator = EnumAttributeValidator.new('String', ["ready", "preparing", "errored"])
81
108
  return false unless status_validator.valid?(@status)
82
109
  true
83
110
  end
@@ -85,7 +112,7 @@ module MuxRuby
85
112
  # Custom attribute writer method checking allowed values (enum).
86
113
  # @param [Object] status Object to be assigned
87
114
  def status=(status)
88
- validator = EnumAttributeValidator.new('String', ['ready', 'preparing', 'errored'])
115
+ validator = EnumAttributeValidator.new('String', ["ready", "preparing", "errored"])
89
116
  unless validator.valid?(status)
90
117
  fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
91
118
  end
@@ -108,7 +135,7 @@ module MuxRuby
108
135
  end
109
136
 
110
137
  # Calculates hash code according to all attributes.
111
- # @return [Fixnum] Hash code
138
+ # @return [Integer] Hash code
112
139
  def hash
113
140
  [status, url].hash
114
141
  end
@@ -126,7 +153,9 @@ module MuxRuby
126
153
  def build_from_hash(attributes)
127
154
  return nil unless attributes.is_a?(Hash)
128
155
  self.class.openapi_types.each_pair do |key, type|
129
- if type =~ /\AArray<(.*)>/i
156
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
157
+ self.send("#{key}=", nil)
158
+ elsif type =~ /\AArray<(.*)>/i
130
159
  # check to ensure the input is an array given that the attribute
131
160
  # is documented as an array but the input is not
132
161
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -134,7 +163,7 @@ module MuxRuby
134
163
  end
135
164
  elsif !attributes[self.class.attribute_map[key]].nil?
136
165
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
137
- end # or else data not found in attributes(hash), not an issue as the data can be optional
166
+ end
138
167
  end
139
168
 
140
169
  self
@@ -146,8 +175,8 @@ module MuxRuby
146
175
  # @return [Object] Deserialized data
147
176
  def _deserialize(type, value)
148
177
  case type.to_sym
149
- when :DateTime
150
- DateTime.parse(value)
178
+ when :Time
179
+ Time.parse(value)
151
180
  when :Date
152
181
  Date.parse(value)
153
182
  when :String
@@ -156,7 +185,7 @@ module MuxRuby
156
185
  value.to_i
157
186
  when :Float
158
187
  value.to_f
159
- when :BOOLEAN
188
+ when :Boolean
160
189
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
161
190
  true
162
191
  else
@@ -177,7 +206,9 @@ module MuxRuby
177
206
  end
178
207
  end
179
208
  else # model
180
- MuxRuby.const_get(type).build_from_hash(value)
209
+ # models (e.g. Pet) or oneOf
210
+ klass = MuxRuby.const_get(type)
211
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
181
212
  end
182
213
  end
183
214
 
@@ -199,7 +230,11 @@ module MuxRuby
199
230
  hash = {}
200
231
  self.class.attribute_map.each_pair do |attr, param|
201
232
  value = self.send(attr)
202
- next if value.nil?
233
+ if value.nil?
234
+ is_nullable = self.class.openapi_nullable.include?(attr)
235
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
236
+ end
237
+
203
238
  hash[param] = _to_hash(value)
204
239
  end
205
240
  hash
@@ -1,25 +1,34 @@
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
+ # An object containing one or more reasons the input file is non-standard. See [the guide on minimizing processing time](https://docs.mux.com/guides/video/minimize-processing-time) for more information on what a standard input is defined as. This object only exists on on-demand assets that have non-standard inputs, so if missing you can assume the input qualifies as standard.
9
18
  class AssetNonStandardInputReasons
10
- # The video codec used on the input file.
19
+ # The video codec used on the input file. For example, the input file encoded with `hevc` video codec is non-standard and the value of this parameter is `hevc`.
11
20
  attr_accessor :video_codec
12
21
 
13
- # The audio codec used on the input file.
22
+ # The audio codec used on the input file. Non-AAC audio codecs are non-standard.
14
23
  attr_accessor :audio_codec
15
24
 
16
- # The video key frame Interval (also called as Group of Picture or GOP) of the input file.
25
+ # The video key frame Interval (also called as Group of Picture or GOP) of the input file is `high`. This parameter is present when the gop is greater than 10 seconds.
17
26
  attr_accessor :video_gop_size
18
27
 
19
- # The video frame rate of the input file.
28
+ # The video frame rate of the input file. Video with average frames per second (fps) less than 10 or greater than 120 is non-standard. A `-1` frame rate value indicates Mux could not determine the frame rate of the video track.
20
29
  attr_accessor :video_frame_rate
21
30
 
22
- # The video resolution of the input file.
31
+ # The video resolution of the input file. Video resolution higher than 2048 pixels on any one dimension (height or width) is considered non-standard, The resolution value is presented as `width` x `height` in pixels.
23
32
  attr_accessor :video_resolution
24
33
 
25
34
  # The video pixel aspect ratio of the input file.
@@ -71,6 +80,11 @@ module MuxRuby
71
80
  }
72
81
  end
73
82
 
83
+ # Returns all the JSON keys this model knows about
84
+ def self.acceptable_attributes
85
+ attribute_map.values
86
+ end
87
+
74
88
  # Attribute type mapping.
75
89
  def self.openapi_types
76
90
  {
@@ -86,47 +100,60 @@ module MuxRuby
86
100
  }
87
101
  end
88
102
 
103
+ # List of attributes with nullable: true
104
+ def self.openapi_nullable
105
+ Set.new([
106
+ ])
107
+ end
108
+
89
109
  # Initializes the object
90
110
  # @param [Hash] attributes Model attributes in the form of hash
91
111
  def initialize(attributes = {})
92
- return unless attributes.is_a?(Hash)
112
+ if (!attributes.is_a?(Hash))
113
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AssetNonStandardInputReasons` initialize method"
114
+ end
93
115
 
94
- # convert string to symbol for hash key
95
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
116
+ # check to see if the attribute exists and convert string to symbol for hash key
117
+ attributes = attributes.each_with_object({}) { |(k, v), h|
118
+ if (!self.class.attribute_map.key?(k.to_sym))
119
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AssetNonStandardInputReasons`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
120
+ end
121
+ h[k.to_sym] = v
122
+ }
96
123
 
97
- if attributes.has_key?(:'video_codec')
124
+ if attributes.key?(:'video_codec')
98
125
  self.video_codec = attributes[:'video_codec']
99
126
  end
100
127
 
101
- if attributes.has_key?(:'audio_codec')
128
+ if attributes.key?(:'audio_codec')
102
129
  self.audio_codec = attributes[:'audio_codec']
103
130
  end
104
131
 
105
- if attributes.has_key?(:'video_gop_size')
132
+ if attributes.key?(:'video_gop_size')
106
133
  self.video_gop_size = attributes[:'video_gop_size']
107
134
  end
108
135
 
109
- if attributes.has_key?(:'video_frame_rate')
136
+ if attributes.key?(:'video_frame_rate')
110
137
  self.video_frame_rate = attributes[:'video_frame_rate']
111
138
  end
112
139
 
113
- if attributes.has_key?(:'video_resolution')
140
+ if attributes.key?(:'video_resolution')
114
141
  self.video_resolution = attributes[:'video_resolution']
115
142
  end
116
143
 
117
- if attributes.has_key?(:'pixel_aspect_ratio')
144
+ if attributes.key?(:'pixel_aspect_ratio')
118
145
  self.pixel_aspect_ratio = attributes[:'pixel_aspect_ratio']
119
146
  end
120
147
 
121
- if attributes.has_key?(:'video_edit_list')
148
+ if attributes.key?(:'video_edit_list')
122
149
  self.video_edit_list = attributes[:'video_edit_list']
123
150
  end
124
151
 
125
- if attributes.has_key?(:'audio_edit_list')
152
+ if attributes.key?(:'audio_edit_list')
126
153
  self.audio_edit_list = attributes[:'audio_edit_list']
127
154
  end
128
155
 
129
- if attributes.has_key?(:'unexpected_media_file_parameters')
156
+ if attributes.key?(:'unexpected_media_file_parameters')
130
157
  self.unexpected_media_file_parameters = attributes[:'unexpected_media_file_parameters']
131
158
  end
132
159
  end
@@ -141,13 +168,13 @@ module MuxRuby
141
168
  # Check to see if the all the properties in the model are valid
142
169
  # @return true if the model is valid
143
170
  def valid?
144
- video_gop_size_validator = EnumAttributeValidator.new('String', ['high'])
171
+ video_gop_size_validator = EnumAttributeValidator.new('String', ["high"])
145
172
  return false unless video_gop_size_validator.valid?(@video_gop_size)
146
- video_edit_list_validator = EnumAttributeValidator.new('String', ['non-standard'])
173
+ video_edit_list_validator = EnumAttributeValidator.new('String', ["non-standard"])
147
174
  return false unless video_edit_list_validator.valid?(@video_edit_list)
148
- audio_edit_list_validator = EnumAttributeValidator.new('String', ['non-standard'])
175
+ audio_edit_list_validator = EnumAttributeValidator.new('String', ["non-standard"])
149
176
  return false unless audio_edit_list_validator.valid?(@audio_edit_list)
150
- unexpected_media_file_parameters_validator = EnumAttributeValidator.new('String', ['non-standard'])
177
+ unexpected_media_file_parameters_validator = EnumAttributeValidator.new('String', ["non-standard"])
151
178
  return false unless unexpected_media_file_parameters_validator.valid?(@unexpected_media_file_parameters)
152
179
  true
153
180
  end
@@ -155,7 +182,7 @@ module MuxRuby
155
182
  # Custom attribute writer method checking allowed values (enum).
156
183
  # @param [Object] video_gop_size Object to be assigned
157
184
  def video_gop_size=(video_gop_size)
158
- validator = EnumAttributeValidator.new('String', ['high'])
185
+ validator = EnumAttributeValidator.new('String', ["high"])
159
186
  unless validator.valid?(video_gop_size)
160
187
  fail ArgumentError, "invalid value for \"video_gop_size\", must be one of #{validator.allowable_values}."
161
188
  end
@@ -165,7 +192,7 @@ module MuxRuby
165
192
  # Custom attribute writer method checking allowed values (enum).
166
193
  # @param [Object] video_edit_list Object to be assigned
167
194
  def video_edit_list=(video_edit_list)
168
- validator = EnumAttributeValidator.new('String', ['non-standard'])
195
+ validator = EnumAttributeValidator.new('String', ["non-standard"])
169
196
  unless validator.valid?(video_edit_list)
170
197
  fail ArgumentError, "invalid value for \"video_edit_list\", must be one of #{validator.allowable_values}."
171
198
  end
@@ -175,7 +202,7 @@ module MuxRuby
175
202
  # Custom attribute writer method checking allowed values (enum).
176
203
  # @param [Object] audio_edit_list Object to be assigned
177
204
  def audio_edit_list=(audio_edit_list)
178
- validator = EnumAttributeValidator.new('String', ['non-standard'])
205
+ validator = EnumAttributeValidator.new('String', ["non-standard"])
179
206
  unless validator.valid?(audio_edit_list)
180
207
  fail ArgumentError, "invalid value for \"audio_edit_list\", must be one of #{validator.allowable_values}."
181
208
  end
@@ -185,7 +212,7 @@ module MuxRuby
185
212
  # Custom attribute writer method checking allowed values (enum).
186
213
  # @param [Object] unexpected_media_file_parameters Object to be assigned
187
214
  def unexpected_media_file_parameters=(unexpected_media_file_parameters)
188
- validator = EnumAttributeValidator.new('String', ['non-standard'])
215
+ validator = EnumAttributeValidator.new('String', ["non-standard"])
189
216
  unless validator.valid?(unexpected_media_file_parameters)
190
217
  fail ArgumentError, "invalid value for \"unexpected_media_file_parameters\", must be one of #{validator.allowable_values}."
191
218
  end
@@ -215,7 +242,7 @@ module MuxRuby
215
242
  end
216
243
 
217
244
  # Calculates hash code according to all attributes.
218
- # @return [Fixnum] Hash code
245
+ # @return [Integer] Hash code
219
246
  def hash
220
247
  [video_codec, audio_codec, video_gop_size, video_frame_rate, video_resolution, pixel_aspect_ratio, video_edit_list, audio_edit_list, unexpected_media_file_parameters].hash
221
248
  end
@@ -233,7 +260,9 @@ module MuxRuby
233
260
  def build_from_hash(attributes)
234
261
  return nil unless attributes.is_a?(Hash)
235
262
  self.class.openapi_types.each_pair do |key, type|
236
- if type =~ /\AArray<(.*)>/i
263
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
264
+ self.send("#{key}=", nil)
265
+ elsif type =~ /\AArray<(.*)>/i
237
266
  # check to ensure the input is an array given that the attribute
238
267
  # is documented as an array but the input is not
239
268
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -241,7 +270,7 @@ module MuxRuby
241
270
  end
242
271
  elsif !attributes[self.class.attribute_map[key]].nil?
243
272
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
244
- end # or else data not found in attributes(hash), not an issue as the data can be optional
273
+ end
245
274
  end
246
275
 
247
276
  self
@@ -253,8 +282,8 @@ module MuxRuby
253
282
  # @return [Object] Deserialized data
254
283
  def _deserialize(type, value)
255
284
  case type.to_sym
256
- when :DateTime
257
- DateTime.parse(value)
285
+ when :Time
286
+ Time.parse(value)
258
287
  when :Date
259
288
  Date.parse(value)
260
289
  when :String
@@ -263,7 +292,7 @@ module MuxRuby
263
292
  value.to_i
264
293
  when :Float
265
294
  value.to_f
266
- when :BOOLEAN
295
+ when :Boolean
267
296
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
268
297
  true
269
298
  else
@@ -284,7 +313,9 @@ module MuxRuby
284
313
  end
285
314
  end
286
315
  else # model
287
- MuxRuby.const_get(type).build_from_hash(value)
316
+ # models (e.g. Pet) or oneOf
317
+ klass = MuxRuby.const_get(type)
318
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
288
319
  end
289
320
  end
290
321
 
@@ -306,7 +337,11 @@ module MuxRuby
306
337
  hash = {}
307
338
  self.class.attribute_map.each_pair do |attr, param|
308
339
  value = self.send(attr)
309
- next if value.nil?
340
+ if value.nil?
341
+ is_nullable = self.class.openapi_nullable.include?(attr)
342
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
343
+ end
344
+
310
345
  hash[param] = _to_hash(value)
311
346
  end
312
347
  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 AssetRecordingTimes
@@ -21,27 +29,45 @@ module MuxRuby
21
29
  }
22
30
  end
23
31
 
32
+ # Returns all the JSON keys this model knows about
33
+ def self.acceptable_attributes
34
+ attribute_map.values
35
+ end
36
+
24
37
  # Attribute type mapping.
25
38
  def self.openapi_types
26
39
  {
27
- :'started_at' => :'DateTime',
40
+ :'started_at' => :'Time',
28
41
  :'duration' => :'Float'
29
42
  }
30
43
  end
31
44
 
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
32
51
  # Initializes the object
33
52
  # @param [Hash] attributes Model attributes in the form of hash
34
53
  def initialize(attributes = {})
35
- return unless attributes.is_a?(Hash)
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AssetRecordingTimes` initialize method"
56
+ end
36
57
 
37
- # convert string to symbol for hash key
38
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!self.class.attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AssetRecordingTimes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
39
65
 
40
- if attributes.has_key?(:'started_at')
66
+ if attributes.key?(:'started_at')
41
67
  self.started_at = attributes[:'started_at']
42
68
  end
43
69
 
44
- if attributes.has_key?(:'duration')
70
+ if attributes.key?(:'duration')
45
71
  self.duration = attributes[:'duration']
46
72
  end
47
73
  end
@@ -75,7 +101,7 @@ module MuxRuby
75
101
  end
76
102
 
77
103
  # Calculates hash code according to all attributes.
78
- # @return [Fixnum] Hash code
104
+ # @return [Integer] Hash code
79
105
  def hash
80
106
  [started_at, duration].hash
81
107
  end
@@ -93,7 +119,9 @@ module MuxRuby
93
119
  def build_from_hash(attributes)
94
120
  return nil unless attributes.is_a?(Hash)
95
121
  self.class.openapi_types.each_pair do |key, type|
96
- if type =~ /\AArray<(.*)>/i
122
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
123
+ self.send("#{key}=", nil)
124
+ elsif type =~ /\AArray<(.*)>/i
97
125
  # check to ensure the input is an array given that the attribute
98
126
  # is documented as an array but the input is not
99
127
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -101,7 +129,7 @@ module MuxRuby
101
129
  end
102
130
  elsif !attributes[self.class.attribute_map[key]].nil?
103
131
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
104
- end # or else data not found in attributes(hash), not an issue as the data can be optional
132
+ end
105
133
  end
106
134
 
107
135
  self
@@ -113,8 +141,8 @@ module MuxRuby
113
141
  # @return [Object] Deserialized data
114
142
  def _deserialize(type, value)
115
143
  case type.to_sym
116
- when :DateTime
117
- DateTime.parse(value)
144
+ when :Time
145
+ Time.parse(value)
118
146
  when :Date
119
147
  Date.parse(value)
120
148
  when :String
@@ -123,7 +151,7 @@ module MuxRuby
123
151
  value.to_i
124
152
  when :Float
125
153
  value.to_f
126
- when :BOOLEAN
154
+ when :Boolean
127
155
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
128
156
  true
129
157
  else
@@ -144,7 +172,9 @@ module MuxRuby
144
172
  end
145
173
  end
146
174
  else # model
147
- MuxRuby.const_get(type).build_from_hash(value)
175
+ # models (e.g. Pet) or oneOf
176
+ klass = MuxRuby.const_get(type)
177
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
148
178
  end
149
179
  end
150
180
 
@@ -166,7 +196,11 @@ module MuxRuby
166
196
  hash = {}
167
197
  self.class.attribute_map.each_pair do |attr, param|
168
198
  value = self.send(attr)
169
- next if value.nil?
199
+ if value.nil?
200
+ is_nullable = self.class.openapi_nullable.include?(attr)
201
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
202
+ end
203
+
170
204
  hash[param] = _to_hash(value)
171
205
  end
172
206
  hash