mux_ruby 1.8.1 → 2.0.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 (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,16 +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
  class AssetRecordingTimes
10
- # The time at which the recording for the live stream started. The time value is Unix epoch time represented in ISO 8601 format
18
+ # The time at which the recording for the live stream started. The time value is Unix epoch time represented in ISO 8601 format.
11
19
  attr_accessor :started_at
12
20
 
13
- # The duration of the live stream recorded. The time value is in seconds
21
+ # The duration of the live stream recorded. The time value is in seconds.
14
22
  attr_accessor :duration
15
23
 
16
24
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -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
@@ -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 AssetResponse
@@ -16,6 +24,11 @@ module MuxRuby
16
24
  }
17
25
  end
18
26
 
27
+ # Returns all the JSON keys this model knows about
28
+ def self.acceptable_attributes
29
+ attribute_map.values
30
+ end
31
+
19
32
  # Attribute type mapping.
20
33
  def self.openapi_types
21
34
  {
@@ -23,15 +36,28 @@ module MuxRuby
23
36
  }
24
37
  end
25
38
 
39
+ # List of attributes with nullable: true
40
+ def self.openapi_nullable
41
+ Set.new([
42
+ ])
43
+ end
44
+
26
45
  # Initializes the object
27
46
  # @param [Hash] attributes Model attributes in the form of hash
28
47
  def initialize(attributes = {})
29
- return unless attributes.is_a?(Hash)
48
+ if (!attributes.is_a?(Hash))
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AssetResponse` initialize method"
50
+ end
30
51
 
31
- # convert string to symbol for hash key
32
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
52
+ # check to see if the attribute exists and convert string to symbol for hash key
53
+ attributes = attributes.each_with_object({}) { |(k, v), h|
54
+ if (!self.class.attribute_map.key?(k.to_sym))
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AssetResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ end
57
+ h[k.to_sym] = v
58
+ }
33
59
 
34
- if attributes.has_key?(:'data')
60
+ if attributes.key?(:'data')
35
61
  self.data = attributes[:'data']
36
62
  end
37
63
  end
@@ -64,7 +90,7 @@ module MuxRuby
64
90
  end
65
91
 
66
92
  # Calculates hash code according to all attributes.
67
- # @return [Fixnum] Hash code
93
+ # @return [Integer] Hash code
68
94
  def hash
69
95
  [data].hash
70
96
  end
@@ -82,7 +108,9 @@ module MuxRuby
82
108
  def build_from_hash(attributes)
83
109
  return nil unless attributes.is_a?(Hash)
84
110
  self.class.openapi_types.each_pair do |key, type|
85
- if type =~ /\AArray<(.*)>/i
111
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
112
+ self.send("#{key}=", nil)
113
+ elsif type =~ /\AArray<(.*)>/i
86
114
  # check to ensure the input is an array given that the attribute
87
115
  # is documented as an array but the input is not
88
116
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -90,7 +118,7 @@ module MuxRuby
90
118
  end
91
119
  elsif !attributes[self.class.attribute_map[key]].nil?
92
120
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
93
- end # or else data not found in attributes(hash), not an issue as the data can be optional
121
+ end
94
122
  end
95
123
 
96
124
  self
@@ -102,8 +130,8 @@ module MuxRuby
102
130
  # @return [Object] Deserialized data
103
131
  def _deserialize(type, value)
104
132
  case type.to_sym
105
- when :DateTime
106
- DateTime.parse(value)
133
+ when :Time
134
+ Time.parse(value)
107
135
  when :Date
108
136
  Date.parse(value)
109
137
  when :String
@@ -112,7 +140,7 @@ module MuxRuby
112
140
  value.to_i
113
141
  when :Float
114
142
  value.to_f
115
- when :BOOLEAN
143
+ when :Boolean
116
144
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
117
145
  true
118
146
  else
@@ -133,7 +161,9 @@ module MuxRuby
133
161
  end
134
162
  end
135
163
  else # model
136
- MuxRuby.const_get(type).build_from_hash(value)
164
+ # models (e.g. Pet) or oneOf
165
+ klass = MuxRuby.const_get(type)
166
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
137
167
  end
138
168
  end
139
169
 
@@ -155,7 +185,11 @@ module MuxRuby
155
185
  hash = {}
156
186
  self.class.attribute_map.each_pair do |attr, param|
157
187
  value = self.send(attr)
158
- next if value.nil?
188
+ if value.nil?
189
+ is_nullable = self.class.openapi_nullable.include?(attr)
190
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
191
+ end
192
+
159
193
  hash[param] = _to_hash(value)
160
194
  end
161
195
  hash
@@ -1,15 +1,25 @@
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 the current status of any static renditions (mp4s). The object does not exist if no static renditions have been requested. See [Download your videos](https://docs.mux.com/guides/video/download-your-videos) for more information.
9
18
  class AssetStaticRenditions
10
- # * `ready`: All MP4s are downloadable * `preparing`: We are preparing the MP4s * `disabled`: MP4 support was not requested or has been removed * `errored`: There was a Mux internal error that prevented the MP4s from being created
19
+ # Indicates the status of downloadable MP4 versions of this asset.
11
20
  attr_accessor :status
12
21
 
22
+ # Array of file objects.
13
23
  attr_accessor :files
14
24
 
15
25
  class EnumAttributeValidator
@@ -42,6 +52,11 @@ module MuxRuby
42
52
  }
43
53
  end
44
54
 
55
+ # Returns all the JSON keys this model knows about
56
+ def self.acceptable_attributes
57
+ attribute_map.values
58
+ end
59
+
45
60
  # Attribute type mapping.
46
61
  def self.openapi_types
47
62
  {
@@ -50,21 +65,34 @@ module MuxRuby
50
65
  }
51
66
  end
52
67
 
68
+ # List of attributes with nullable: true
69
+ def self.openapi_nullable
70
+ Set.new([
71
+ ])
72
+ end
73
+
53
74
  # Initializes the object
54
75
  # @param [Hash] attributes Model attributes in the form of hash
55
76
  def initialize(attributes = {})
56
- return unless attributes.is_a?(Hash)
77
+ if (!attributes.is_a?(Hash))
78
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AssetStaticRenditions` initialize method"
79
+ end
57
80
 
58
- # convert string to symbol for hash key
59
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
81
+ # check to see if the attribute exists and convert string to symbol for hash key
82
+ attributes = attributes.each_with_object({}) { |(k, v), h|
83
+ if (!self.class.attribute_map.key?(k.to_sym))
84
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AssetStaticRenditions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
85
+ end
86
+ h[k.to_sym] = v
87
+ }
60
88
 
61
- if attributes.has_key?(:'status')
89
+ if attributes.key?(:'status')
62
90
  self.status = attributes[:'status']
63
91
  else
64
92
  self.status = 'disabled'
65
93
  end
66
94
 
67
- if attributes.has_key?(:'files')
95
+ if attributes.key?(:'files')
68
96
  if (value = attributes[:'files']).is_a?(Array)
69
97
  self.files = value
70
98
  end
@@ -81,7 +109,7 @@ module MuxRuby
81
109
  # Check to see if the all the properties in the model are valid
82
110
  # @return true if the model is valid
83
111
  def valid?
84
- status_validator = EnumAttributeValidator.new('String', ['ready', 'preparing', 'disabled', 'errored'])
112
+ status_validator = EnumAttributeValidator.new('String', ["ready", "preparing", "disabled", "errored"])
85
113
  return false unless status_validator.valid?(@status)
86
114
  true
87
115
  end
@@ -89,9 +117,9 @@ module MuxRuby
89
117
  # Custom attribute writer method checking allowed values (enum).
90
118
  # @param [Object] status Object to be assigned
91
119
  def status=(status)
92
- validator = EnumAttributeValidator.new('String', ['ready', 'preparing', 'disabled', 'errored'])
120
+ validator = EnumAttributeValidator.new('String', ["ready", "preparing", "disabled", "errored"])
93
121
  unless validator.valid?(status)
94
- fail ArgumentError, 'invalid value for "status", must be one of #{validator.allowable_values}.'
122
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
95
123
  end
96
124
  @status = status
97
125
  end
@@ -112,7 +140,7 @@ module MuxRuby
112
140
  end
113
141
 
114
142
  # Calculates hash code according to all attributes.
115
- # @return [Fixnum] Hash code
143
+ # @return [Integer] Hash code
116
144
  def hash
117
145
  [status, files].hash
118
146
  end
@@ -130,7 +158,9 @@ module MuxRuby
130
158
  def build_from_hash(attributes)
131
159
  return nil unless attributes.is_a?(Hash)
132
160
  self.class.openapi_types.each_pair do |key, type|
133
- if type =~ /\AArray<(.*)>/i
161
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
162
+ self.send("#{key}=", nil)
163
+ elsif type =~ /\AArray<(.*)>/i
134
164
  # check to ensure the input is an array given that the attribute
135
165
  # is documented as an array but the input is not
136
166
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -138,7 +168,7 @@ module MuxRuby
138
168
  end
139
169
  elsif !attributes[self.class.attribute_map[key]].nil?
140
170
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
141
- end # or else data not found in attributes(hash), not an issue as the data can be optional
171
+ end
142
172
  end
143
173
 
144
174
  self
@@ -150,8 +180,8 @@ module MuxRuby
150
180
  # @return [Object] Deserialized data
151
181
  def _deserialize(type, value)
152
182
  case type.to_sym
153
- when :DateTime
154
- DateTime.parse(value)
183
+ when :Time
184
+ Time.parse(value)
155
185
  when :Date
156
186
  Date.parse(value)
157
187
  when :String
@@ -160,7 +190,7 @@ module MuxRuby
160
190
  value.to_i
161
191
  when :Float
162
192
  value.to_f
163
- when :BOOLEAN
193
+ when :Boolean
164
194
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
165
195
  true
166
196
  else
@@ -181,7 +211,9 @@ module MuxRuby
181
211
  end
182
212
  end
183
213
  else # model
184
- MuxRuby.const_get(type).build_from_hash(value)
214
+ # models (e.g. Pet) or oneOf
215
+ klass = MuxRuby.const_get(type)
216
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
185
217
  end
186
218
  end
187
219
 
@@ -203,7 +235,11 @@ module MuxRuby
203
235
  hash = {}
204
236
  self.class.attribute_map.each_pair do |attr, param|
205
237
  value = self.send(attr)
206
- next if value.nil?
238
+ if value.nil?
239
+ is_nullable = self.class.openapi_nullable.include?(attr)
240
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
241
+ end
242
+
207
243
  hash[param] = _to_hash(value)
208
244
  end
209
245
  hash