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 UpdateAssetMP4SupportRequest
@@ -39,6 +47,11 @@ module MuxRuby
39
47
  }
40
48
  end
41
49
 
50
+ # Returns all the JSON keys this model knows about
51
+ def self.acceptable_attributes
52
+ attribute_map.values
53
+ end
54
+
42
55
  # Attribute type mapping.
43
56
  def self.openapi_types
44
57
  {
@@ -46,15 +59,28 @@ module MuxRuby
46
59
  }
47
60
  end
48
61
 
62
+ # List of attributes with nullable: true
63
+ def self.openapi_nullable
64
+ Set.new([
65
+ ])
66
+ end
67
+
49
68
  # Initializes the object
50
69
  # @param [Hash] attributes Model attributes in the form of hash
51
70
  def initialize(attributes = {})
52
- return unless attributes.is_a?(Hash)
71
+ if (!attributes.is_a?(Hash))
72
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::UpdateAssetMP4SupportRequest` initialize method"
73
+ end
53
74
 
54
- # convert string to symbol for hash key
55
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
75
+ # check to see if the attribute exists and convert string to symbol for hash key
76
+ attributes = attributes.each_with_object({}) { |(k, v), h|
77
+ if (!self.class.attribute_map.key?(k.to_sym))
78
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::UpdateAssetMP4SupportRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
79
+ end
80
+ h[k.to_sym] = v
81
+ }
56
82
 
57
- if attributes.has_key?(:'mp4_support')
83
+ if attributes.key?(:'mp4_support')
58
84
  self.mp4_support = attributes[:'mp4_support']
59
85
  end
60
86
  end
@@ -69,7 +95,7 @@ module MuxRuby
69
95
  # Check to see if the all the properties in the model are valid
70
96
  # @return true if the model is valid
71
97
  def valid?
72
- mp4_support_validator = EnumAttributeValidator.new('String', ['standard', 'none'])
98
+ mp4_support_validator = EnumAttributeValidator.new('String', ["standard", "none"])
73
99
  return false unless mp4_support_validator.valid?(@mp4_support)
74
100
  true
75
101
  end
@@ -77,7 +103,7 @@ module MuxRuby
77
103
  # Custom attribute writer method checking allowed values (enum).
78
104
  # @param [Object] mp4_support Object to be assigned
79
105
  def mp4_support=(mp4_support)
80
- validator = EnumAttributeValidator.new('String', ['standard', 'none'])
106
+ validator = EnumAttributeValidator.new('String', ["standard", "none"])
81
107
  unless validator.valid?(mp4_support)
82
108
  fail ArgumentError, "invalid value for \"mp4_support\", must be one of #{validator.allowable_values}."
83
109
  end
@@ -99,7 +125,7 @@ module MuxRuby
99
125
  end
100
126
 
101
127
  # Calculates hash code according to all attributes.
102
- # @return [Fixnum] Hash code
128
+ # @return [Integer] Hash code
103
129
  def hash
104
130
  [mp4_support].hash
105
131
  end
@@ -117,7 +143,9 @@ module MuxRuby
117
143
  def build_from_hash(attributes)
118
144
  return nil unless attributes.is_a?(Hash)
119
145
  self.class.openapi_types.each_pair do |key, type|
120
- if type =~ /\AArray<(.*)>/i
146
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
147
+ self.send("#{key}=", nil)
148
+ elsif type =~ /\AArray<(.*)>/i
121
149
  # check to ensure the input is an array given that the attribute
122
150
  # is documented as an array but the input is not
123
151
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -125,7 +153,7 @@ module MuxRuby
125
153
  end
126
154
  elsif !attributes[self.class.attribute_map[key]].nil?
127
155
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
128
- end # or else data not found in attributes(hash), not an issue as the data can be optional
156
+ end
129
157
  end
130
158
 
131
159
  self
@@ -137,8 +165,8 @@ module MuxRuby
137
165
  # @return [Object] Deserialized data
138
166
  def _deserialize(type, value)
139
167
  case type.to_sym
140
- when :DateTime
141
- DateTime.parse(value)
168
+ when :Time
169
+ Time.parse(value)
142
170
  when :Date
143
171
  Date.parse(value)
144
172
  when :String
@@ -147,7 +175,7 @@ module MuxRuby
147
175
  value.to_i
148
176
  when :Float
149
177
  value.to_f
150
- when :BOOLEAN
178
+ when :Boolean
151
179
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
152
180
  true
153
181
  else
@@ -168,7 +196,9 @@ module MuxRuby
168
196
  end
169
197
  end
170
198
  else # model
171
- MuxRuby.const_get(type).build_from_hash(value)
199
+ # models (e.g. Pet) or oneOf
200
+ klass = MuxRuby.const_get(type)
201
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
172
202
  end
173
203
  end
174
204
 
@@ -190,7 +220,11 @@ module MuxRuby
190
220
  hash = {}
191
221
  self.class.attribute_map.each_pair do |attr, param|
192
222
  value = self.send(attr)
193
- next if value.nil?
223
+ if value.nil?
224
+ is_nullable = self.class.openapi_nullable.include?(attr)
225
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
226
+ end
227
+
194
228
  hash[param] = _to_hash(value)
195
229
  end
196
230
  hash
@@ -1,12 +1,21 @@
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 Upload
18
+ # Unique identifier for the Direct Upload.
10
19
  attr_accessor :id
11
20
 
12
21
  # Max time in seconds for the signed upload URL to be valid. If a successful upload has not occurred before the timeout limit, the direct upload is marked `timed_out`
@@ -27,6 +36,7 @@ module MuxRuby
27
36
  # The URL to upload the associated source media to.
28
37
  attr_accessor :url
29
38
 
39
+ # Indicates if this is a test Direct Upload, in which case the Asset that gets created will be a `test` Asset.
30
40
  attr_accessor :test
31
41
 
32
42
  class EnumAttributeValidator
@@ -66,6 +76,11 @@ module MuxRuby
66
76
  }
67
77
  end
68
78
 
79
+ # Returns all the JSON keys this model knows about
80
+ def self.acceptable_attributes
81
+ attribute_map.values
82
+ end
83
+
69
84
  # Attribute type mapping.
70
85
  def self.openapi_types
71
86
  {
@@ -77,53 +92,66 @@ module MuxRuby
77
92
  :'error' => :'UploadError',
78
93
  :'cors_origin' => :'String',
79
94
  :'url' => :'String',
80
- :'test' => :'BOOLEAN'
95
+ :'test' => :'Boolean'
81
96
  }
82
97
  end
83
98
 
99
+ # List of attributes with nullable: true
100
+ def self.openapi_nullable
101
+ Set.new([
102
+ ])
103
+ end
104
+
84
105
  # Initializes the object
85
106
  # @param [Hash] attributes Model attributes in the form of hash
86
107
  def initialize(attributes = {})
87
- return unless attributes.is_a?(Hash)
108
+ if (!attributes.is_a?(Hash))
109
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::Upload` initialize method"
110
+ end
88
111
 
89
- # convert string to symbol for hash key
90
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
112
+ # check to see if the attribute exists and convert string to symbol for hash key
113
+ attributes = attributes.each_with_object({}) { |(k, v), h|
114
+ if (!self.class.attribute_map.key?(k.to_sym))
115
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::Upload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
116
+ end
117
+ h[k.to_sym] = v
118
+ }
91
119
 
92
- if attributes.has_key?(:'id')
120
+ if attributes.key?(:'id')
93
121
  self.id = attributes[:'id']
94
122
  end
95
123
 
96
- if attributes.has_key?(:'timeout')
124
+ if attributes.key?(:'timeout')
97
125
  self.timeout = attributes[:'timeout']
98
126
  else
99
127
  self.timeout = 3600
100
128
  end
101
129
 
102
- if attributes.has_key?(:'status')
130
+ if attributes.key?(:'status')
103
131
  self.status = attributes[:'status']
104
132
  end
105
133
 
106
- if attributes.has_key?(:'new_asset_settings')
134
+ if attributes.key?(:'new_asset_settings')
107
135
  self.new_asset_settings = attributes[:'new_asset_settings']
108
136
  end
109
137
 
110
- if attributes.has_key?(:'asset_id')
138
+ if attributes.key?(:'asset_id')
111
139
  self.asset_id = attributes[:'asset_id']
112
140
  end
113
141
 
114
- if attributes.has_key?(:'error')
142
+ if attributes.key?(:'error')
115
143
  self.error = attributes[:'error']
116
144
  end
117
145
 
118
- if attributes.has_key?(:'cors_origin')
146
+ if attributes.key?(:'cors_origin')
119
147
  self.cors_origin = attributes[:'cors_origin']
120
148
  end
121
149
 
122
- if attributes.has_key?(:'url')
150
+ if attributes.key?(:'url')
123
151
  self.url = attributes[:'url']
124
152
  end
125
153
 
126
- if attributes.has_key?(:'test')
154
+ if attributes.key?(:'test')
127
155
  self.test = attributes[:'test']
128
156
  end
129
157
  end
@@ -148,7 +176,7 @@ module MuxRuby
148
176
  def valid?
149
177
  return false if !@timeout.nil? && @timeout > 604800
150
178
  return false if !@timeout.nil? && @timeout < 60
151
- status_validator = EnumAttributeValidator.new('String', ['waiting', 'asset_created', 'errored', 'cancelled', 'timed_out'])
179
+ status_validator = EnumAttributeValidator.new('String', ["waiting", "asset_created", "errored", "cancelled", "timed_out"])
152
180
  return false unless status_validator.valid?(@status)
153
181
  true
154
182
  end
@@ -170,7 +198,7 @@ module MuxRuby
170
198
  # Custom attribute writer method checking allowed values (enum).
171
199
  # @param [Object] status Object to be assigned
172
200
  def status=(status)
173
- validator = EnumAttributeValidator.new('String', ['waiting', 'asset_created', 'errored', 'cancelled', 'timed_out'])
201
+ validator = EnumAttributeValidator.new('String', ["waiting", "asset_created", "errored", "cancelled", "timed_out"])
174
202
  unless validator.valid?(status)
175
203
  fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
176
204
  end
@@ -200,7 +228,7 @@ module MuxRuby
200
228
  end
201
229
 
202
230
  # Calculates hash code according to all attributes.
203
- # @return [Fixnum] Hash code
231
+ # @return [Integer] Hash code
204
232
  def hash
205
233
  [id, timeout, status, new_asset_settings, asset_id, error, cors_origin, url, test].hash
206
234
  end
@@ -218,7 +246,9 @@ module MuxRuby
218
246
  def build_from_hash(attributes)
219
247
  return nil unless attributes.is_a?(Hash)
220
248
  self.class.openapi_types.each_pair do |key, type|
221
- if type =~ /\AArray<(.*)>/i
249
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
250
+ self.send("#{key}=", nil)
251
+ elsif type =~ /\AArray<(.*)>/i
222
252
  # check to ensure the input is an array given that the attribute
223
253
  # is documented as an array but the input is not
224
254
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -226,7 +256,7 @@ module MuxRuby
226
256
  end
227
257
  elsif !attributes[self.class.attribute_map[key]].nil?
228
258
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
229
- end # or else data not found in attributes(hash), not an issue as the data can be optional
259
+ end
230
260
  end
231
261
 
232
262
  self
@@ -238,8 +268,8 @@ module MuxRuby
238
268
  # @return [Object] Deserialized data
239
269
  def _deserialize(type, value)
240
270
  case type.to_sym
241
- when :DateTime
242
- DateTime.parse(value)
271
+ when :Time
272
+ Time.parse(value)
243
273
  when :Date
244
274
  Date.parse(value)
245
275
  when :String
@@ -248,7 +278,7 @@ module MuxRuby
248
278
  value.to_i
249
279
  when :Float
250
280
  value.to_f
251
- when :BOOLEAN
281
+ when :Boolean
252
282
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
253
283
  true
254
284
  else
@@ -269,7 +299,9 @@ module MuxRuby
269
299
  end
270
300
  end
271
301
  else # model
272
- MuxRuby.const_get(type).build_from_hash(value)
302
+ # models (e.g. Pet) or oneOf
303
+ klass = MuxRuby.const_get(type)
304
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
273
305
  end
274
306
  end
275
307
 
@@ -291,7 +323,11 @@ module MuxRuby
291
323
  hash = {}
292
324
  self.class.attribute_map.each_pair do |attr, param|
293
325
  value = self.send(attr)
294
- next if value.nil?
326
+ if value.nil?
327
+ is_nullable = self.class.openapi_nullable.include?(attr)
328
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
329
+ end
330
+
295
331
  hash[param] = _to_hash(value)
296
332
  end
297
333
  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
9
17
  # Only set if an error occurred during asset creation.
10
18
  class UploadError
19
+ # Label for the specific error
11
20
  attr_accessor :type
12
21
 
22
+ # Human readable error message
13
23
  attr_accessor :message
14
24
 
15
25
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -20,6 +30,11 @@ module MuxRuby
20
30
  }
21
31
  end
22
32
 
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
23
38
  # Attribute type mapping.
24
39
  def self.openapi_types
25
40
  {
@@ -28,19 +43,32 @@ module MuxRuby
28
43
  }
29
44
  end
30
45
 
46
+ # List of attributes with nullable: true
47
+ def self.openapi_nullable
48
+ Set.new([
49
+ ])
50
+ end
51
+
31
52
  # Initializes the object
32
53
  # @param [Hash] attributes Model attributes in the form of hash
33
54
  def initialize(attributes = {})
34
- return unless attributes.is_a?(Hash)
55
+ if (!attributes.is_a?(Hash))
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::UploadError` initialize method"
57
+ end
35
58
 
36
- # convert string to symbol for hash key
37
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::UploadError`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
63
+ end
64
+ h[k.to_sym] = v
65
+ }
38
66
 
39
- if attributes.has_key?(:'type')
67
+ if attributes.key?(:'type')
40
68
  self.type = attributes[:'type']
41
69
  end
42
70
 
43
- if attributes.has_key?(:'message')
71
+ if attributes.key?(:'message')
44
72
  self.message = attributes[:'message']
45
73
  end
46
74
  end
@@ -74,7 +102,7 @@ module MuxRuby
74
102
  end
75
103
 
76
104
  # Calculates hash code according to all attributes.
77
- # @return [Fixnum] Hash code
105
+ # @return [Integer] Hash code
78
106
  def hash
79
107
  [type, message].hash
80
108
  end
@@ -92,7 +120,9 @@ module MuxRuby
92
120
  def build_from_hash(attributes)
93
121
  return nil unless attributes.is_a?(Hash)
94
122
  self.class.openapi_types.each_pair do |key, type|
95
- if type =~ /\AArray<(.*)>/i
123
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
124
+ self.send("#{key}=", nil)
125
+ elsif type =~ /\AArray<(.*)>/i
96
126
  # check to ensure the input is an array given that the attribute
97
127
  # is documented as an array but the input is not
98
128
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -100,7 +130,7 @@ module MuxRuby
100
130
  end
101
131
  elsif !attributes[self.class.attribute_map[key]].nil?
102
132
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
103
- end # or else data not found in attributes(hash), not an issue as the data can be optional
133
+ end
104
134
  end
105
135
 
106
136
  self
@@ -112,8 +142,8 @@ module MuxRuby
112
142
  # @return [Object] Deserialized data
113
143
  def _deserialize(type, value)
114
144
  case type.to_sym
115
- when :DateTime
116
- DateTime.parse(value)
145
+ when :Time
146
+ Time.parse(value)
117
147
  when :Date
118
148
  Date.parse(value)
119
149
  when :String
@@ -122,7 +152,7 @@ module MuxRuby
122
152
  value.to_i
123
153
  when :Float
124
154
  value.to_f
125
- when :BOOLEAN
155
+ when :Boolean
126
156
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
127
157
  true
128
158
  else
@@ -143,7 +173,9 @@ module MuxRuby
143
173
  end
144
174
  end
145
175
  else # model
146
- MuxRuby.const_get(type).build_from_hash(value)
176
+ # models (e.g. Pet) or oneOf
177
+ klass = MuxRuby.const_get(type)
178
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
147
179
  end
148
180
  end
149
181
 
@@ -165,7 +197,11 @@ module MuxRuby
165
197
  hash = {}
166
198
  self.class.attribute_map.each_pair do |attr, param|
167
199
  value = self.send(attr)
168
- next if value.nil?
200
+ if value.nil?
201
+ is_nullable = self.class.openapi_nullable.include?(attr)
202
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
203
+ end
204
+
169
205
  hash[param] = _to_hash(value)
170
206
  end
171
207
  hash