mux_ruby 1.8.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (288) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +26 -37
  4. data/README.md +37 -13
  5. data/docs/AbridgedVideoView.md +33 -13
  6. data/docs/Asset.md +59 -25
  7. data/docs/AssetErrors.md +15 -4
  8. data/docs/AssetMaster.md +15 -4
  9. data/docs/AssetNonStandardInputReasons.md +29 -11
  10. data/docs/AssetRecordingTimes.md +15 -4
  11. data/docs/AssetResponse.md +13 -3
  12. data/docs/AssetStaticRenditions.md +15 -4
  13. data/docs/AssetStaticRenditionsFiles.md +23 -8
  14. data/docs/AssetsApi.md +396 -161
  15. data/docs/BreakdownValue.md +21 -7
  16. data/docs/CreateAssetRequest.md +27 -10
  17. data/docs/CreateLiveStreamRequest.md +27 -9
  18. data/docs/CreatePlaybackIDRequest.md +13 -3
  19. data/docs/CreatePlaybackIDResponse.md +13 -3
  20. data/docs/CreateSimulcastTargetRequest.md +17 -5
  21. data/docs/CreateTrackRequest.md +25 -9
  22. data/docs/CreateTrackResponse.md +13 -3
  23. data/docs/CreateUploadRequest.md +19 -6
  24. data/docs/DeliveryReport.md +27 -9
  25. data/docs/DeliveryUsageApi.md +41 -23
  26. data/docs/DimensionValue.md +15 -4
  27. data/docs/DimensionsApi.md +72 -34
  28. data/docs/DirectUploadsApi.md +131 -56
  29. data/docs/DisableLiveStreamResponse.md +13 -3
  30. data/docs/EnableLiveStreamResponse.md +13 -3
  31. data/docs/Error.md +27 -10
  32. data/docs/ErrorsApi.md +38 -20
  33. data/docs/ExportDate.md +20 -0
  34. data/docs/ExportFile.md +22 -0
  35. data/docs/ExportsApi.md +99 -12
  36. data/docs/FilterValue.md +15 -4
  37. data/docs/FiltersApi.md +71 -33
  38. data/docs/GetAssetInputInfoResponse.md +13 -3
  39. data/docs/GetAssetOrLiveStreamIdResponse.md +18 -0
  40. data/docs/GetAssetOrLiveStreamIdResponseData.md +22 -0
  41. data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +20 -0
  42. data/docs/GetAssetPlaybackIDResponse.md +13 -3
  43. data/docs/GetMetricTimeseriesDataResponse.md +17 -5
  44. data/docs/GetOverallValuesResponse.md +17 -5
  45. data/docs/GetRealTimeBreakdownResponse.md +17 -5
  46. data/docs/GetRealTimeHistogramTimeseriesResponse.md +19 -6
  47. data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +13 -3
  48. data/docs/GetRealTimeTimeseriesResponse.md +17 -5
  49. data/docs/Incident.md +53 -23
  50. data/docs/IncidentBreakdown.md +17 -5
  51. data/docs/IncidentNotification.md +17 -5
  52. data/docs/IncidentNotificationRule.md +21 -7
  53. data/docs/IncidentResponse.md +15 -4
  54. data/docs/IncidentsApi.md +118 -62
  55. data/docs/InputFile.md +15 -4
  56. data/docs/InputInfo.md +15 -4
  57. data/docs/InputSettings.md +31 -10
  58. data/docs/InputSettingsOverlaySettings.md +25 -9
  59. data/docs/InputTrack.md +29 -11
  60. data/docs/Insight.md +23 -8
  61. data/docs/ListAllMetricValuesResponse.md +17 -5
  62. data/docs/ListAssetsResponse.md +13 -3
  63. data/docs/ListBreakdownValuesResponse.md +17 -5
  64. data/docs/ListDeliveryUsageResponse.md +19 -6
  65. data/docs/ListDimensionValuesResponse.md +17 -5
  66. data/docs/ListDimensionsResponse.md +17 -5
  67. data/docs/ListErrorsResponse.md +17 -5
  68. data/docs/ListExportsResponse.md +17 -5
  69. data/docs/ListFilterValuesResponse.md +17 -5
  70. data/docs/ListFiltersResponse.md +17 -5
  71. data/docs/ListFiltersResponseData.md +15 -4
  72. data/docs/ListIncidentsResponse.md +17 -5
  73. data/docs/ListInsightsResponse.md +17 -5
  74. data/docs/ListLiveStreamsResponse.md +13 -3
  75. data/docs/ListRealTimeDimensionsResponse.md +17 -5
  76. data/docs/ListRealTimeDimensionsResponseData.md +15 -4
  77. data/docs/ListRealTimeMetricsResponse.md +17 -5
  78. data/docs/ListRelatedIncidentsResponse.md +17 -5
  79. data/docs/ListSigningKeysResponse.md +13 -3
  80. data/docs/ListUploadsResponse.md +13 -3
  81. data/docs/ListVideoViewExportsResponse.md +22 -0
  82. data/docs/ListVideoViewsResponse.md +17 -5
  83. data/docs/LiveStream.md +39 -15
  84. data/docs/LiveStreamResponse.md +13 -3
  85. data/docs/LiveStreamsApi.md +418 -170
  86. data/docs/Metric.md +21 -7
  87. data/docs/MetricsApi.md +211 -117
  88. data/docs/NotificationRule.md +17 -5
  89. data/docs/OverallValues.md +19 -6
  90. data/docs/PlaybackID.md +15 -4
  91. data/docs/PlaybackIDApi.md +78 -0
  92. data/docs/PlaybackPolicy.md +10 -2
  93. data/docs/RealTimeApi.md +177 -81
  94. data/docs/RealTimeBreakdownValue.md +21 -7
  95. data/docs/RealTimeHistogramTimeseriesBucket.md +15 -4
  96. data/docs/RealTimeHistogramTimeseriesBucketValues.md +15 -4
  97. data/docs/RealTimeHistogramTimeseriesDatapoint.md +25 -9
  98. data/docs/RealTimeTimeseriesDatapoint.md +17 -5
  99. data/docs/Score.md +23 -8
  100. data/docs/SignalLiveStreamCompleteResponse.md +13 -3
  101. data/docs/SigningKey.md +17 -5
  102. data/docs/SigningKeyResponse.md +13 -3
  103. data/docs/SimulcastTarget.md +21 -7
  104. data/docs/SimulcastTargetResponse.md +13 -3
  105. data/docs/Track.md +37 -15
  106. data/docs/URLSigningKeysApi.md +130 -54
  107. data/docs/UpdateAssetMP4SupportRequest.md +13 -3
  108. data/docs/UpdateAssetMasterAccessRequest.md +13 -3
  109. data/docs/Upload.md +29 -11
  110. data/docs/UploadError.md +15 -4
  111. data/docs/UploadResponse.md +13 -3
  112. data/docs/VideoView.md +251 -114
  113. data/docs/VideoViewEvent.md +19 -6
  114. data/docs/VideoViewResponse.md +15 -4
  115. data/docs/VideoViewsApi.md +78 -41
  116. data/examples/video/exercise-assets.rb +21 -0
  117. data/examples/video/exercise-live-streams.rb +8 -0
  118. data/gen/.gitignore +7 -0
  119. data/gen/Makefile +31 -0
  120. data/gen/generator-config.json +11 -0
  121. data/gen/openapitools.json +7 -0
  122. data/gen/package.json +17 -0
  123. data/gen/templates/Gemfile.mustache +11 -0
  124. data/gen/templates/README.mustache +158 -0
  125. data/gen/templates/Rakefile.mustache +10 -0
  126. data/gen/templates/api.mustache +206 -0
  127. data/gen/templates/api_client.mustache +264 -0
  128. data/gen/templates/api_client_faraday_partial.mustache +138 -0
  129. data/gen/templates/api_client_spec.mustache +220 -0
  130. data/gen/templates/api_client_typhoeus_partial.mustache +183 -0
  131. data/gen/templates/api_doc.mustache +118 -0
  132. data/gen/templates/api_error.mustache +67 -0
  133. data/gen/templates/api_info.mustache +12 -0
  134. data/gen/templates/api_test.mustache +47 -0
  135. data/gen/templates/base_object.mustache +120 -0
  136. data/gen/templates/configuration.mustache +349 -0
  137. data/gen/templates/configuration_spec.mustache +34 -0
  138. data/gen/templates/configuration_tls_faraday_partial.mustache +29 -0
  139. data/gen/templates/configuration_tls_typhoeus_partial.mustache +34 -0
  140. data/gen/templates/gem.mustache +40 -0
  141. data/gen/templates/gemspec.mustache +35 -0
  142. data/gen/templates/gitignore.mustache +39 -0
  143. data/gen/templates/model.mustache +26 -0
  144. data/gen/templates/model_doc.mustache +12 -0
  145. data/gen/templates/model_test.mustache +77 -0
  146. data/gen/templates/partial_model_enum_class.mustache +20 -0
  147. data/gen/templates/partial_model_generic.mustache +371 -0
  148. data/gen/templates/partial_model_generic_doc.mustache +28 -0
  149. data/gen/templates/partial_oneof_module.mustache +137 -0
  150. data/gen/templates/partial_oneof_module_doc.mustache +92 -0
  151. data/gen/templates/rspec.mustache +2 -0
  152. data/gen/templates/rubocop.mustache +148 -0
  153. data/gen/templates/spec_helper.mustache +103 -0
  154. data/gen/templates/version.mustache +7 -0
  155. data/gen/yarn.lock +1878 -0
  156. data/lib/mux_ruby.rb +16 -2
  157. data/lib/mux_ruby/api/assets_api.rb +291 -152
  158. data/lib/mux_ruby/api/delivery_usage_api.rb +32 -16
  159. data/lib/mux_ruby/api/dimensions_api.rb +55 -29
  160. data/lib/mux_ruby/api/direct_uploads_api.rb +90 -44
  161. data/lib/mux_ruby/api/errors_api.rb +34 -18
  162. data/lib/mux_ruby/api/exports_api.rb +86 -13
  163. data/lib/mux_ruby/api/filters_api.rb +53 -27
  164. data/lib/mux_ruby/api/incidents_api.rb +94 -52
  165. data/lib/mux_ruby/api/live_streams_api.rb +299 -157
  166. data/lib/mux_ruby/api/metrics_api.rb +193 -122
  167. data/lib/mux_ruby/api/playback_id_api.rb +85 -0
  168. data/lib/mux_ruby/api/real_time_api.rb +149 -87
  169. data/lib/mux_ruby/api/url_signing_keys_api.rb +95 -48
  170. data/lib/mux_ruby/api/video_views_api.rb +60 -33
  171. data/lib/mux_ruby/api_client.rb +106 -91
  172. data/lib/mux_ruby/api_error.rb +35 -7
  173. data/lib/mux_ruby/configuration.rb +50 -14
  174. data/lib/mux_ruby/models/abridged_video_view.rb +58 -24
  175. data/lib/mux_ruby/models/asset.rb +129 -58
  176. data/lib/mux_ruby/models/asset_errors.rb +52 -15
  177. data/lib/mux_ruby/models/asset_master.rb +85 -15
  178. data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +78 -43
  179. data/lib/mux_ruby/models/asset_recording_times.rb +52 -18
  180. data/lib/mux_ruby/models/asset_response.rb +48 -14
  181. data/lib/mux_ruby/models/asset_static_renditions.rb +55 -19
  182. data/lib/mux_ruby/models/asset_static_renditions_files.rb +60 -25
  183. data/lib/mux_ruby/models/breakdown_value.rb +52 -18
  184. data/lib/mux_ruby/models/create_asset_request.rb +70 -30
  185. data/lib/mux_ruby/models/create_live_stream_request.rb +68 -23
  186. data/lib/mux_ruby/models/create_playback_id_request.rb +48 -14
  187. data/lib/mux_ruby/models/create_playback_id_response.rb +48 -14
  188. data/lib/mux_ruby/models/create_simulcast_target_request.rb +50 -16
  189. data/lib/mux_ruby/models/create_track_request.rb +65 -27
  190. data/lib/mux_ruby/models/create_track_response.rb +48 -14
  191. data/lib/mux_ruby/models/create_upload_request.rb +52 -18
  192. data/lib/mux_ruby/models/delivery_report.rb +106 -21
  193. data/lib/mux_ruby/models/dimension_value.rb +49 -15
  194. data/lib/mux_ruby/models/disable_live_stream_response.rb +48 -14
  195. data/lib/mux_ruby/models/enable_live_stream_response.rb +48 -14
  196. data/lib/mux_ruby/models/error.rb +63 -21
  197. data/lib/mux_ruby/models/export_date.rb +229 -0
  198. data/lib/mux_ruby/models/export_file.rb +236 -0
  199. data/lib/mux_ruby/models/filter_value.rb +49 -15
  200. data/lib/mux_ruby/models/get_asset_input_info_response.rb +48 -14
  201. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +218 -0
  202. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +237 -0
  203. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +264 -0
  204. data/lib/mux_ruby/models/get_asset_playback_id_response.rb +48 -14
  205. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +50 -16
  206. data/lib/mux_ruby/models/get_overall_values_response.rb +50 -16
  207. data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +50 -16
  208. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +51 -17
  209. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +48 -14
  210. data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +50 -16
  211. data/lib/mux_ruby/models/incident.rb +68 -34
  212. data/lib/mux_ruby/models/incident_breakdown.rb +50 -16
  213. data/lib/mux_ruby/models/incident_notification.rb +50 -16
  214. data/lib/mux_ruby/models/incident_notification_rule.rb +52 -18
  215. data/lib/mux_ruby/models/incident_response.rb +49 -15
  216. data/lib/mux_ruby/models/input_file.rb +49 -15
  217. data/lib/mux_ruby/models/input_info.rb +49 -15
  218. data/lib/mux_ruby/models/input_settings.rb +91 -30
  219. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +68 -26
  220. data/lib/mux_ruby/models/input_track.rb +56 -22
  221. data/lib/mux_ruby/models/insight.rb +53 -19
  222. data/lib/mux_ruby/models/list_all_metric_values_response.rb +50 -16
  223. data/lib/mux_ruby/models/list_assets_response.rb +48 -14
  224. data/lib/mux_ruby/models/list_breakdown_values_response.rb +50 -16
  225. data/lib/mux_ruby/models/list_delivery_usage_response.rb +51 -17
  226. data/lib/mux_ruby/models/list_dimension_values_response.rb +50 -16
  227. data/lib/mux_ruby/models/list_dimensions_response.rb +50 -16
  228. data/lib/mux_ruby/models/list_errors_response.rb +50 -16
  229. data/lib/mux_ruby/models/list_exports_response.rb +50 -16
  230. data/lib/mux_ruby/models/list_filter_values_response.rb +50 -16
  231. data/lib/mux_ruby/models/list_filters_response.rb +50 -16
  232. data/lib/mux_ruby/models/list_filters_response_data.rb +49 -15
  233. data/lib/mux_ruby/models/list_incidents_response.rb +50 -16
  234. data/lib/mux_ruby/models/list_insights_response.rb +50 -16
  235. data/lib/mux_ruby/models/list_live_streams_response.rb +48 -14
  236. data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +50 -16
  237. data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +49 -15
  238. data/lib/mux_ruby/models/list_real_time_metrics_response.rb +50 -16
  239. data/lib/mux_ruby/models/list_related_incidents_response.rb +50 -16
  240. data/lib/mux_ruby/models/list_signing_keys_response.rb +48 -14
  241. data/lib/mux_ruby/models/list_uploads_response.rb +48 -14
  242. data/lib/mux_ruby/models/list_video_view_exports_response.rb +240 -0
  243. data/lib/mux_ruby/models/list_video_views_response.rb +50 -16
  244. data/lib/mux_ruby/models/live_stream.rb +121 -29
  245. data/lib/mux_ruby/models/live_stream_response.rb +48 -14
  246. data/lib/mux_ruby/models/metric.rb +52 -18
  247. data/lib/mux_ruby/models/notification_rule.rb +50 -16
  248. data/lib/mux_ruby/models/overall_values.rb +51 -17
  249. data/lib/mux_ruby/models/playback_id.rb +50 -15
  250. data/lib/mux_ruby/models/playback_policy.rb +12 -6
  251. data/lib/mux_ruby/models/real_time_breakdown_value.rb +52 -18
  252. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +50 -16
  253. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +49 -15
  254. data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +54 -20
  255. data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +50 -16
  256. data/lib/mux_ruby/models/score.rb +53 -19
  257. data/lib/mux_ruby/models/signal_live_stream_complete_response.rb +48 -14
  258. data/lib/mux_ruby/models/signing_key.rb +53 -16
  259. data/lib/mux_ruby/models/signing_key_response.rb +48 -14
  260. data/lib/mux_ruby/models/simulcast_target.rb +55 -21
  261. data/lib/mux_ruby/models/simulcast_target_response.rb +48 -14
  262. data/lib/mux_ruby/models/track.rb +92 -33
  263. data/lib/mux_ruby/models/update_asset_master_access_request.rb +51 -17
  264. data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +51 -17
  265. data/lib/mux_ruby/models/upload.rb +62 -26
  266. data/lib/mux_ruby/models/upload_error.rb +51 -15
  267. data/lib/mux_ruby/models/upload_response.rb +48 -14
  268. data/lib/mux_ruby/models/video_view.rb +242 -136
  269. data/lib/mux_ruby/models/video_view_event.rb +51 -17
  270. data/lib/mux_ruby/models/video_view_response.rb +49 -15
  271. data/lib/mux_ruby/version.rb +10 -3
  272. data/mux_ruby.gemspec +15 -15
  273. data/spec/api/assets_api_spec.rb +2 -0
  274. data/spec/api/playback_id_api_spec.rb +40 -0
  275. data/spec/api_client_spec.rb +10 -3
  276. data/spec/configuration_spec.rb +9 -2
  277. data/spec/models/asset_master_spec.rb +4 -0
  278. data/spec/models/asset_spec.rb +10 -0
  279. data/spec/models/export_date_spec.rb +40 -0
  280. data/spec/models/export_file_spec.rb +46 -0
  281. data/spec/models/get_asset_or_live_stream_id_response_data_object_spec.rb +44 -0
  282. data/spec/models/get_asset_or_live_stream_id_response_data_spec.rb +46 -0
  283. data/spec/models/get_asset_or_live_stream_id_response_spec.rb +34 -0
  284. data/spec/models/input_settings_spec.rb +12 -0
  285. data/spec/models/list_video_view_exports_response_spec.rb +46 -0
  286. data/spec/models/track_spec.rb +4 -0
  287. data/spec/spec_helper.rb +9 -2
  288. metadata +161 -235
@@ -1,24 +1,40 @@
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 that describes how the image file referenced in url should be placed over the video (i.e. watermarking).
9
18
  class InputSettingsOverlaySettings
19
+ # Where the vertical positioning of the overlay/watermark should begin from. Defaults to `\"top\"`
10
20
  attr_accessor :vertical_align
11
21
 
22
+ # The distance from the vertical_align starting point and the image's closest edge. Can be expressed as a percent (\"10%\") or as a pixel value (\"100px\"). Negative values will move the overlay offscreen. In the case of 'middle', a positive value will shift the overlay towards the bottom and and a negative value will shift it towards the top.
12
23
  attr_accessor :vertical_margin
13
24
 
25
+ # Where the horizontal positioning of the overlay/watermark should begin from.
14
26
  attr_accessor :horizontal_align
15
27
 
28
+ # The distance from the horizontal_align starting point and the image's closest edge. Can be expressed as a percent (\"10%\") or as a pixel value (\"100px\"). Negative values will move the overlay offscreen. In the case of 'center', a positive value will shift the image towards the right and and a negative value will shift it towards the left.
16
29
  attr_accessor :horizontal_margin
17
30
 
31
+ # How wide the overlay should appear. Can be expressed as a percent (\"10%\") or as a pixel value (\"100px\"). If both width and height are left blank the width will be the true pixels of the image, applied as if the video has been scaled to fit a 1920x1080 frame. If height is supplied with no width, the width will scale proportionally to the height.
18
32
  attr_accessor :width
19
33
 
34
+ # How tall the overlay should appear. Can be expressed as a percent (\"10%\") or as a pixel value (\"100px\"). If both width and height are left blank the height will be the true pixels of the image, applied as if the video has been scaled to fit a 1920x1080 frame. If width is supplied with no height, the height will scale proportionally to the width.
20
35
  attr_accessor :height
21
36
 
37
+ # How opaque the overlay should appear, expressed as a percent. (Default 100%)
22
38
  attr_accessor :opacity
23
39
 
24
40
  class EnumAttributeValidator
@@ -56,6 +72,11 @@ module MuxRuby
56
72
  }
57
73
  end
58
74
 
75
+ # Returns all the JSON keys this model knows about
76
+ def self.acceptable_attributes
77
+ attribute_map.values
78
+ end
79
+
59
80
  # Attribute type mapping.
60
81
  def self.openapi_types
61
82
  {
@@ -69,39 +90,52 @@ module MuxRuby
69
90
  }
70
91
  end
71
92
 
93
+ # List of attributes with nullable: true
94
+ def self.openapi_nullable
95
+ Set.new([
96
+ ])
97
+ end
98
+
72
99
  # Initializes the object
73
100
  # @param [Hash] attributes Model attributes in the form of hash
74
101
  def initialize(attributes = {})
75
- return unless attributes.is_a?(Hash)
102
+ if (!attributes.is_a?(Hash))
103
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::InputSettingsOverlaySettings` initialize method"
104
+ end
76
105
 
77
- # convert string to symbol for hash key
78
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
106
+ # check to see if the attribute exists and convert string to symbol for hash key
107
+ attributes = attributes.each_with_object({}) { |(k, v), h|
108
+ if (!self.class.attribute_map.key?(k.to_sym))
109
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::InputSettingsOverlaySettings`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
110
+ end
111
+ h[k.to_sym] = v
112
+ }
79
113
 
80
- if attributes.has_key?(:'vertical_align')
114
+ if attributes.key?(:'vertical_align')
81
115
  self.vertical_align = attributes[:'vertical_align']
82
116
  end
83
117
 
84
- if attributes.has_key?(:'vertical_margin')
118
+ if attributes.key?(:'vertical_margin')
85
119
  self.vertical_margin = attributes[:'vertical_margin']
86
120
  end
87
121
 
88
- if attributes.has_key?(:'horizontal_align')
122
+ if attributes.key?(:'horizontal_align')
89
123
  self.horizontal_align = attributes[:'horizontal_align']
90
124
  end
91
125
 
92
- if attributes.has_key?(:'horizontal_margin')
126
+ if attributes.key?(:'horizontal_margin')
93
127
  self.horizontal_margin = attributes[:'horizontal_margin']
94
128
  end
95
129
 
96
- if attributes.has_key?(:'width')
130
+ if attributes.key?(:'width')
97
131
  self.width = attributes[:'width']
98
132
  end
99
133
 
100
- if attributes.has_key?(:'height')
134
+ if attributes.key?(:'height')
101
135
  self.height = attributes[:'height']
102
136
  end
103
137
 
104
- if attributes.has_key?(:'opacity')
138
+ if attributes.key?(:'opacity')
105
139
  self.opacity = attributes[:'opacity']
106
140
  end
107
141
  end
@@ -116,9 +150,9 @@ module MuxRuby
116
150
  # Check to see if the all the properties in the model are valid
117
151
  # @return true if the model is valid
118
152
  def valid?
119
- vertical_align_validator = EnumAttributeValidator.new('String', ['top', 'middle', 'bottom'])
153
+ vertical_align_validator = EnumAttributeValidator.new('String', ["top", "middle", "bottom"])
120
154
  return false unless vertical_align_validator.valid?(@vertical_align)
121
- horizontal_align_validator = EnumAttributeValidator.new('String', ['left', 'center', 'right'])
155
+ horizontal_align_validator = EnumAttributeValidator.new('String', ["left", "center", "right"])
122
156
  return false unless horizontal_align_validator.valid?(@horizontal_align)
123
157
  true
124
158
  end
@@ -126,9 +160,9 @@ module MuxRuby
126
160
  # Custom attribute writer method checking allowed values (enum).
127
161
  # @param [Object] vertical_align Object to be assigned
128
162
  def vertical_align=(vertical_align)
129
- validator = EnumAttributeValidator.new('String', ['top', 'middle', 'bottom'])
163
+ validator = EnumAttributeValidator.new('String', ["top", "middle", "bottom"])
130
164
  unless validator.valid?(vertical_align)
131
- fail ArgumentError, 'invalid value for "vertical_align", must be one of #{validator.allowable_values}.'
165
+ fail ArgumentError, "invalid value for \"vertical_align\", must be one of #{validator.allowable_values}."
132
166
  end
133
167
  @vertical_align = vertical_align
134
168
  end
@@ -136,9 +170,9 @@ module MuxRuby
136
170
  # Custom attribute writer method checking allowed values (enum).
137
171
  # @param [Object] horizontal_align Object to be assigned
138
172
  def horizontal_align=(horizontal_align)
139
- validator = EnumAttributeValidator.new('String', ['left', 'center', 'right'])
173
+ validator = EnumAttributeValidator.new('String', ["left", "center", "right"])
140
174
  unless validator.valid?(horizontal_align)
141
- fail ArgumentError, 'invalid value for "horizontal_align", must be one of #{validator.allowable_values}.'
175
+ fail ArgumentError, "invalid value for \"horizontal_align\", must be one of #{validator.allowable_values}."
142
176
  end
143
177
  @horizontal_align = horizontal_align
144
178
  end
@@ -164,7 +198,7 @@ module MuxRuby
164
198
  end
165
199
 
166
200
  # Calculates hash code according to all attributes.
167
- # @return [Fixnum] Hash code
201
+ # @return [Integer] Hash code
168
202
  def hash
169
203
  [vertical_align, vertical_margin, horizontal_align, horizontal_margin, width, height, opacity].hash
170
204
  end
@@ -182,7 +216,9 @@ module MuxRuby
182
216
  def build_from_hash(attributes)
183
217
  return nil unless attributes.is_a?(Hash)
184
218
  self.class.openapi_types.each_pair do |key, type|
185
- if type =~ /\AArray<(.*)>/i
219
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
220
+ self.send("#{key}=", nil)
221
+ elsif type =~ /\AArray<(.*)>/i
186
222
  # check to ensure the input is an array given that the attribute
187
223
  # is documented as an array but the input is not
188
224
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -190,7 +226,7 @@ module MuxRuby
190
226
  end
191
227
  elsif !attributes[self.class.attribute_map[key]].nil?
192
228
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
193
- end # or else data not found in attributes(hash), not an issue as the data can be optional
229
+ end
194
230
  end
195
231
 
196
232
  self
@@ -202,8 +238,8 @@ module MuxRuby
202
238
  # @return [Object] Deserialized data
203
239
  def _deserialize(type, value)
204
240
  case type.to_sym
205
- when :DateTime
206
- DateTime.parse(value)
241
+ when :Time
242
+ Time.parse(value)
207
243
  when :Date
208
244
  Date.parse(value)
209
245
  when :String
@@ -212,7 +248,7 @@ module MuxRuby
212
248
  value.to_i
213
249
  when :Float
214
250
  value.to_f
215
- when :BOOLEAN
251
+ when :Boolean
216
252
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
217
253
  true
218
254
  else
@@ -233,7 +269,9 @@ module MuxRuby
233
269
  end
234
270
  end
235
271
  else # model
236
- MuxRuby.const_get(type).build_from_hash(value)
272
+ # models (e.g. Pet) or oneOf
273
+ klass = MuxRuby.const_get(type)
274
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
237
275
  end
238
276
  end
239
277
 
@@ -255,7 +293,11 @@ module MuxRuby
255
293
  hash = {}
256
294
  self.class.attribute_map.each_pair do |attr, param|
257
295
  value = self.send(attr)
258
- next if value.nil?
296
+ if value.nil?
297
+ is_nullable = self.class.openapi_nullable.include?(attr)
298
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
299
+ end
300
+
259
301
  hash[param] = _to_hash(value)
260
302
  end
261
303
  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 InputTrack
@@ -40,6 +48,11 @@ module MuxRuby
40
48
  }
41
49
  end
42
50
 
51
+ # Returns all the JSON keys this model knows about
52
+ def self.acceptable_attributes
53
+ attribute_map.values
54
+ end
55
+
43
56
  # Attribute type mapping.
44
57
  def self.openapi_types
45
58
  {
@@ -55,47 +68,60 @@ module MuxRuby
55
68
  }
56
69
  end
57
70
 
71
+ # List of attributes with nullable: true
72
+ def self.openapi_nullable
73
+ Set.new([
74
+ ])
75
+ end
76
+
58
77
  # Initializes the object
59
78
  # @param [Hash] attributes Model attributes in the form of hash
60
79
  def initialize(attributes = {})
61
- return unless attributes.is_a?(Hash)
80
+ if (!attributes.is_a?(Hash))
81
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::InputTrack` initialize method"
82
+ end
62
83
 
63
- # convert string to symbol for hash key
64
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
84
+ # check to see if the attribute exists and convert string to symbol for hash key
85
+ attributes = attributes.each_with_object({}) { |(k, v), h|
86
+ if (!self.class.attribute_map.key?(k.to_sym))
87
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::InputTrack`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
88
+ end
89
+ h[k.to_sym] = v
90
+ }
65
91
 
66
- if attributes.has_key?(:'type')
92
+ if attributes.key?(:'type')
67
93
  self.type = attributes[:'type']
68
94
  end
69
95
 
70
- if attributes.has_key?(:'duration')
96
+ if attributes.key?(:'duration')
71
97
  self.duration = attributes[:'duration']
72
98
  end
73
99
 
74
- if attributes.has_key?(:'encoding')
100
+ if attributes.key?(:'encoding')
75
101
  self.encoding = attributes[:'encoding']
76
102
  end
77
103
 
78
- if attributes.has_key?(:'width')
104
+ if attributes.key?(:'width')
79
105
  self.width = attributes[:'width']
80
106
  end
81
107
 
82
- if attributes.has_key?(:'height')
108
+ if attributes.key?(:'height')
83
109
  self.height = attributes[:'height']
84
110
  end
85
111
 
86
- if attributes.has_key?(:'frame_rate')
112
+ if attributes.key?(:'frame_rate')
87
113
  self.frame_rate = attributes[:'frame_rate']
88
114
  end
89
115
 
90
- if attributes.has_key?(:'sample_rate')
116
+ if attributes.key?(:'sample_rate')
91
117
  self.sample_rate = attributes[:'sample_rate']
92
118
  end
93
119
 
94
- if attributes.has_key?(:'sample_size')
120
+ if attributes.key?(:'sample_size')
95
121
  self.sample_size = attributes[:'sample_size']
96
122
  end
97
123
 
98
- if attributes.has_key?(:'channels')
124
+ if attributes.key?(:'channels')
99
125
  self.channels = attributes[:'channels']
100
126
  end
101
127
  end
@@ -136,7 +162,7 @@ module MuxRuby
136
162
  end
137
163
 
138
164
  # Calculates hash code according to all attributes.
139
- # @return [Fixnum] Hash code
165
+ # @return [Integer] Hash code
140
166
  def hash
141
167
  [type, duration, encoding, width, height, frame_rate, sample_rate, sample_size, channels].hash
142
168
  end
@@ -154,7 +180,9 @@ module MuxRuby
154
180
  def build_from_hash(attributes)
155
181
  return nil unless attributes.is_a?(Hash)
156
182
  self.class.openapi_types.each_pair do |key, type|
157
- if type =~ /\AArray<(.*)>/i
183
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
184
+ self.send("#{key}=", nil)
185
+ elsif type =~ /\AArray<(.*)>/i
158
186
  # check to ensure the input is an array given that the attribute
159
187
  # is documented as an array but the input is not
160
188
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -162,7 +190,7 @@ module MuxRuby
162
190
  end
163
191
  elsif !attributes[self.class.attribute_map[key]].nil?
164
192
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
165
- end # or else data not found in attributes(hash), not an issue as the data can be optional
193
+ end
166
194
  end
167
195
 
168
196
  self
@@ -174,8 +202,8 @@ module MuxRuby
174
202
  # @return [Object] Deserialized data
175
203
  def _deserialize(type, value)
176
204
  case type.to_sym
177
- when :DateTime
178
- DateTime.parse(value)
205
+ when :Time
206
+ Time.parse(value)
179
207
  when :Date
180
208
  Date.parse(value)
181
209
  when :String
@@ -184,7 +212,7 @@ module MuxRuby
184
212
  value.to_i
185
213
  when :Float
186
214
  value.to_f
187
- when :BOOLEAN
215
+ when :Boolean
188
216
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
189
217
  true
190
218
  else
@@ -205,7 +233,9 @@ module MuxRuby
205
233
  end
206
234
  end
207
235
  else # model
208
- MuxRuby.const_get(type).build_from_hash(value)
236
+ # models (e.g. Pet) or oneOf
237
+ klass = MuxRuby.const_get(type)
238
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
209
239
  end
210
240
  end
211
241
 
@@ -227,7 +257,11 @@ module MuxRuby
227
257
  hash = {}
228
258
  self.class.attribute_map.each_pair do |attr, param|
229
259
  value = self.send(attr)
230
- next if value.nil?
260
+ if value.nil?
261
+ is_nullable = self.class.openapi_nullable.include?(attr)
262
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
263
+ end
264
+
231
265
  hash[param] = _to_hash(value)
232
266
  end
233
267
  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 Insight
@@ -31,6 +39,11 @@ module MuxRuby
31
39
  }
32
40
  end
33
41
 
42
+ # Returns all the JSON keys this model knows about
43
+ def self.acceptable_attributes
44
+ attribute_map.values
45
+ end
46
+
34
47
  # Attribute type mapping.
35
48
  def self.openapi_types
36
49
  {
@@ -43,35 +56,48 @@ module MuxRuby
43
56
  }
44
57
  end
45
58
 
59
+ # List of attributes with nullable: true
60
+ def self.openapi_nullable
61
+ Set.new([
62
+ ])
63
+ end
64
+
46
65
  # Initializes the object
47
66
  # @param [Hash] attributes Model attributes in the form of hash
48
67
  def initialize(attributes = {})
49
- return unless attributes.is_a?(Hash)
68
+ if (!attributes.is_a?(Hash))
69
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::Insight` initialize method"
70
+ end
50
71
 
51
- # convert string to symbol for hash key
52
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
72
+ # check to see if the attribute exists and convert string to symbol for hash key
73
+ attributes = attributes.each_with_object({}) { |(k, v), h|
74
+ if (!self.class.attribute_map.key?(k.to_sym))
75
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::Insight`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
76
+ end
77
+ h[k.to_sym] = v
78
+ }
53
79
 
54
- if attributes.has_key?(:'total_watch_time')
80
+ if attributes.key?(:'total_watch_time')
55
81
  self.total_watch_time = attributes[:'total_watch_time']
56
82
  end
57
83
 
58
- if attributes.has_key?(:'total_views')
84
+ if attributes.key?(:'total_views')
59
85
  self.total_views = attributes[:'total_views']
60
86
  end
61
87
 
62
- if attributes.has_key?(:'negative_impact_score')
88
+ if attributes.key?(:'negative_impact_score')
63
89
  self.negative_impact_score = attributes[:'negative_impact_score']
64
90
  end
65
91
 
66
- if attributes.has_key?(:'metric')
92
+ if attributes.key?(:'metric')
67
93
  self.metric = attributes[:'metric']
68
94
  end
69
95
 
70
- if attributes.has_key?(:'filter_value')
96
+ if attributes.key?(:'filter_value')
71
97
  self.filter_value = attributes[:'filter_value']
72
98
  end
73
99
 
74
- if attributes.has_key?(:'filter_column')
100
+ if attributes.key?(:'filter_column')
75
101
  self.filter_column = attributes[:'filter_column']
76
102
  end
77
103
  end
@@ -109,7 +135,7 @@ module MuxRuby
109
135
  end
110
136
 
111
137
  # Calculates hash code according to all attributes.
112
- # @return [Fixnum] Hash code
138
+ # @return [Integer] Hash code
113
139
  def hash
114
140
  [total_watch_time, total_views, negative_impact_score, metric, filter_value, filter_column].hash
115
141
  end
@@ -127,7 +153,9 @@ module MuxRuby
127
153
  def build_from_hash(attributes)
128
154
  return nil unless attributes.is_a?(Hash)
129
155
  self.class.openapi_types.each_pair do |key, type|
130
- if type =~ /\AArray<(.*)>/i
156
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
157
+ self.send("#{key}=", nil)
158
+ elsif type =~ /\AArray<(.*)>/i
131
159
  # check to ensure the input is an array given that the attribute
132
160
  # is documented as an array but the input is not
133
161
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -135,7 +163,7 @@ module MuxRuby
135
163
  end
136
164
  elsif !attributes[self.class.attribute_map[key]].nil?
137
165
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
138
- end # or else data not found in attributes(hash), not an issue as the data can be optional
166
+ end
139
167
  end
140
168
 
141
169
  self
@@ -147,8 +175,8 @@ module MuxRuby
147
175
  # @return [Object] Deserialized data
148
176
  def _deserialize(type, value)
149
177
  case type.to_sym
150
- when :DateTime
151
- DateTime.parse(value)
178
+ when :Time
179
+ Time.parse(value)
152
180
  when :Date
153
181
  Date.parse(value)
154
182
  when :String
@@ -157,7 +185,7 @@ module MuxRuby
157
185
  value.to_i
158
186
  when :Float
159
187
  value.to_f
160
- when :BOOLEAN
188
+ when :Boolean
161
189
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
162
190
  true
163
191
  else
@@ -178,7 +206,9 @@ module MuxRuby
178
206
  end
179
207
  end
180
208
  else # model
181
- MuxRuby.const_get(type).build_from_hash(value)
209
+ # models (e.g. Pet) or oneOf
210
+ klass = MuxRuby.const_get(type)
211
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
182
212
  end
183
213
  end
184
214
 
@@ -200,7 +230,11 @@ module MuxRuby
200
230
  hash = {}
201
231
  self.class.attribute_map.each_pair do |attr, param|
202
232
  value = self.send(attr)
203
- next if value.nil?
233
+ if value.nil?
234
+ is_nullable = self.class.openapi_nullable.include?(attr)
235
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
236
+ end
237
+
204
238
  hash[param] = _to_hash(value)
205
239
  end
206
240
  hash