mux_ruby 1.9.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +26 -37
  4. data/README.md +37 -13
  5. data/docs/AbridgedVideoView.md +33 -13
  6. data/docs/Asset.md +59 -26
  7. data/docs/AssetErrors.md +15 -4
  8. data/docs/AssetMaster.md +15 -4
  9. data/docs/AssetNonStandardInputReasons.md +29 -11
  10. data/docs/AssetRecordingTimes.md +15 -4
  11. data/docs/AssetResponse.md +13 -3
  12. data/docs/AssetStaticRenditions.md +15 -4
  13. data/docs/AssetStaticRenditionsFiles.md +23 -8
  14. data/docs/AssetsApi.md +396 -163
  15. data/docs/BreakdownValue.md +21 -7
  16. data/docs/CreateAssetRequest.md +27 -10
  17. data/docs/CreateLiveStreamRequest.md +29 -9
  18. data/docs/CreatePlaybackIDRequest.md +13 -3
  19. data/docs/CreatePlaybackIDResponse.md +13 -3
  20. data/docs/CreateSimulcastTargetRequest.md +17 -5
  21. data/docs/CreateTrackRequest.md +25 -9
  22. data/docs/CreateTrackResponse.md +13 -3
  23. data/docs/CreateUploadRequest.md +19 -6
  24. data/docs/DeliveryReport.md +27 -9
  25. data/docs/DeliveryUsageApi.md +41 -23
  26. data/docs/DimensionValue.md +15 -4
  27. data/docs/DimensionsApi.md +72 -34
  28. data/docs/DirectUploadsApi.md +131 -56
  29. data/docs/DisableLiveStreamResponse.md +13 -3
  30. data/docs/EnableLiveStreamResponse.md +13 -3
  31. data/docs/Error.md +27 -10
  32. data/docs/ErrorsApi.md +38 -20
  33. data/docs/ExportDate.md +20 -0
  34. data/docs/ExportFile.md +22 -0
  35. data/docs/ExportsApi.md +99 -12
  36. data/docs/FilterValue.md +15 -4
  37. data/docs/FiltersApi.md +71 -33
  38. data/docs/GetAssetInputInfoResponse.md +13 -3
  39. data/docs/GetAssetOrLiveStreamIdResponse.md +13 -3
  40. data/docs/GetAssetOrLiveStreamIdResponseData.md +17 -5
  41. data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +15 -4
  42. data/docs/GetAssetPlaybackIDResponse.md +13 -3
  43. data/docs/GetMetricTimeseriesDataResponse.md +17 -5
  44. data/docs/GetOverallValuesResponse.md +17 -5
  45. data/docs/GetRealTimeBreakdownResponse.md +17 -5
  46. data/docs/GetRealTimeHistogramTimeseriesResponse.md +19 -6
  47. data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +13 -3
  48. data/docs/GetRealTimeTimeseriesResponse.md +17 -5
  49. data/docs/Incident.md +53 -23
  50. data/docs/IncidentBreakdown.md +17 -5
  51. data/docs/IncidentNotification.md +17 -5
  52. data/docs/IncidentNotificationRule.md +21 -7
  53. data/docs/IncidentResponse.md +15 -4
  54. data/docs/IncidentsApi.md +118 -62
  55. data/docs/InputFile.md +15 -4
  56. data/docs/InputInfo.md +15 -4
  57. data/docs/InputSettings.md +31 -12
  58. data/docs/InputSettingsOverlaySettings.md +25 -9
  59. data/docs/InputTrack.md +29 -11
  60. data/docs/Insight.md +23 -8
  61. data/docs/ListAllMetricValuesResponse.md +17 -5
  62. data/docs/ListAssetsResponse.md +13 -3
  63. data/docs/ListBreakdownValuesResponse.md +17 -5
  64. data/docs/ListDeliveryUsageResponse.md +19 -6
  65. data/docs/ListDimensionValuesResponse.md +17 -5
  66. data/docs/ListDimensionsResponse.md +17 -5
  67. data/docs/ListErrorsResponse.md +17 -5
  68. data/docs/ListExportsResponse.md +17 -5
  69. data/docs/ListFilterValuesResponse.md +17 -5
  70. data/docs/ListFiltersResponse.md +17 -5
  71. data/docs/ListFiltersResponseData.md +15 -4
  72. data/docs/ListIncidentsResponse.md +17 -5
  73. data/docs/ListInsightsResponse.md +17 -5
  74. data/docs/ListLiveStreamsResponse.md +13 -3
  75. data/docs/ListRealTimeDimensionsResponse.md +17 -5
  76. data/docs/ListRealTimeDimensionsResponseData.md +15 -4
  77. data/docs/ListRealTimeMetricsResponse.md +17 -5
  78. data/docs/ListRelatedIncidentsResponse.md +17 -5
  79. data/docs/ListSigningKeysResponse.md +13 -3
  80. data/docs/ListUploadsResponse.md +13 -3
  81. data/docs/ListVideoViewExportsResponse.md +22 -0
  82. data/docs/ListVideoViewsResponse.md +17 -5
  83. data/docs/LiveStream.md +41 -15
  84. data/docs/LiveStreamResponse.md +13 -3
  85. data/docs/LiveStreamsApi.md +418 -170
  86. data/docs/Metric.md +21 -7
  87. data/docs/MetricsApi.md +211 -117
  88. data/docs/NotificationRule.md +17 -5
  89. data/docs/OverallValues.md +19 -6
  90. data/docs/PlaybackID.md +15 -4
  91. data/docs/PlaybackIDApi.md +35 -17
  92. data/docs/PlaybackPolicy.md +10 -2
  93. data/docs/RealTimeApi.md +177 -81
  94. data/docs/RealTimeBreakdownValue.md +21 -7
  95. data/docs/RealTimeHistogramTimeseriesBucket.md +15 -4
  96. data/docs/RealTimeHistogramTimeseriesBucketValues.md +15 -4
  97. data/docs/RealTimeHistogramTimeseriesDatapoint.md +25 -9
  98. data/docs/RealTimeTimeseriesDatapoint.md +17 -5
  99. data/docs/Score.md +23 -8
  100. data/docs/SignalLiveStreamCompleteResponse.md +13 -3
  101. data/docs/SigningKey.md +17 -5
  102. data/docs/SigningKeyResponse.md +13 -3
  103. data/docs/SimulcastTarget.md +21 -7
  104. data/docs/SimulcastTargetResponse.md +13 -3
  105. data/docs/Track.md +37 -15
  106. data/docs/URLSigningKeysApi.md +130 -54
  107. data/docs/UpdateAssetMP4SupportRequest.md +13 -3
  108. data/docs/UpdateAssetMasterAccessRequest.md +13 -3
  109. data/docs/Upload.md +29 -11
  110. data/docs/UploadError.md +15 -4
  111. data/docs/UploadResponse.md +13 -3
  112. data/docs/VideoView.md +251 -114
  113. data/docs/VideoViewEvent.md +19 -6
  114. data/docs/VideoViewResponse.md +15 -4
  115. data/docs/VideoViewsApi.md +78 -41
  116. data/gen/.gitignore +7 -0
  117. data/gen/Makefile +31 -0
  118. data/gen/generator-config.json +11 -0
  119. data/gen/openapitools.json +7 -0
  120. data/gen/package.json +17 -0
  121. data/gen/templates/Gemfile.mustache +11 -0
  122. data/gen/templates/README.mustache +158 -0
  123. data/gen/templates/Rakefile.mustache +10 -0
  124. data/gen/templates/api.mustache +206 -0
  125. data/gen/templates/api_client.mustache +264 -0
  126. data/gen/templates/api_client_faraday_partial.mustache +138 -0
  127. data/gen/templates/api_client_spec.mustache +220 -0
  128. data/gen/templates/api_client_typhoeus_partial.mustache +183 -0
  129. data/gen/templates/api_doc.mustache +118 -0
  130. data/gen/templates/api_error.mustache +67 -0
  131. data/gen/templates/api_info.mustache +12 -0
  132. data/gen/templates/api_test.mustache +47 -0
  133. data/gen/templates/base_object.mustache +120 -0
  134. data/gen/templates/configuration.mustache +349 -0
  135. data/gen/templates/configuration_spec.mustache +34 -0
  136. data/gen/templates/configuration_tls_faraday_partial.mustache +29 -0
  137. data/gen/templates/configuration_tls_typhoeus_partial.mustache +34 -0
  138. data/gen/templates/gem.mustache +40 -0
  139. data/gen/templates/gemspec.mustache +35 -0
  140. data/gen/templates/gitignore.mustache +39 -0
  141. data/gen/templates/model.mustache +26 -0
  142. data/gen/templates/model_doc.mustache +12 -0
  143. data/gen/templates/model_test.mustache +77 -0
  144. data/gen/templates/partial_model_enum_class.mustache +20 -0
  145. data/gen/templates/partial_model_generic.mustache +371 -0
  146. data/gen/templates/partial_model_generic_doc.mustache +28 -0
  147. data/gen/templates/partial_oneof_module.mustache +137 -0
  148. data/gen/templates/partial_oneof_module_doc.mustache +92 -0
  149. data/gen/templates/rspec.mustache +2 -0
  150. data/gen/templates/rubocop.mustache +148 -0
  151. data/gen/templates/spec_helper.mustache +103 -0
  152. data/gen/templates/version.mustache +7 -0
  153. data/gen/yarn.lock +1878 -0
  154. data/lib/mux_ruby/api/assets_api.rb +293 -156
  155. data/lib/mux_ruby/api/delivery_usage_api.rb +32 -16
  156. data/lib/mux_ruby/api/dimensions_api.rb +55 -29
  157. data/lib/mux_ruby/api/direct_uploads_api.rb +90 -44
  158. data/lib/mux_ruby/api/errors_api.rb +34 -18
  159. data/lib/mux_ruby/api/exports_api.rb +86 -13
  160. data/lib/mux_ruby/api/filters_api.rb +53 -27
  161. data/lib/mux_ruby/api/incidents_api.rb +94 -52
  162. data/lib/mux_ruby/api/live_streams_api.rb +299 -157
  163. data/lib/mux_ruby/api/metrics_api.rb +193 -122
  164. data/lib/mux_ruby/api/playback_id_api.rb +33 -17
  165. data/lib/mux_ruby/api/real_time_api.rb +149 -87
  166. data/lib/mux_ruby/api/url_signing_keys_api.rb +95 -48
  167. data/lib/mux_ruby/api/video_views_api.rb +60 -33
  168. data/lib/mux_ruby/api_client.rb +94 -79
  169. data/lib/mux_ruby/api_error.rb +35 -7
  170. data/lib/mux_ruby/configuration.rb +50 -14
  171. data/lib/mux_ruby/models/abridged_video_view.rb +58 -24
  172. data/lib/mux_ruby/models/asset.rb +100 -63
  173. data/lib/mux_ruby/models/asset_errors.rb +50 -15
  174. data/lib/mux_ruby/models/asset_master.rb +52 -17
  175. data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +70 -35
  176. data/lib/mux_ruby/models/asset_recording_times.rb +50 -16
  177. data/lib/mux_ruby/models/asset_response.rb +48 -14
  178. data/lib/mux_ruby/models/asset_static_renditions.rb +53 -17
  179. data/lib/mux_ruby/models/asset_static_renditions_files.rb +58 -23
  180. data/lib/mux_ruby/models/breakdown_value.rb +52 -18
  181. data/lib/mux_ruby/models/create_asset_request.rb +64 -30
  182. data/lib/mux_ruby/models/create_live_stream_request.rb +78 -23
  183. data/lib/mux_ruby/models/create_playback_id_request.rb +48 -14
  184. data/lib/mux_ruby/models/create_playback_id_response.rb +48 -14
  185. data/lib/mux_ruby/models/create_simulcast_target_request.rb +50 -16
  186. data/lib/mux_ruby/models/create_track_request.rb +60 -26
  187. data/lib/mux_ruby/models/create_track_response.rb +48 -14
  188. data/lib/mux_ruby/models/create_upload_request.rb +52 -18
  189. data/lib/mux_ruby/models/delivery_report.rb +106 -21
  190. data/lib/mux_ruby/models/dimension_value.rb +49 -15
  191. data/lib/mux_ruby/models/disable_live_stream_response.rb +48 -14
  192. data/lib/mux_ruby/models/enable_live_stream_response.rb +48 -14
  193. data/lib/mux_ruby/models/error.rb +63 -21
  194. data/lib/mux_ruby/models/export_date.rb +229 -0
  195. data/lib/mux_ruby/models/export_file.rb +236 -0
  196. data/lib/mux_ruby/models/filter_value.rb +49 -15
  197. data/lib/mux_ruby/models/get_asset_input_info_response.rb +48 -14
  198. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +48 -14
  199. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +50 -16
  200. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +51 -17
  201. data/lib/mux_ruby/models/get_asset_playback_id_response.rb +48 -14
  202. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +50 -16
  203. data/lib/mux_ruby/models/get_overall_values_response.rb +50 -16
  204. data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +50 -16
  205. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +51 -17
  206. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +48 -14
  207. data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +50 -16
  208. data/lib/mux_ruby/models/incident.rb +68 -34
  209. data/lib/mux_ruby/models/incident_breakdown.rb +50 -16
  210. data/lib/mux_ruby/models/incident_notification.rb +50 -16
  211. data/lib/mux_ruby/models/incident_notification_rule.rb +52 -18
  212. data/lib/mux_ruby/models/incident_response.rb +49 -15
  213. data/lib/mux_ruby/models/input_file.rb +49 -15
  214. data/lib/mux_ruby/models/input_info.rb +49 -15
  215. data/lib/mux_ruby/models/input_settings.rb +64 -30
  216. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +58 -24
  217. data/lib/mux_ruby/models/input_track.rb +56 -22
  218. data/lib/mux_ruby/models/insight.rb +53 -19
  219. data/lib/mux_ruby/models/list_all_metric_values_response.rb +50 -16
  220. data/lib/mux_ruby/models/list_assets_response.rb +48 -14
  221. data/lib/mux_ruby/models/list_breakdown_values_response.rb +50 -16
  222. data/lib/mux_ruby/models/list_delivery_usage_response.rb +51 -17
  223. data/lib/mux_ruby/models/list_dimension_values_response.rb +50 -16
  224. data/lib/mux_ruby/models/list_dimensions_response.rb +50 -16
  225. data/lib/mux_ruby/models/list_errors_response.rb +50 -16
  226. data/lib/mux_ruby/models/list_exports_response.rb +50 -16
  227. data/lib/mux_ruby/models/list_filter_values_response.rb +50 -16
  228. data/lib/mux_ruby/models/list_filters_response.rb +50 -16
  229. data/lib/mux_ruby/models/list_filters_response_data.rb +49 -15
  230. data/lib/mux_ruby/models/list_incidents_response.rb +50 -16
  231. data/lib/mux_ruby/models/list_insights_response.rb +50 -16
  232. data/lib/mux_ruby/models/list_live_streams_response.rb +48 -14
  233. data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +50 -16
  234. data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +49 -15
  235. data/lib/mux_ruby/models/list_real_time_metrics_response.rb +50 -16
  236. data/lib/mux_ruby/models/list_related_incidents_response.rb +50 -16
  237. data/lib/mux_ruby/models/list_signing_keys_response.rb +48 -14
  238. data/lib/mux_ruby/models/list_uploads_response.rb +48 -14
  239. data/lib/mux_ruby/models/list_video_view_exports_response.rb +240 -0
  240. data/lib/mux_ruby/models/list_video_views_response.rb +50 -16
  241. data/lib/mux_ruby/models/live_stream.rb +131 -29
  242. data/lib/mux_ruby/models/live_stream_response.rb +48 -14
  243. data/lib/mux_ruby/models/metric.rb +52 -18
  244. data/lib/mux_ruby/models/notification_rule.rb +50 -16
  245. data/lib/mux_ruby/models/overall_values.rb +51 -17
  246. data/lib/mux_ruby/models/playback_id.rb +49 -15
  247. data/lib/mux_ruby/models/playback_policy.rb +12 -6
  248. data/lib/mux_ruby/models/real_time_breakdown_value.rb +52 -18
  249. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +50 -16
  250. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +49 -15
  251. data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +54 -20
  252. data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +50 -16
  253. data/lib/mux_ruby/models/score.rb +53 -19
  254. data/lib/mux_ruby/models/signal_live_stream_complete_response.rb +48 -14
  255. data/lib/mux_ruby/models/signing_key.rb +53 -16
  256. data/lib/mux_ruby/models/signing_key_response.rb +48 -14
  257. data/lib/mux_ruby/models/simulcast_target.rb +54 -20
  258. data/lib/mux_ruby/models/simulcast_target_response.rb +48 -14
  259. data/lib/mux_ruby/models/track.rb +67 -33
  260. data/lib/mux_ruby/models/update_asset_master_access_request.rb +50 -16
  261. data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +50 -16
  262. data/lib/mux_ruby/models/upload.rb +61 -25
  263. data/lib/mux_ruby/models/upload_error.rb +51 -15
  264. data/lib/mux_ruby/models/upload_response.rb +48 -14
  265. data/lib/mux_ruby/models/video_view.rb +242 -136
  266. data/lib/mux_ruby/models/video_view_event.rb +51 -17
  267. data/lib/mux_ruby/models/video_view_response.rb +49 -15
  268. data/lib/mux_ruby/version.rb +10 -3
  269. data/lib/mux_ruby.rb +12 -2
  270. data/mux_ruby.gemspec +15 -17
  271. data/spec/api_client_spec.rb +10 -3
  272. data/spec/configuration_spec.rb +9 -2
  273. data/spec/models/export_date_spec.rb +40 -0
  274. data/spec/models/export_file_spec.rb +46 -0
  275. data/spec/models/list_video_view_exports_response_spec.rb +46 -0
  276. data/spec/spec_helper.rb +9 -2
  277. metadata +149 -240
@@ -1,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
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,7 +117,7 @@ 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
122
  fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
95
123
  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
@@ -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,7 +149,7 @@ 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
154
  fail ArgumentError, "invalid value for \"name\", must be one of #{validator.allowable_values}."
128
155
  end
@@ -132,7 +159,7 @@ 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
164
  fail ArgumentError, "invalid value for \"ext\", must be one of #{validator.allowable_values}."
138
165
  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