mux_ruby 1.9.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (277) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +26 -37
  4. data/README.md +37 -13
  5. data/docs/AbridgedVideoView.md +33 -13
  6. data/docs/Asset.md +59 -26
  7. data/docs/AssetErrors.md +15 -4
  8. data/docs/AssetMaster.md +15 -4
  9. data/docs/AssetNonStandardInputReasons.md +29 -11
  10. data/docs/AssetRecordingTimes.md +15 -4
  11. data/docs/AssetResponse.md +13 -3
  12. data/docs/AssetStaticRenditions.md +15 -4
  13. data/docs/AssetStaticRenditionsFiles.md +23 -8
  14. data/docs/AssetsApi.md +396 -163
  15. data/docs/BreakdownValue.md +21 -7
  16. data/docs/CreateAssetRequest.md +27 -10
  17. data/docs/CreateLiveStreamRequest.md +29 -9
  18. data/docs/CreatePlaybackIDRequest.md +13 -3
  19. data/docs/CreatePlaybackIDResponse.md +13 -3
  20. data/docs/CreateSimulcastTargetRequest.md +17 -5
  21. data/docs/CreateTrackRequest.md +25 -9
  22. data/docs/CreateTrackResponse.md +13 -3
  23. data/docs/CreateUploadRequest.md +19 -6
  24. data/docs/DeliveryReport.md +27 -9
  25. data/docs/DeliveryUsageApi.md +41 -23
  26. data/docs/DimensionValue.md +15 -4
  27. data/docs/DimensionsApi.md +72 -34
  28. data/docs/DirectUploadsApi.md +131 -56
  29. data/docs/DisableLiveStreamResponse.md +13 -3
  30. data/docs/EnableLiveStreamResponse.md +13 -3
  31. data/docs/Error.md +27 -10
  32. data/docs/ErrorsApi.md +38 -20
  33. data/docs/ExportDate.md +20 -0
  34. data/docs/ExportFile.md +22 -0
  35. data/docs/ExportsApi.md +99 -12
  36. data/docs/FilterValue.md +15 -4
  37. data/docs/FiltersApi.md +71 -33
  38. data/docs/GetAssetInputInfoResponse.md +13 -3
  39. data/docs/GetAssetOrLiveStreamIdResponse.md +13 -3
  40. data/docs/GetAssetOrLiveStreamIdResponseData.md +17 -5
  41. data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +15 -4
  42. data/docs/GetAssetPlaybackIDResponse.md +13 -3
  43. data/docs/GetMetricTimeseriesDataResponse.md +17 -5
  44. data/docs/GetOverallValuesResponse.md +17 -5
  45. data/docs/GetRealTimeBreakdownResponse.md +17 -5
  46. data/docs/GetRealTimeHistogramTimeseriesResponse.md +19 -6
  47. data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +13 -3
  48. data/docs/GetRealTimeTimeseriesResponse.md +17 -5
  49. data/docs/Incident.md +53 -23
  50. data/docs/IncidentBreakdown.md +17 -5
  51. data/docs/IncidentNotification.md +17 -5
  52. data/docs/IncidentNotificationRule.md +21 -7
  53. data/docs/IncidentResponse.md +15 -4
  54. data/docs/IncidentsApi.md +118 -62
  55. data/docs/InputFile.md +15 -4
  56. data/docs/InputInfo.md +15 -4
  57. data/docs/InputSettings.md +31 -12
  58. data/docs/InputSettingsOverlaySettings.md +25 -9
  59. data/docs/InputTrack.md +29 -11
  60. data/docs/Insight.md +23 -8
  61. data/docs/ListAllMetricValuesResponse.md +17 -5
  62. data/docs/ListAssetsResponse.md +13 -3
  63. data/docs/ListBreakdownValuesResponse.md +17 -5
  64. data/docs/ListDeliveryUsageResponse.md +19 -6
  65. data/docs/ListDimensionValuesResponse.md +17 -5
  66. data/docs/ListDimensionsResponse.md +17 -5
  67. data/docs/ListErrorsResponse.md +17 -5
  68. data/docs/ListExportsResponse.md +17 -5
  69. data/docs/ListFilterValuesResponse.md +17 -5
  70. data/docs/ListFiltersResponse.md +17 -5
  71. data/docs/ListFiltersResponseData.md +15 -4
  72. data/docs/ListIncidentsResponse.md +17 -5
  73. data/docs/ListInsightsResponse.md +17 -5
  74. data/docs/ListLiveStreamsResponse.md +13 -3
  75. data/docs/ListRealTimeDimensionsResponse.md +17 -5
  76. data/docs/ListRealTimeDimensionsResponseData.md +15 -4
  77. data/docs/ListRealTimeMetricsResponse.md +17 -5
  78. data/docs/ListRelatedIncidentsResponse.md +17 -5
  79. data/docs/ListSigningKeysResponse.md +13 -3
  80. data/docs/ListUploadsResponse.md +13 -3
  81. data/docs/ListVideoViewExportsResponse.md +22 -0
  82. data/docs/ListVideoViewsResponse.md +17 -5
  83. data/docs/LiveStream.md +41 -15
  84. data/docs/LiveStreamResponse.md +13 -3
  85. data/docs/LiveStreamsApi.md +418 -170
  86. data/docs/Metric.md +21 -7
  87. data/docs/MetricsApi.md +211 -117
  88. data/docs/NotificationRule.md +17 -5
  89. data/docs/OverallValues.md +19 -6
  90. data/docs/PlaybackID.md +15 -4
  91. data/docs/PlaybackIDApi.md +35 -17
  92. data/docs/PlaybackPolicy.md +10 -2
  93. data/docs/RealTimeApi.md +177 -81
  94. data/docs/RealTimeBreakdownValue.md +21 -7
  95. data/docs/RealTimeHistogramTimeseriesBucket.md +15 -4
  96. data/docs/RealTimeHistogramTimeseriesBucketValues.md +15 -4
  97. data/docs/RealTimeHistogramTimeseriesDatapoint.md +25 -9
  98. data/docs/RealTimeTimeseriesDatapoint.md +17 -5
  99. data/docs/Score.md +23 -8
  100. data/docs/SignalLiveStreamCompleteResponse.md +13 -3
  101. data/docs/SigningKey.md +17 -5
  102. data/docs/SigningKeyResponse.md +13 -3
  103. data/docs/SimulcastTarget.md +21 -7
  104. data/docs/SimulcastTargetResponse.md +13 -3
  105. data/docs/Track.md +37 -15
  106. data/docs/URLSigningKeysApi.md +130 -54
  107. data/docs/UpdateAssetMP4SupportRequest.md +13 -3
  108. data/docs/UpdateAssetMasterAccessRequest.md +13 -3
  109. data/docs/Upload.md +29 -11
  110. data/docs/UploadError.md +15 -4
  111. data/docs/UploadResponse.md +13 -3
  112. data/docs/VideoView.md +251 -114
  113. data/docs/VideoViewEvent.md +19 -6
  114. data/docs/VideoViewResponse.md +15 -4
  115. data/docs/VideoViewsApi.md +78 -41
  116. data/gen/.gitignore +7 -0
  117. data/gen/Makefile +31 -0
  118. data/gen/generator-config.json +11 -0
  119. data/gen/openapitools.json +7 -0
  120. data/gen/package.json +17 -0
  121. data/gen/templates/Gemfile.mustache +11 -0
  122. data/gen/templates/README.mustache +158 -0
  123. data/gen/templates/Rakefile.mustache +10 -0
  124. data/gen/templates/api.mustache +206 -0
  125. data/gen/templates/api_client.mustache +264 -0
  126. data/gen/templates/api_client_faraday_partial.mustache +138 -0
  127. data/gen/templates/api_client_spec.mustache +220 -0
  128. data/gen/templates/api_client_typhoeus_partial.mustache +183 -0
  129. data/gen/templates/api_doc.mustache +118 -0
  130. data/gen/templates/api_error.mustache +67 -0
  131. data/gen/templates/api_info.mustache +12 -0
  132. data/gen/templates/api_test.mustache +47 -0
  133. data/gen/templates/base_object.mustache +120 -0
  134. data/gen/templates/configuration.mustache +349 -0
  135. data/gen/templates/configuration_spec.mustache +34 -0
  136. data/gen/templates/configuration_tls_faraday_partial.mustache +29 -0
  137. data/gen/templates/configuration_tls_typhoeus_partial.mustache +34 -0
  138. data/gen/templates/gem.mustache +40 -0
  139. data/gen/templates/gemspec.mustache +35 -0
  140. data/gen/templates/gitignore.mustache +39 -0
  141. data/gen/templates/model.mustache +26 -0
  142. data/gen/templates/model_doc.mustache +12 -0
  143. data/gen/templates/model_test.mustache +77 -0
  144. data/gen/templates/partial_model_enum_class.mustache +20 -0
  145. data/gen/templates/partial_model_generic.mustache +371 -0
  146. data/gen/templates/partial_model_generic_doc.mustache +28 -0
  147. data/gen/templates/partial_oneof_module.mustache +137 -0
  148. data/gen/templates/partial_oneof_module_doc.mustache +92 -0
  149. data/gen/templates/rspec.mustache +2 -0
  150. data/gen/templates/rubocop.mustache +148 -0
  151. data/gen/templates/spec_helper.mustache +103 -0
  152. data/gen/templates/version.mustache +7 -0
  153. data/gen/yarn.lock +1878 -0
  154. data/lib/mux_ruby/api/assets_api.rb +293 -156
  155. data/lib/mux_ruby/api/delivery_usage_api.rb +32 -16
  156. data/lib/mux_ruby/api/dimensions_api.rb +55 -29
  157. data/lib/mux_ruby/api/direct_uploads_api.rb +90 -44
  158. data/lib/mux_ruby/api/errors_api.rb +34 -18
  159. data/lib/mux_ruby/api/exports_api.rb +86 -13
  160. data/lib/mux_ruby/api/filters_api.rb +53 -27
  161. data/lib/mux_ruby/api/incidents_api.rb +94 -52
  162. data/lib/mux_ruby/api/live_streams_api.rb +299 -157
  163. data/lib/mux_ruby/api/metrics_api.rb +193 -122
  164. data/lib/mux_ruby/api/playback_id_api.rb +33 -17
  165. data/lib/mux_ruby/api/real_time_api.rb +149 -87
  166. data/lib/mux_ruby/api/url_signing_keys_api.rb +95 -48
  167. data/lib/mux_ruby/api/video_views_api.rb +60 -33
  168. data/lib/mux_ruby/api_client.rb +94 -79
  169. data/lib/mux_ruby/api_error.rb +35 -7
  170. data/lib/mux_ruby/configuration.rb +50 -14
  171. data/lib/mux_ruby/models/abridged_video_view.rb +58 -24
  172. data/lib/mux_ruby/models/asset.rb +100 -63
  173. data/lib/mux_ruby/models/asset_errors.rb +50 -15
  174. data/lib/mux_ruby/models/asset_master.rb +52 -17
  175. data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +70 -35
  176. data/lib/mux_ruby/models/asset_recording_times.rb +50 -16
  177. data/lib/mux_ruby/models/asset_response.rb +48 -14
  178. data/lib/mux_ruby/models/asset_static_renditions.rb +53 -17
  179. data/lib/mux_ruby/models/asset_static_renditions_files.rb +58 -23
  180. data/lib/mux_ruby/models/breakdown_value.rb +52 -18
  181. data/lib/mux_ruby/models/create_asset_request.rb +64 -30
  182. data/lib/mux_ruby/models/create_live_stream_request.rb +78 -23
  183. data/lib/mux_ruby/models/create_playback_id_request.rb +48 -14
  184. data/lib/mux_ruby/models/create_playback_id_response.rb +48 -14
  185. data/lib/mux_ruby/models/create_simulcast_target_request.rb +50 -16
  186. data/lib/mux_ruby/models/create_track_request.rb +60 -26
  187. data/lib/mux_ruby/models/create_track_response.rb +48 -14
  188. data/lib/mux_ruby/models/create_upload_request.rb +52 -18
  189. data/lib/mux_ruby/models/delivery_report.rb +106 -21
  190. data/lib/mux_ruby/models/dimension_value.rb +49 -15
  191. data/lib/mux_ruby/models/disable_live_stream_response.rb +48 -14
  192. data/lib/mux_ruby/models/enable_live_stream_response.rb +48 -14
  193. data/lib/mux_ruby/models/error.rb +63 -21
  194. data/lib/mux_ruby/models/export_date.rb +229 -0
  195. data/lib/mux_ruby/models/export_file.rb +236 -0
  196. data/lib/mux_ruby/models/filter_value.rb +49 -15
  197. data/lib/mux_ruby/models/get_asset_input_info_response.rb +48 -14
  198. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +48 -14
  199. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +50 -16
  200. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +51 -17
  201. data/lib/mux_ruby/models/get_asset_playback_id_response.rb +48 -14
  202. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +50 -16
  203. data/lib/mux_ruby/models/get_overall_values_response.rb +50 -16
  204. data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +50 -16
  205. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +51 -17
  206. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +48 -14
  207. data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +50 -16
  208. data/lib/mux_ruby/models/incident.rb +68 -34
  209. data/lib/mux_ruby/models/incident_breakdown.rb +50 -16
  210. data/lib/mux_ruby/models/incident_notification.rb +50 -16
  211. data/lib/mux_ruby/models/incident_notification_rule.rb +52 -18
  212. data/lib/mux_ruby/models/incident_response.rb +49 -15
  213. data/lib/mux_ruby/models/input_file.rb +49 -15
  214. data/lib/mux_ruby/models/input_info.rb +49 -15
  215. data/lib/mux_ruby/models/input_settings.rb +64 -30
  216. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +58 -24
  217. data/lib/mux_ruby/models/input_track.rb +56 -22
  218. data/lib/mux_ruby/models/insight.rb +53 -19
  219. data/lib/mux_ruby/models/list_all_metric_values_response.rb +50 -16
  220. data/lib/mux_ruby/models/list_assets_response.rb +48 -14
  221. data/lib/mux_ruby/models/list_breakdown_values_response.rb +50 -16
  222. data/lib/mux_ruby/models/list_delivery_usage_response.rb +51 -17
  223. data/lib/mux_ruby/models/list_dimension_values_response.rb +50 -16
  224. data/lib/mux_ruby/models/list_dimensions_response.rb +50 -16
  225. data/lib/mux_ruby/models/list_errors_response.rb +50 -16
  226. data/lib/mux_ruby/models/list_exports_response.rb +50 -16
  227. data/lib/mux_ruby/models/list_filter_values_response.rb +50 -16
  228. data/lib/mux_ruby/models/list_filters_response.rb +50 -16
  229. data/lib/mux_ruby/models/list_filters_response_data.rb +49 -15
  230. data/lib/mux_ruby/models/list_incidents_response.rb +50 -16
  231. data/lib/mux_ruby/models/list_insights_response.rb +50 -16
  232. data/lib/mux_ruby/models/list_live_streams_response.rb +48 -14
  233. data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +50 -16
  234. data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +49 -15
  235. data/lib/mux_ruby/models/list_real_time_metrics_response.rb +50 -16
  236. data/lib/mux_ruby/models/list_related_incidents_response.rb +50 -16
  237. data/lib/mux_ruby/models/list_signing_keys_response.rb +48 -14
  238. data/lib/mux_ruby/models/list_uploads_response.rb +48 -14
  239. data/lib/mux_ruby/models/list_video_view_exports_response.rb +240 -0
  240. data/lib/mux_ruby/models/list_video_views_response.rb +50 -16
  241. data/lib/mux_ruby/models/live_stream.rb +131 -29
  242. data/lib/mux_ruby/models/live_stream_response.rb +48 -14
  243. data/lib/mux_ruby/models/metric.rb +52 -18
  244. data/lib/mux_ruby/models/notification_rule.rb +50 -16
  245. data/lib/mux_ruby/models/overall_values.rb +51 -17
  246. data/lib/mux_ruby/models/playback_id.rb +49 -15
  247. data/lib/mux_ruby/models/playback_policy.rb +12 -6
  248. data/lib/mux_ruby/models/real_time_breakdown_value.rb +52 -18
  249. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +50 -16
  250. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +49 -15
  251. data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +54 -20
  252. data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +50 -16
  253. data/lib/mux_ruby/models/score.rb +53 -19
  254. data/lib/mux_ruby/models/signal_live_stream_complete_response.rb +48 -14
  255. data/lib/mux_ruby/models/signing_key.rb +53 -16
  256. data/lib/mux_ruby/models/signing_key_response.rb +48 -14
  257. data/lib/mux_ruby/models/simulcast_target.rb +54 -20
  258. data/lib/mux_ruby/models/simulcast_target_response.rb +48 -14
  259. data/lib/mux_ruby/models/track.rb +67 -33
  260. data/lib/mux_ruby/models/update_asset_master_access_request.rb +50 -16
  261. data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +50 -16
  262. data/lib/mux_ruby/models/upload.rb +61 -25
  263. data/lib/mux_ruby/models/upload_error.rb +51 -15
  264. data/lib/mux_ruby/models/upload_response.rb +48 -14
  265. data/lib/mux_ruby/models/video_view.rb +242 -136
  266. data/lib/mux_ruby/models/video_view_event.rb +51 -17
  267. data/lib/mux_ruby/models/video_view_response.rb +49 -15
  268. data/lib/mux_ruby/version.rb +10 -3
  269. data/lib/mux_ruby.rb +12 -2
  270. data/mux_ruby.gemspec +15 -17
  271. data/spec/api_client_spec.rb +10 -3
  272. data/spec/configuration_spec.rb +9 -2
  273. data/spec/models/export_date_spec.rb +40 -0
  274. data/spec/models/export_file_spec.rb +46 -0
  275. data/spec/models/list_video_view_exports_response_spec.rb +46 -0
  276. data/spec/spec_helper.rb +9 -2
  277. metadata +149 -240
@@ -1,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,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 CreateAssetRequest
@@ -18,13 +26,13 @@ module MuxRuby
18
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**.
19
27
  attr_accessor :passthrough
20
28
 
21
- # 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 vidoes guide](/guides/video/download-your-videos) for more information.
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.
22
30
  attr_accessor :mp4_support
23
31
 
24
32
  # Normalize the audio track loudness level. This parameter is only applicable to on-demand (not live) assets.
25
33
  attr_accessor :normalize_audio
26
34
 
27
- # 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 vidoes guide](/guides/video/download-your-videos) for more information.
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.
28
36
  attr_accessor :master_access
29
37
 
30
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.
@@ -66,63 +74,81 @@ module MuxRuby
66
74
  }
67
75
  end
68
76
 
77
+ # Returns all the JSON keys this model knows about
78
+ def self.acceptable_attributes
79
+ attribute_map.values
80
+ end
81
+
69
82
  # Attribute type mapping.
70
83
  def self.openapi_types
71
84
  {
72
85
  :'input' => :'Array<InputSettings>',
73
86
  :'playback_policy' => :'Array<PlaybackPolicy>',
74
- :'per_title_encode' => :'BOOLEAN',
87
+ :'per_title_encode' => :'Boolean',
75
88
  :'passthrough' => :'String',
76
89
  :'mp4_support' => :'String',
77
- :'normalize_audio' => :'BOOLEAN',
90
+ :'normalize_audio' => :'Boolean',
78
91
  :'master_access' => :'String',
79
- :'test' => :'BOOLEAN'
92
+ :'test' => :'Boolean'
80
93
  }
81
94
  end
82
95
 
96
+ # List of attributes with nullable: true
97
+ def self.openapi_nullable
98
+ Set.new([
99
+ ])
100
+ end
101
+
83
102
  # Initializes the object
84
103
  # @param [Hash] attributes Model attributes in the form of hash
85
104
  def initialize(attributes = {})
86
- 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
87
108
 
88
- # convert string to symbol for hash key
89
- 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
+ }
90
116
 
91
- if attributes.has_key?(:'input')
117
+ if attributes.key?(:'input')
92
118
  if (value = attributes[:'input']).is_a?(Array)
93
119
  self.input = value
94
120
  end
95
121
  end
96
122
 
97
- if attributes.has_key?(:'playback_policy')
123
+ if attributes.key?(:'playback_policy')
98
124
  if (value = attributes[:'playback_policy']).is_a?(Array)
99
125
  self.playback_policy = value
100
126
  end
101
127
  end
102
128
 
103
- if attributes.has_key?(:'per_title_encode')
129
+ if attributes.key?(:'per_title_encode')
104
130
  self.per_title_encode = attributes[:'per_title_encode']
105
131
  end
106
132
 
107
- if attributes.has_key?(:'passthrough')
133
+ if attributes.key?(:'passthrough')
108
134
  self.passthrough = attributes[:'passthrough']
109
135
  end
110
136
 
111
- if attributes.has_key?(:'mp4_support')
137
+ if attributes.key?(:'mp4_support')
112
138
  self.mp4_support = attributes[:'mp4_support']
113
139
  end
114
140
 
115
- if attributes.has_key?(:'normalize_audio')
141
+ if attributes.key?(:'normalize_audio')
116
142
  self.normalize_audio = attributes[:'normalize_audio']
117
143
  else
118
144
  self.normalize_audio = false
119
145
  end
120
146
 
121
- if attributes.has_key?(:'master_access')
147
+ if attributes.key?(:'master_access')
122
148
  self.master_access = attributes[:'master_access']
123
149
  end
124
150
 
125
- if attributes.has_key?(:'test')
151
+ if attributes.key?(:'test')
126
152
  self.test = attributes[:'test']
127
153
  end
128
154
  end
@@ -137,9 +163,9 @@ module MuxRuby
137
163
  # Check to see if the all the properties in the model are valid
138
164
  # @return true if the model is valid
139
165
  def valid?
140
- mp4_support_validator = EnumAttributeValidator.new('String', ['none', 'standard'])
166
+ mp4_support_validator = EnumAttributeValidator.new('String', ["none", "standard"])
141
167
  return false unless mp4_support_validator.valid?(@mp4_support)
142
- master_access_validator = EnumAttributeValidator.new('String', ['none', 'temporary'])
168
+ master_access_validator = EnumAttributeValidator.new('String', ["none", "temporary"])
143
169
  return false unless master_access_validator.valid?(@master_access)
144
170
  true
145
171
  end
@@ -147,7 +173,7 @@ module MuxRuby
147
173
  # Custom attribute writer method checking allowed values (enum).
148
174
  # @param [Object] mp4_support Object to be assigned
149
175
  def mp4_support=(mp4_support)
150
- validator = EnumAttributeValidator.new('String', ['none', 'standard'])
176
+ validator = EnumAttributeValidator.new('String', ["none", "standard"])
151
177
  unless validator.valid?(mp4_support)
152
178
  fail ArgumentError, "invalid value for \"mp4_support\", must be one of #{validator.allowable_values}."
153
179
  end
@@ -157,7 +183,7 @@ module MuxRuby
157
183
  # Custom attribute writer method checking allowed values (enum).
158
184
  # @param [Object] master_access Object to be assigned
159
185
  def master_access=(master_access)
160
- validator = EnumAttributeValidator.new('String', ['none', 'temporary'])
186
+ validator = EnumAttributeValidator.new('String', ["none", "temporary"])
161
187
  unless validator.valid?(master_access)
162
188
  fail ArgumentError, "invalid value for \"master_access\", must be one of #{validator.allowable_values}."
163
189
  end
@@ -186,7 +212,7 @@ module MuxRuby
186
212
  end
187
213
 
188
214
  # Calculates hash code according to all attributes.
189
- # @return [Fixnum] Hash code
215
+ # @return [Integer] Hash code
190
216
  def hash
191
217
  [input, playback_policy, per_title_encode, passthrough, mp4_support, normalize_audio, master_access, test].hash
192
218
  end
@@ -204,7 +230,9 @@ module MuxRuby
204
230
  def build_from_hash(attributes)
205
231
  return nil unless attributes.is_a?(Hash)
206
232
  self.class.openapi_types.each_pair do |key, type|
207
- 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
208
236
  # check to ensure the input is an array given that the attribute
209
237
  # is documented as an array but the input is not
210
238
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -212,7 +240,7 @@ module MuxRuby
212
240
  end
213
241
  elsif !attributes[self.class.attribute_map[key]].nil?
214
242
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
215
- end # or else data not found in attributes(hash), not an issue as the data can be optional
243
+ end
216
244
  end
217
245
 
218
246
  self
@@ -224,8 +252,8 @@ module MuxRuby
224
252
  # @return [Object] Deserialized data
225
253
  def _deserialize(type, value)
226
254
  case type.to_sym
227
- when :DateTime
228
- DateTime.parse(value)
255
+ when :Time
256
+ Time.parse(value)
229
257
  when :Date
230
258
  Date.parse(value)
231
259
  when :String
@@ -234,7 +262,7 @@ module MuxRuby
234
262
  value.to_i
235
263
  when :Float
236
264
  value.to_f
237
- when :BOOLEAN
265
+ when :Boolean
238
266
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
239
267
  true
240
268
  else
@@ -255,7 +283,9 @@ module MuxRuby
255
283
  end
256
284
  end
257
285
  else # model
258
- 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)
259
289
  end
260
290
  end
261
291
 
@@ -277,7 +307,11 @@ module MuxRuby
277
307
  hash = {}
278
308
  self.class.attribute_map.each_pair do |attr, param|
279
309
  value = self.send(attr)
280
- 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
+
281
315
  hash[param] = _to_hash(value)
282
316
  end
283
317
  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 CreateLiveStreamRequest
@@ -16,9 +24,16 @@ module MuxRuby
16
24
 
17
25
  attr_accessor :passthrough
18
26
 
27
+ # Force the live stream to only process the audio track when the value is set to true. Mux drops the video track if broadcasted.
28
+ attr_accessor :audio_only
29
+
19
30
  # Latency is the time from when the streamer does something in real life to when you see it happen in the player. Set this if you want lower latency for your live stream. Note: Reconnect windows are incompatible with Reduced Latency and will always be set to zero (0) seconds. Read more here: https://mux.com/blog/reduced-latency-for-mux-live-streaming-now-available/
20
31
  attr_accessor :reduced_latency
21
32
 
33
+ # Latency is the time from when the streamer does something in real life to when you see it happen in the player. Setting this option will enable compatibility with the LL-HLS specification for low-latency streaming. This typically has lower latency than Reduced Latency streams, and cannot be combined with Reduced Latency. Note: Reconnect windows are incompatible with Low Latency and will always be set to zero (0) seconds.
34
+ attr_accessor :low_latency
35
+
36
+ # Marks the live stream as a test live stream when the value is set to true. A test live stream can help evaluate the Mux Video APIs without incurring any cost. There is no limit on number of test live streams created. Test live streams are watermarked with the Mux logo and limited to 5 minutes. The test live stream is disabled after the stream is active for 5 mins and the recorded asset also deleted after 24 hours.
22
37
  attr_accessor :test
23
38
 
24
39
  attr_accessor :simulcast_targets
@@ -30,12 +45,19 @@ module MuxRuby
30
45
  :'new_asset_settings' => :'new_asset_settings',
31
46
  :'reconnect_window' => :'reconnect_window',
32
47
  :'passthrough' => :'passthrough',
48
+ :'audio_only' => :'audio_only',
33
49
  :'reduced_latency' => :'reduced_latency',
50
+ :'low_latency' => :'low_latency',
34
51
  :'test' => :'test',
35
52
  :'simulcast_targets' => :'simulcast_targets'
36
53
  }
37
54
  end
38
55
 
56
+ # Returns all the JSON keys this model knows about
57
+ def self.acceptable_attributes
58
+ attribute_map.values
59
+ end
60
+
39
61
  # Attribute type mapping.
40
62
  def self.openapi_types
41
63
  {
@@ -43,47 +65,70 @@ module MuxRuby
43
65
  :'new_asset_settings' => :'CreateAssetRequest',
44
66
  :'reconnect_window' => :'Float',
45
67
  :'passthrough' => :'String',
46
- :'reduced_latency' => :'BOOLEAN',
47
- :'test' => :'BOOLEAN',
68
+ :'audio_only' => :'Boolean',
69
+ :'reduced_latency' => :'Boolean',
70
+ :'low_latency' => :'Boolean',
71
+ :'test' => :'Boolean',
48
72
  :'simulcast_targets' => :'Array<CreateSimulcastTargetRequest>'
49
73
  }
50
74
  end
51
75
 
76
+ # List of attributes with nullable: true
77
+ def self.openapi_nullable
78
+ Set.new([
79
+ ])
80
+ end
81
+
52
82
  # Initializes the object
53
83
  # @param [Hash] attributes Model attributes in the form of hash
54
84
  def initialize(attributes = {})
55
- return unless attributes.is_a?(Hash)
85
+ if (!attributes.is_a?(Hash))
86
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::CreateLiveStreamRequest` initialize method"
87
+ end
56
88
 
57
- # convert string to symbol for hash key
58
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
89
+ # check to see if the attribute exists and convert string to symbol for hash key
90
+ attributes = attributes.each_with_object({}) { |(k, v), h|
91
+ if (!self.class.attribute_map.key?(k.to_sym))
92
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::CreateLiveStreamRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
93
+ end
94
+ h[k.to_sym] = v
95
+ }
59
96
 
60
- if attributes.has_key?(:'playback_policy')
97
+ if attributes.key?(:'playback_policy')
61
98
  if (value = attributes[:'playback_policy']).is_a?(Array)
62
99
  self.playback_policy = value
63
100
  end
64
101
  end
65
102
 
66
- if attributes.has_key?(:'new_asset_settings')
103
+ if attributes.key?(:'new_asset_settings')
67
104
  self.new_asset_settings = attributes[:'new_asset_settings']
68
105
  end
69
106
 
70
- if attributes.has_key?(:'reconnect_window')
107
+ if attributes.key?(:'reconnect_window')
71
108
  self.reconnect_window = attributes[:'reconnect_window']
72
109
  end
73
110
 
74
- if attributes.has_key?(:'passthrough')
111
+ if attributes.key?(:'passthrough')
75
112
  self.passthrough = attributes[:'passthrough']
76
113
  end
77
114
 
78
- if attributes.has_key?(:'reduced_latency')
115
+ if attributes.key?(:'audio_only')
116
+ self.audio_only = attributes[:'audio_only']
117
+ end
118
+
119
+ if attributes.key?(:'reduced_latency')
79
120
  self.reduced_latency = attributes[:'reduced_latency']
80
121
  end
81
122
 
82
- if attributes.has_key?(:'test')
123
+ if attributes.key?(:'low_latency')
124
+ self.low_latency = attributes[:'low_latency']
125
+ end
126
+
127
+ if attributes.key?(:'test')
83
128
  self.test = attributes[:'test']
84
129
  end
85
130
 
86
- if attributes.has_key?(:'simulcast_targets')
131
+ if attributes.key?(:'simulcast_targets')
87
132
  if (value = attributes[:'simulcast_targets']).is_a?(Array)
88
133
  self.simulcast_targets = value
89
134
  end
@@ -136,7 +181,9 @@ module MuxRuby
136
181
  new_asset_settings == o.new_asset_settings &&
137
182
  reconnect_window == o.reconnect_window &&
138
183
  passthrough == o.passthrough &&
184
+ audio_only == o.audio_only &&
139
185
  reduced_latency == o.reduced_latency &&
186
+ low_latency == o.low_latency &&
140
187
  test == o.test &&
141
188
  simulcast_targets == o.simulcast_targets
142
189
  end
@@ -148,9 +195,9 @@ module MuxRuby
148
195
  end
149
196
 
150
197
  # Calculates hash code according to all attributes.
151
- # @return [Fixnum] Hash code
198
+ # @return [Integer] Hash code
152
199
  def hash
153
- [playback_policy, new_asset_settings, reconnect_window, passthrough, reduced_latency, test, simulcast_targets].hash
200
+ [playback_policy, new_asset_settings, reconnect_window, passthrough, audio_only, reduced_latency, low_latency, test, simulcast_targets].hash
154
201
  end
155
202
 
156
203
  # Builds the object from hash
@@ -166,7 +213,9 @@ module MuxRuby
166
213
  def build_from_hash(attributes)
167
214
  return nil unless attributes.is_a?(Hash)
168
215
  self.class.openapi_types.each_pair do |key, type|
169
- if type =~ /\AArray<(.*)>/i
216
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
217
+ self.send("#{key}=", nil)
218
+ elsif type =~ /\AArray<(.*)>/i
170
219
  # check to ensure the input is an array given that the attribute
171
220
  # is documented as an array but the input is not
172
221
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -174,7 +223,7 @@ module MuxRuby
174
223
  end
175
224
  elsif !attributes[self.class.attribute_map[key]].nil?
176
225
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
177
- end # or else data not found in attributes(hash), not an issue as the data can be optional
226
+ end
178
227
  end
179
228
 
180
229
  self
@@ -186,8 +235,8 @@ module MuxRuby
186
235
  # @return [Object] Deserialized data
187
236
  def _deserialize(type, value)
188
237
  case type.to_sym
189
- when :DateTime
190
- DateTime.parse(value)
238
+ when :Time
239
+ Time.parse(value)
191
240
  when :Date
192
241
  Date.parse(value)
193
242
  when :String
@@ -196,7 +245,7 @@ module MuxRuby
196
245
  value.to_i
197
246
  when :Float
198
247
  value.to_f
199
- when :BOOLEAN
248
+ when :Boolean
200
249
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
201
250
  true
202
251
  else
@@ -217,7 +266,9 @@ module MuxRuby
217
266
  end
218
267
  end
219
268
  else # model
220
- MuxRuby.const_get(type).build_from_hash(value)
269
+ # models (e.g. Pet) or oneOf
270
+ klass = MuxRuby.const_get(type)
271
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
221
272
  end
222
273
  end
223
274
 
@@ -239,7 +290,11 @@ module MuxRuby
239
290
  hash = {}
240
291
  self.class.attribute_map.each_pair do |attr, param|
241
292
  value = self.send(attr)
242
- next if value.nil?
293
+ if value.nil?
294
+ is_nullable = self.class.openapi_nullable.include?(attr)
295
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
296
+ end
297
+
243
298
  hash[param] = _to_hash(value)
244
299
  end
245
300
  hash