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 AssetStaticRenditionsFiles
@@ -21,6 +29,7 @@ module MuxRuby
21
29
  # The bitrate in bits per second
22
30
  attr_accessor :bitrate
23
31
 
32
+ # The file size in bytes
24
33
  attr_accessor :filesize
25
34
 
26
35
  class EnumAttributeValidator
@@ -57,6 +66,11 @@ module MuxRuby
57
66
  }
58
67
  end
59
68
 
69
+ # Returns all the JSON keys this model knows about
70
+ def self.acceptable_attributes
71
+ attribute_map.values
72
+ end
73
+
60
74
  # Attribute type mapping.
61
75
  def self.openapi_types
62
76
  {
@@ -69,35 +83,48 @@ module MuxRuby
69
83
  }
70
84
  end
71
85
 
86
+ # List of attributes with nullable: true
87
+ def self.openapi_nullable
88
+ Set.new([
89
+ ])
90
+ end
91
+
72
92
  # Initializes the object
73
93
  # @param [Hash] attributes Model attributes in the form of hash
74
94
  def initialize(attributes = {})
75
- return unless attributes.is_a?(Hash)
95
+ if (!attributes.is_a?(Hash))
96
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AssetStaticRenditionsFiles` initialize method"
97
+ end
76
98
 
77
- # convert string to symbol for hash key
78
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
99
+ # check to see if the attribute exists and convert string to symbol for hash key
100
+ attributes = attributes.each_with_object({}) { |(k, v), h|
101
+ if (!self.class.attribute_map.key?(k.to_sym))
102
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AssetStaticRenditionsFiles`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
103
+ end
104
+ h[k.to_sym] = v
105
+ }
79
106
 
80
- if attributes.has_key?(:'name')
107
+ if attributes.key?(:'name')
81
108
  self.name = attributes[:'name']
82
109
  end
83
110
 
84
- if attributes.has_key?(:'ext')
111
+ if attributes.key?(:'ext')
85
112
  self.ext = attributes[:'ext']
86
113
  end
87
114
 
88
- if attributes.has_key?(:'height')
115
+ if attributes.key?(:'height')
89
116
  self.height = attributes[:'height']
90
117
  end
91
118
 
92
- if attributes.has_key?(:'width')
119
+ if attributes.key?(:'width')
93
120
  self.width = attributes[:'width']
94
121
  end
95
122
 
96
- if attributes.has_key?(:'bitrate')
123
+ if attributes.key?(:'bitrate')
97
124
  self.bitrate = attributes[:'bitrate']
98
125
  end
99
126
 
100
- if attributes.has_key?(:'filesize')
127
+ if attributes.key?(:'filesize')
101
128
  self.filesize = attributes[:'filesize']
102
129
  end
103
130
  end
@@ -112,9 +139,9 @@ module MuxRuby
112
139
  # Check to see if the all the properties in the model are valid
113
140
  # @return true if the model is valid
114
141
  def valid?
115
- name_validator = EnumAttributeValidator.new('String', ['low.mp4', 'medium.mp4', 'high.mp4', 'audio.m4a'])
142
+ name_validator = EnumAttributeValidator.new('String', ["low.mp4", "medium.mp4", "high.mp4", "audio.m4a"])
116
143
  return false unless name_validator.valid?(@name)
117
- ext_validator = EnumAttributeValidator.new('String', ['mp4', 'm4a'])
144
+ ext_validator = EnumAttributeValidator.new('String', ["mp4", "m4a"])
118
145
  return false unless ext_validator.valid?(@ext)
119
146
  true
120
147
  end
@@ -122,9 +149,9 @@ module MuxRuby
122
149
  # Custom attribute writer method checking allowed values (enum).
123
150
  # @param [Object] name Object to be assigned
124
151
  def name=(name)
125
- validator = EnumAttributeValidator.new('String', ['low.mp4', 'medium.mp4', 'high.mp4', 'audio.m4a'])
152
+ validator = EnumAttributeValidator.new('String', ["low.mp4", "medium.mp4", "high.mp4", "audio.m4a"])
126
153
  unless validator.valid?(name)
127
- fail ArgumentError, 'invalid value for "name", must be one of #{validator.allowable_values}.'
154
+ fail ArgumentError, "invalid value for \"name\", must be one of #{validator.allowable_values}."
128
155
  end
129
156
  @name = name
130
157
  end
@@ -132,9 +159,9 @@ module MuxRuby
132
159
  # Custom attribute writer method checking allowed values (enum).
133
160
  # @param [Object] ext Object to be assigned
134
161
  def ext=(ext)
135
- validator = EnumAttributeValidator.new('String', ['mp4', 'm4a'])
162
+ validator = EnumAttributeValidator.new('String', ["mp4", "m4a"])
136
163
  unless validator.valid?(ext)
137
- fail ArgumentError, 'invalid value for "ext", must be one of #{validator.allowable_values}.'
164
+ fail ArgumentError, "invalid value for \"ext\", must be one of #{validator.allowable_values}."
138
165
  end
139
166
  @ext = ext
140
167
  end
@@ -159,7 +186,7 @@ module MuxRuby
159
186
  end
160
187
 
161
188
  # Calculates hash code according to all attributes.
162
- # @return [Fixnum] Hash code
189
+ # @return [Integer] Hash code
163
190
  def hash
164
191
  [name, ext, height, width, bitrate, filesize].hash
165
192
  end
@@ -177,7 +204,9 @@ module MuxRuby
177
204
  def build_from_hash(attributes)
178
205
  return nil unless attributes.is_a?(Hash)
179
206
  self.class.openapi_types.each_pair do |key, type|
180
- if type =~ /\AArray<(.*)>/i
207
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
208
+ self.send("#{key}=", nil)
209
+ elsif type =~ /\AArray<(.*)>/i
181
210
  # check to ensure the input is an array given that the attribute
182
211
  # is documented as an array but the input is not
183
212
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -185,7 +214,7 @@ module MuxRuby
185
214
  end
186
215
  elsif !attributes[self.class.attribute_map[key]].nil?
187
216
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
188
- end # or else data not found in attributes(hash), not an issue as the data can be optional
217
+ end
189
218
  end
190
219
 
191
220
  self
@@ -197,8 +226,8 @@ module MuxRuby
197
226
  # @return [Object] Deserialized data
198
227
  def _deserialize(type, value)
199
228
  case type.to_sym
200
- when :DateTime
201
- DateTime.parse(value)
229
+ when :Time
230
+ Time.parse(value)
202
231
  when :Date
203
232
  Date.parse(value)
204
233
  when :String
@@ -207,7 +236,7 @@ module MuxRuby
207
236
  value.to_i
208
237
  when :Float
209
238
  value.to_f
210
- when :BOOLEAN
239
+ when :Boolean
211
240
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
212
241
  true
213
242
  else
@@ -228,7 +257,9 @@ module MuxRuby
228
257
  end
229
258
  end
230
259
  else # model
231
- MuxRuby.const_get(type).build_from_hash(value)
260
+ # models (e.g. Pet) or oneOf
261
+ klass = MuxRuby.const_get(type)
262
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
232
263
  end
233
264
  end
234
265
 
@@ -250,7 +281,11 @@ module MuxRuby
250
281
  hash = {}
251
282
  self.class.attribute_map.each_pair do |attr, param|
252
283
  value = self.send(attr)
253
- next if value.nil?
284
+ if value.nil?
285
+ is_nullable = self.class.openapi_nullable.include?(attr)
286
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
287
+ end
288
+
254
289
  hash[param] = _to_hash(value)
255
290
  end
256
291
  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 BreakdownValue
@@ -28,6 +36,11 @@ module MuxRuby
28
36
  }
29
37
  end
30
38
 
39
+ # Returns all the JSON keys this model knows about
40
+ def self.acceptable_attributes
41
+ attribute_map.values
42
+ end
43
+
31
44
  # Attribute type mapping.
32
45
  def self.openapi_types
33
46
  {
@@ -39,31 +52,44 @@ module MuxRuby
39
52
  }
40
53
  end
41
54
 
55
+ # List of attributes with nullable: true
56
+ def self.openapi_nullable
57
+ Set.new([
58
+ ])
59
+ end
60
+
42
61
  # Initializes the object
43
62
  # @param [Hash] attributes Model attributes in the form of hash
44
63
  def initialize(attributes = {})
45
- return unless attributes.is_a?(Hash)
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::BreakdownValue` initialize method"
66
+ end
46
67
 
47
- # convert string to symbol for hash key
48
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
68
+ # check to see if the attribute exists and convert string to symbol for hash key
69
+ attributes = attributes.each_with_object({}) { |(k, v), h|
70
+ if (!self.class.attribute_map.key?(k.to_sym))
71
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::BreakdownValue`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
72
+ end
73
+ h[k.to_sym] = v
74
+ }
49
75
 
50
- if attributes.has_key?(:'views')
76
+ if attributes.key?(:'views')
51
77
  self.views = attributes[:'views']
52
78
  end
53
79
 
54
- if attributes.has_key?(:'value')
80
+ if attributes.key?(:'value')
55
81
  self.value = attributes[:'value']
56
82
  end
57
83
 
58
- if attributes.has_key?(:'total_watch_time')
84
+ if attributes.key?(:'total_watch_time')
59
85
  self.total_watch_time = attributes[:'total_watch_time']
60
86
  end
61
87
 
62
- if attributes.has_key?(:'negative_impact')
88
+ if attributes.key?(:'negative_impact')
63
89
  self.negative_impact = attributes[:'negative_impact']
64
90
  end
65
91
 
66
- if attributes.has_key?(:'field')
92
+ if attributes.key?(:'field')
67
93
  self.field = attributes[:'field']
68
94
  end
69
95
  end
@@ -100,7 +126,7 @@ module MuxRuby
100
126
  end
101
127
 
102
128
  # Calculates hash code according to all attributes.
103
- # @return [Fixnum] Hash code
129
+ # @return [Integer] Hash code
104
130
  def hash
105
131
  [views, value, total_watch_time, negative_impact, field].hash
106
132
  end
@@ -118,7 +144,9 @@ module MuxRuby
118
144
  def build_from_hash(attributes)
119
145
  return nil unless attributes.is_a?(Hash)
120
146
  self.class.openapi_types.each_pair do |key, type|
121
- if type =~ /\AArray<(.*)>/i
147
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
148
+ self.send("#{key}=", nil)
149
+ elsif type =~ /\AArray<(.*)>/i
122
150
  # check to ensure the input is an array given that the attribute
123
151
  # is documented as an array but the input is not
124
152
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -126,7 +154,7 @@ module MuxRuby
126
154
  end
127
155
  elsif !attributes[self.class.attribute_map[key]].nil?
128
156
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
129
- end # or else data not found in attributes(hash), not an issue as the data can be optional
157
+ end
130
158
  end
131
159
 
132
160
  self
@@ -138,8 +166,8 @@ module MuxRuby
138
166
  # @return [Object] Deserialized data
139
167
  def _deserialize(type, value)
140
168
  case type.to_sym
141
- when :DateTime
142
- DateTime.parse(value)
169
+ when :Time
170
+ Time.parse(value)
143
171
  when :Date
144
172
  Date.parse(value)
145
173
  when :String
@@ -148,7 +176,7 @@ module MuxRuby
148
176
  value.to_i
149
177
  when :Float
150
178
  value.to_f
151
- when :BOOLEAN
179
+ when :Boolean
152
180
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
153
181
  true
154
182
  else
@@ -169,7 +197,9 @@ module MuxRuby
169
197
  end
170
198
  end
171
199
  else # model
172
- MuxRuby.const_get(type).build_from_hash(value)
200
+ # models (e.g. Pet) or oneOf
201
+ klass = MuxRuby.const_get(type)
202
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
173
203
  end
174
204
  end
175
205
 
@@ -191,7 +221,11 @@ module MuxRuby
191
221
  hash = {}
192
222
  self.class.attribute_map.each_pair do |attr, param|
193
223
  value = self.send(attr)
194
- next if value.nil?
224
+ if value.nil?
225
+ is_nullable = self.class.openapi_nullable.include?(attr)
226
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
227
+ end
228
+
195
229
  hash[param] = _to_hash(value)
196
230
  end
197
231
  hash
@@ -1,27 +1,41 @@
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 CreateAssetRequest
18
+ # An array of objects that each describe an input file to be used to create the asset. As a shortcut, input can also be a string URL for a file when only one input file is used. See `input[].url` for requirements.
10
19
  attr_accessor :input
11
20
 
21
+ # An array of playback policy names that you want applied to this asset and available through `playback_ids`. Options include: `\"public\"` (anyone with the playback URL can stream the asset). And `\"signed\"` (an additional access token is required to play the asset). If no playback_policy is set, the asset will have no playback IDs and will therefore not be playable. For simplicity, a single string name can be used in place of the array in the case of only one playback policy.
12
22
  attr_accessor :playback_policy
13
23
 
14
24
  attr_accessor :per_title_encode
15
25
 
26
+ # Arbitrary metadata that will be included in the asset details and related webhooks. Can be used to store your own ID for a video along with the asset. **Max: 255 characters**.
16
27
  attr_accessor :passthrough
17
28
 
29
+ # Specify what level (if any) of support for mp4 playback. In most cases you should use our default HLS-based streaming playback ({playback_id}.m3u8) which can automatically adjust to viewers' connection speeds, but an mp4 can be useful for some legacy devices or downloading for offline playback. See the [Download your videos guide](/guides/video/download-your-videos) for more information.
18
30
  attr_accessor :mp4_support
19
31
 
20
32
  # Normalize the audio track loudness level. This parameter is only applicable to on-demand (not live) assets.
21
33
  attr_accessor :normalize_audio
22
34
 
35
+ # Specify what level (if any) of support for master access. Master access can be enabled temporarily for your asset to be downloaded. See the [Download your videos guide](/guides/video/download-your-videos) for more information.
23
36
  attr_accessor :master_access
24
37
 
38
+ # Marks the asset as a test asset when the value is set to true. A Test asset can help evaluate the Mux Video APIs without incurring any cost. There is no limit on number of test assets created. Test asset are watermarked with the Mux logo, limited to 10 seconds, deleted after 24 hrs.
25
39
  attr_accessor :test
26
40
 
27
41
  class EnumAttributeValidator
@@ -60,63 +74,81 @@ module MuxRuby
60
74
  }
61
75
  end
62
76
 
77
+ # Returns all the JSON keys this model knows about
78
+ def self.acceptable_attributes
79
+ attribute_map.values
80
+ end
81
+
63
82
  # Attribute type mapping.
64
83
  def self.openapi_types
65
84
  {
66
85
  :'input' => :'Array<InputSettings>',
67
86
  :'playback_policy' => :'Array<PlaybackPolicy>',
68
- :'per_title_encode' => :'BOOLEAN',
87
+ :'per_title_encode' => :'Boolean',
69
88
  :'passthrough' => :'String',
70
89
  :'mp4_support' => :'String',
71
- :'normalize_audio' => :'BOOLEAN',
90
+ :'normalize_audio' => :'Boolean',
72
91
  :'master_access' => :'String',
73
- :'test' => :'BOOLEAN'
92
+ :'test' => :'Boolean'
74
93
  }
75
94
  end
76
95
 
96
+ # List of attributes with nullable: true
97
+ def self.openapi_nullable
98
+ Set.new([
99
+ ])
100
+ end
101
+
77
102
  # Initializes the object
78
103
  # @param [Hash] attributes Model attributes in the form of hash
79
104
  def initialize(attributes = {})
80
- return unless attributes.is_a?(Hash)
105
+ if (!attributes.is_a?(Hash))
106
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::CreateAssetRequest` initialize method"
107
+ end
81
108
 
82
- # convert string to symbol for hash key
83
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
109
+ # check to see if the attribute exists and convert string to symbol for hash key
110
+ attributes = attributes.each_with_object({}) { |(k, v), h|
111
+ if (!self.class.attribute_map.key?(k.to_sym))
112
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::CreateAssetRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
113
+ end
114
+ h[k.to_sym] = v
115
+ }
84
116
 
85
- if attributes.has_key?(:'input')
117
+ if attributes.key?(:'input')
86
118
  if (value = attributes[:'input']).is_a?(Array)
87
119
  self.input = value
88
120
  end
89
121
  end
90
122
 
91
- if attributes.has_key?(:'playback_policy')
123
+ if attributes.key?(:'playback_policy')
92
124
  if (value = attributes[:'playback_policy']).is_a?(Array)
93
125
  self.playback_policy = value
94
126
  end
95
127
  end
96
128
 
97
- if attributes.has_key?(:'per_title_encode')
129
+ if attributes.key?(:'per_title_encode')
98
130
  self.per_title_encode = attributes[:'per_title_encode']
99
131
  end
100
132
 
101
- if attributes.has_key?(:'passthrough')
133
+ if attributes.key?(:'passthrough')
102
134
  self.passthrough = attributes[:'passthrough']
103
135
  end
104
136
 
105
- if attributes.has_key?(:'mp4_support')
137
+ if attributes.key?(:'mp4_support')
106
138
  self.mp4_support = attributes[:'mp4_support']
107
139
  end
108
140
 
109
- if attributes.has_key?(:'normalize_audio')
141
+ if attributes.key?(:'normalize_audio')
110
142
  self.normalize_audio = attributes[:'normalize_audio']
111
143
  else
112
144
  self.normalize_audio = false
113
145
  end
114
146
 
115
- if attributes.has_key?(:'master_access')
147
+ if attributes.key?(:'master_access')
116
148
  self.master_access = attributes[:'master_access']
117
149
  end
118
150
 
119
- if attributes.has_key?(:'test')
151
+ if attributes.key?(:'test')
120
152
  self.test = attributes[:'test']
121
153
  end
122
154
  end
@@ -131,9 +163,9 @@ module MuxRuby
131
163
  # Check to see if the all the properties in the model are valid
132
164
  # @return true if the model is valid
133
165
  def valid?
134
- mp4_support_validator = EnumAttributeValidator.new('String', ['none', 'standard'])
166
+ mp4_support_validator = EnumAttributeValidator.new('String', ["none", "standard"])
135
167
  return false unless mp4_support_validator.valid?(@mp4_support)
136
- master_access_validator = EnumAttributeValidator.new('String', ['none', 'temporary'])
168
+ master_access_validator = EnumAttributeValidator.new('String', ["none", "temporary"])
137
169
  return false unless master_access_validator.valid?(@master_access)
138
170
  true
139
171
  end
@@ -141,9 +173,9 @@ module MuxRuby
141
173
  # Custom attribute writer method checking allowed values (enum).
142
174
  # @param [Object] mp4_support Object to be assigned
143
175
  def mp4_support=(mp4_support)
144
- validator = EnumAttributeValidator.new('String', ['none', 'standard'])
176
+ validator = EnumAttributeValidator.new('String', ["none", "standard"])
145
177
  unless validator.valid?(mp4_support)
146
- fail ArgumentError, 'invalid value for "mp4_support", must be one of #{validator.allowable_values}.'
178
+ fail ArgumentError, "invalid value for \"mp4_support\", must be one of #{validator.allowable_values}."
147
179
  end
148
180
  @mp4_support = mp4_support
149
181
  end
@@ -151,9 +183,9 @@ module MuxRuby
151
183
  # Custom attribute writer method checking allowed values (enum).
152
184
  # @param [Object] master_access Object to be assigned
153
185
  def master_access=(master_access)
154
- validator = EnumAttributeValidator.new('String', ['none', 'temporary'])
186
+ validator = EnumAttributeValidator.new('String', ["none", "temporary"])
155
187
  unless validator.valid?(master_access)
156
- fail ArgumentError, 'invalid value for "master_access", must be one of #{validator.allowable_values}.'
188
+ fail ArgumentError, "invalid value for \"master_access\", must be one of #{validator.allowable_values}."
157
189
  end
158
190
  @master_access = master_access
159
191
  end
@@ -180,7 +212,7 @@ module MuxRuby
180
212
  end
181
213
 
182
214
  # Calculates hash code according to all attributes.
183
- # @return [Fixnum] Hash code
215
+ # @return [Integer] Hash code
184
216
  def hash
185
217
  [input, playback_policy, per_title_encode, passthrough, mp4_support, normalize_audio, master_access, test].hash
186
218
  end
@@ -198,7 +230,9 @@ module MuxRuby
198
230
  def build_from_hash(attributes)
199
231
  return nil unless attributes.is_a?(Hash)
200
232
  self.class.openapi_types.each_pair do |key, type|
201
- if type =~ /\AArray<(.*)>/i
233
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
234
+ self.send("#{key}=", nil)
235
+ elsif type =~ /\AArray<(.*)>/i
202
236
  # check to ensure the input is an array given that the attribute
203
237
  # is documented as an array but the input is not
204
238
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -206,7 +240,7 @@ module MuxRuby
206
240
  end
207
241
  elsif !attributes[self.class.attribute_map[key]].nil?
208
242
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
209
- end # or else data not found in attributes(hash), not an issue as the data can be optional
243
+ end
210
244
  end
211
245
 
212
246
  self
@@ -218,8 +252,8 @@ module MuxRuby
218
252
  # @return [Object] Deserialized data
219
253
  def _deserialize(type, value)
220
254
  case type.to_sym
221
- when :DateTime
222
- DateTime.parse(value)
255
+ when :Time
256
+ Time.parse(value)
223
257
  when :Date
224
258
  Date.parse(value)
225
259
  when :String
@@ -228,7 +262,7 @@ module MuxRuby
228
262
  value.to_i
229
263
  when :Float
230
264
  value.to_f
231
- when :BOOLEAN
265
+ when :Boolean
232
266
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
233
267
  true
234
268
  else
@@ -249,7 +283,9 @@ module MuxRuby
249
283
  end
250
284
  end
251
285
  else # model
252
- MuxRuby.const_get(type).build_from_hash(value)
286
+ # models (e.g. Pet) or oneOf
287
+ klass = MuxRuby.const_get(type)
288
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
253
289
  end
254
290
  end
255
291
 
@@ -271,7 +307,11 @@ module MuxRuby
271
307
  hash = {}
272
308
  self.class.attribute_map.each_pair do |attr, param|
273
309
  value = self.send(attr)
274
- next if value.nil?
310
+ if value.nil?
311
+ is_nullable = self.class.openapi_nullable.include?(attr)
312
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
313
+ end
314
+
275
315
  hash[param] = _to_hash(value)
276
316
  end
277
317
  hash