mux_ruby 1.9.0 → 2.0.0.pre.rc.1

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