mux_ruby 1.8.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +26 -37
  4. data/README.md +37 -13
  5. data/docs/AbridgedVideoView.md +33 -13
  6. data/docs/Asset.md +59 -25
  7. data/docs/AssetErrors.md +15 -4
  8. data/docs/AssetMaster.md +15 -4
  9. data/docs/AssetNonStandardInputReasons.md +29 -11
  10. data/docs/AssetRecordingTimes.md +15 -4
  11. data/docs/AssetResponse.md +13 -3
  12. data/docs/AssetStaticRenditions.md +15 -4
  13. data/docs/AssetStaticRenditionsFiles.md +23 -8
  14. data/docs/AssetsApi.md +396 -161
  15. data/docs/BreakdownValue.md +21 -7
  16. data/docs/CreateAssetRequest.md +27 -10
  17. data/docs/CreateLiveStreamRequest.md +27 -9
  18. data/docs/CreatePlaybackIDRequest.md +13 -3
  19. data/docs/CreatePlaybackIDResponse.md +13 -3
  20. data/docs/CreateSimulcastTargetRequest.md +17 -5
  21. data/docs/CreateTrackRequest.md +25 -9
  22. data/docs/CreateTrackResponse.md +13 -3
  23. data/docs/CreateUploadRequest.md +19 -6
  24. data/docs/DeliveryReport.md +27 -9
  25. data/docs/DeliveryUsageApi.md +41 -23
  26. data/docs/DimensionValue.md +15 -4
  27. data/docs/DimensionsApi.md +72 -34
  28. data/docs/DirectUploadsApi.md +131 -56
  29. data/docs/DisableLiveStreamResponse.md +13 -3
  30. data/docs/EnableLiveStreamResponse.md +13 -3
  31. data/docs/Error.md +27 -10
  32. data/docs/ErrorsApi.md +38 -20
  33. data/docs/ExportDate.md +20 -0
  34. data/docs/ExportFile.md +22 -0
  35. data/docs/ExportsApi.md +99 -12
  36. data/docs/FilterValue.md +15 -4
  37. data/docs/FiltersApi.md +71 -33
  38. data/docs/GetAssetInputInfoResponse.md +13 -3
  39. data/docs/GetAssetOrLiveStreamIdResponse.md +18 -0
  40. data/docs/GetAssetOrLiveStreamIdResponseData.md +22 -0
  41. data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +20 -0
  42. data/docs/GetAssetPlaybackIDResponse.md +13 -3
  43. data/docs/GetMetricTimeseriesDataResponse.md +17 -5
  44. data/docs/GetOverallValuesResponse.md +17 -5
  45. data/docs/GetRealTimeBreakdownResponse.md +17 -5
  46. data/docs/GetRealTimeHistogramTimeseriesResponse.md +19 -6
  47. data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +13 -3
  48. data/docs/GetRealTimeTimeseriesResponse.md +17 -5
  49. data/docs/Incident.md +53 -23
  50. data/docs/IncidentBreakdown.md +17 -5
  51. data/docs/IncidentNotification.md +17 -5
  52. data/docs/IncidentNotificationRule.md +21 -7
  53. data/docs/IncidentResponse.md +15 -4
  54. data/docs/IncidentsApi.md +118 -62
  55. data/docs/InputFile.md +15 -4
  56. data/docs/InputInfo.md +15 -4
  57. data/docs/InputSettings.md +31 -10
  58. data/docs/InputSettingsOverlaySettings.md +25 -9
  59. data/docs/InputTrack.md +29 -11
  60. data/docs/Insight.md +23 -8
  61. data/docs/ListAllMetricValuesResponse.md +17 -5
  62. data/docs/ListAssetsResponse.md +13 -3
  63. data/docs/ListBreakdownValuesResponse.md +17 -5
  64. data/docs/ListDeliveryUsageResponse.md +19 -6
  65. data/docs/ListDimensionValuesResponse.md +17 -5
  66. data/docs/ListDimensionsResponse.md +17 -5
  67. data/docs/ListErrorsResponse.md +17 -5
  68. data/docs/ListExportsResponse.md +17 -5
  69. data/docs/ListFilterValuesResponse.md +17 -5
  70. data/docs/ListFiltersResponse.md +17 -5
  71. data/docs/ListFiltersResponseData.md +15 -4
  72. data/docs/ListIncidentsResponse.md +17 -5
  73. data/docs/ListInsightsResponse.md +17 -5
  74. data/docs/ListLiveStreamsResponse.md +13 -3
  75. data/docs/ListRealTimeDimensionsResponse.md +17 -5
  76. data/docs/ListRealTimeDimensionsResponseData.md +15 -4
  77. data/docs/ListRealTimeMetricsResponse.md +17 -5
  78. data/docs/ListRelatedIncidentsResponse.md +17 -5
  79. data/docs/ListSigningKeysResponse.md +13 -3
  80. data/docs/ListUploadsResponse.md +13 -3
  81. data/docs/ListVideoViewExportsResponse.md +22 -0
  82. data/docs/ListVideoViewsResponse.md +17 -5
  83. data/docs/LiveStream.md +39 -15
  84. data/docs/LiveStreamResponse.md +13 -3
  85. data/docs/LiveStreamsApi.md +418 -170
  86. data/docs/Metric.md +21 -7
  87. data/docs/MetricsApi.md +211 -117
  88. data/docs/NotificationRule.md +17 -5
  89. data/docs/OverallValues.md +19 -6
  90. data/docs/PlaybackID.md +15 -4
  91. data/docs/PlaybackIDApi.md +78 -0
  92. data/docs/PlaybackPolicy.md +10 -2
  93. data/docs/RealTimeApi.md +177 -81
  94. data/docs/RealTimeBreakdownValue.md +21 -7
  95. data/docs/RealTimeHistogramTimeseriesBucket.md +15 -4
  96. data/docs/RealTimeHistogramTimeseriesBucketValues.md +15 -4
  97. data/docs/RealTimeHistogramTimeseriesDatapoint.md +25 -9
  98. data/docs/RealTimeTimeseriesDatapoint.md +17 -5
  99. data/docs/Score.md +23 -8
  100. data/docs/SignalLiveStreamCompleteResponse.md +13 -3
  101. data/docs/SigningKey.md +17 -5
  102. data/docs/SigningKeyResponse.md +13 -3
  103. data/docs/SimulcastTarget.md +21 -7
  104. data/docs/SimulcastTargetResponse.md +13 -3
  105. data/docs/Track.md +37 -15
  106. data/docs/URLSigningKeysApi.md +130 -54
  107. data/docs/UpdateAssetMP4SupportRequest.md +13 -3
  108. data/docs/UpdateAssetMasterAccessRequest.md +13 -3
  109. data/docs/Upload.md +29 -11
  110. data/docs/UploadError.md +15 -4
  111. data/docs/UploadResponse.md +13 -3
  112. data/docs/VideoView.md +251 -114
  113. data/docs/VideoViewEvent.md +19 -6
  114. data/docs/VideoViewResponse.md +15 -4
  115. data/docs/VideoViewsApi.md +78 -41
  116. data/examples/video/exercise-assets.rb +21 -0
  117. data/examples/video/exercise-live-streams.rb +8 -0
  118. data/gen/.gitignore +7 -0
  119. data/gen/Makefile +31 -0
  120. data/gen/generator-config.json +11 -0
  121. data/gen/openapitools.json +7 -0
  122. data/gen/package.json +17 -0
  123. data/gen/templates/Gemfile.mustache +11 -0
  124. data/gen/templates/README.mustache +158 -0
  125. data/gen/templates/Rakefile.mustache +10 -0
  126. data/gen/templates/api.mustache +206 -0
  127. data/gen/templates/api_client.mustache +264 -0
  128. data/gen/templates/api_client_faraday_partial.mustache +138 -0
  129. data/gen/templates/api_client_spec.mustache +220 -0
  130. data/gen/templates/api_client_typhoeus_partial.mustache +183 -0
  131. data/gen/templates/api_doc.mustache +118 -0
  132. data/gen/templates/api_error.mustache +67 -0
  133. data/gen/templates/api_info.mustache +12 -0
  134. data/gen/templates/api_test.mustache +47 -0
  135. data/gen/templates/base_object.mustache +120 -0
  136. data/gen/templates/configuration.mustache +349 -0
  137. data/gen/templates/configuration_spec.mustache +34 -0
  138. data/gen/templates/configuration_tls_faraday_partial.mustache +29 -0
  139. data/gen/templates/configuration_tls_typhoeus_partial.mustache +34 -0
  140. data/gen/templates/gem.mustache +40 -0
  141. data/gen/templates/gemspec.mustache +35 -0
  142. data/gen/templates/gitignore.mustache +39 -0
  143. data/gen/templates/model.mustache +26 -0
  144. data/gen/templates/model_doc.mustache +12 -0
  145. data/gen/templates/model_test.mustache +77 -0
  146. data/gen/templates/partial_model_enum_class.mustache +20 -0
  147. data/gen/templates/partial_model_generic.mustache +371 -0
  148. data/gen/templates/partial_model_generic_doc.mustache +28 -0
  149. data/gen/templates/partial_oneof_module.mustache +137 -0
  150. data/gen/templates/partial_oneof_module_doc.mustache +92 -0
  151. data/gen/templates/rspec.mustache +2 -0
  152. data/gen/templates/rubocop.mustache +148 -0
  153. data/gen/templates/spec_helper.mustache +103 -0
  154. data/gen/templates/version.mustache +7 -0
  155. data/gen/yarn.lock +1878 -0
  156. data/lib/mux_ruby.rb +16 -2
  157. data/lib/mux_ruby/api/assets_api.rb +291 -152
  158. data/lib/mux_ruby/api/delivery_usage_api.rb +32 -16
  159. data/lib/mux_ruby/api/dimensions_api.rb +55 -29
  160. data/lib/mux_ruby/api/direct_uploads_api.rb +90 -44
  161. data/lib/mux_ruby/api/errors_api.rb +34 -18
  162. data/lib/mux_ruby/api/exports_api.rb +86 -13
  163. data/lib/mux_ruby/api/filters_api.rb +53 -27
  164. data/lib/mux_ruby/api/incidents_api.rb +94 -52
  165. data/lib/mux_ruby/api/live_streams_api.rb +299 -157
  166. data/lib/mux_ruby/api/metrics_api.rb +193 -122
  167. data/lib/mux_ruby/api/playback_id_api.rb +85 -0
  168. data/lib/mux_ruby/api/real_time_api.rb +149 -87
  169. data/lib/mux_ruby/api/url_signing_keys_api.rb +95 -48
  170. data/lib/mux_ruby/api/video_views_api.rb +60 -33
  171. data/lib/mux_ruby/api_client.rb +106 -91
  172. data/lib/mux_ruby/api_error.rb +35 -7
  173. data/lib/mux_ruby/configuration.rb +50 -14
  174. data/lib/mux_ruby/models/abridged_video_view.rb +58 -24
  175. data/lib/mux_ruby/models/asset.rb +129 -58
  176. data/lib/mux_ruby/models/asset_errors.rb +52 -15
  177. data/lib/mux_ruby/models/asset_master.rb +85 -15
  178. data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +78 -43
  179. data/lib/mux_ruby/models/asset_recording_times.rb +52 -18
  180. data/lib/mux_ruby/models/asset_response.rb +48 -14
  181. data/lib/mux_ruby/models/asset_static_renditions.rb +55 -19
  182. data/lib/mux_ruby/models/asset_static_renditions_files.rb +60 -25
  183. data/lib/mux_ruby/models/breakdown_value.rb +52 -18
  184. data/lib/mux_ruby/models/create_asset_request.rb +70 -30
  185. data/lib/mux_ruby/models/create_live_stream_request.rb +68 -23
  186. data/lib/mux_ruby/models/create_playback_id_request.rb +48 -14
  187. data/lib/mux_ruby/models/create_playback_id_response.rb +48 -14
  188. data/lib/mux_ruby/models/create_simulcast_target_request.rb +50 -16
  189. data/lib/mux_ruby/models/create_track_request.rb +65 -27
  190. data/lib/mux_ruby/models/create_track_response.rb +48 -14
  191. data/lib/mux_ruby/models/create_upload_request.rb +52 -18
  192. data/lib/mux_ruby/models/delivery_report.rb +106 -21
  193. data/lib/mux_ruby/models/dimension_value.rb +49 -15
  194. data/lib/mux_ruby/models/disable_live_stream_response.rb +48 -14
  195. data/lib/mux_ruby/models/enable_live_stream_response.rb +48 -14
  196. data/lib/mux_ruby/models/error.rb +63 -21
  197. data/lib/mux_ruby/models/export_date.rb +229 -0
  198. data/lib/mux_ruby/models/export_file.rb +236 -0
  199. data/lib/mux_ruby/models/filter_value.rb +49 -15
  200. data/lib/mux_ruby/models/get_asset_input_info_response.rb +48 -14
  201. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +218 -0
  202. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +237 -0
  203. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +264 -0
  204. data/lib/mux_ruby/models/get_asset_playback_id_response.rb +48 -14
  205. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +50 -16
  206. data/lib/mux_ruby/models/get_overall_values_response.rb +50 -16
  207. data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +50 -16
  208. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +51 -17
  209. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +48 -14
  210. data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +50 -16
  211. data/lib/mux_ruby/models/incident.rb +68 -34
  212. data/lib/mux_ruby/models/incident_breakdown.rb +50 -16
  213. data/lib/mux_ruby/models/incident_notification.rb +50 -16
  214. data/lib/mux_ruby/models/incident_notification_rule.rb +52 -18
  215. data/lib/mux_ruby/models/incident_response.rb +49 -15
  216. data/lib/mux_ruby/models/input_file.rb +49 -15
  217. data/lib/mux_ruby/models/input_info.rb +49 -15
  218. data/lib/mux_ruby/models/input_settings.rb +91 -30
  219. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +68 -26
  220. data/lib/mux_ruby/models/input_track.rb +56 -22
  221. data/lib/mux_ruby/models/insight.rb +53 -19
  222. data/lib/mux_ruby/models/list_all_metric_values_response.rb +50 -16
  223. data/lib/mux_ruby/models/list_assets_response.rb +48 -14
  224. data/lib/mux_ruby/models/list_breakdown_values_response.rb +50 -16
  225. data/lib/mux_ruby/models/list_delivery_usage_response.rb +51 -17
  226. data/lib/mux_ruby/models/list_dimension_values_response.rb +50 -16
  227. data/lib/mux_ruby/models/list_dimensions_response.rb +50 -16
  228. data/lib/mux_ruby/models/list_errors_response.rb +50 -16
  229. data/lib/mux_ruby/models/list_exports_response.rb +50 -16
  230. data/lib/mux_ruby/models/list_filter_values_response.rb +50 -16
  231. data/lib/mux_ruby/models/list_filters_response.rb +50 -16
  232. data/lib/mux_ruby/models/list_filters_response_data.rb +49 -15
  233. data/lib/mux_ruby/models/list_incidents_response.rb +50 -16
  234. data/lib/mux_ruby/models/list_insights_response.rb +50 -16
  235. data/lib/mux_ruby/models/list_live_streams_response.rb +48 -14
  236. data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +50 -16
  237. data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +49 -15
  238. data/lib/mux_ruby/models/list_real_time_metrics_response.rb +50 -16
  239. data/lib/mux_ruby/models/list_related_incidents_response.rb +50 -16
  240. data/lib/mux_ruby/models/list_signing_keys_response.rb +48 -14
  241. data/lib/mux_ruby/models/list_uploads_response.rb +48 -14
  242. data/lib/mux_ruby/models/list_video_view_exports_response.rb +240 -0
  243. data/lib/mux_ruby/models/list_video_views_response.rb +50 -16
  244. data/lib/mux_ruby/models/live_stream.rb +121 -29
  245. data/lib/mux_ruby/models/live_stream_response.rb +48 -14
  246. data/lib/mux_ruby/models/metric.rb +52 -18
  247. data/lib/mux_ruby/models/notification_rule.rb +50 -16
  248. data/lib/mux_ruby/models/overall_values.rb +51 -17
  249. data/lib/mux_ruby/models/playback_id.rb +50 -15
  250. data/lib/mux_ruby/models/playback_policy.rb +12 -6
  251. data/lib/mux_ruby/models/real_time_breakdown_value.rb +52 -18
  252. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +50 -16
  253. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +49 -15
  254. data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +54 -20
  255. data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +50 -16
  256. data/lib/mux_ruby/models/score.rb +53 -19
  257. data/lib/mux_ruby/models/signal_live_stream_complete_response.rb +48 -14
  258. data/lib/mux_ruby/models/signing_key.rb +53 -16
  259. data/lib/mux_ruby/models/signing_key_response.rb +48 -14
  260. data/lib/mux_ruby/models/simulcast_target.rb +55 -21
  261. data/lib/mux_ruby/models/simulcast_target_response.rb +48 -14
  262. data/lib/mux_ruby/models/track.rb +92 -33
  263. data/lib/mux_ruby/models/update_asset_master_access_request.rb +51 -17
  264. data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +51 -17
  265. data/lib/mux_ruby/models/upload.rb +62 -26
  266. data/lib/mux_ruby/models/upload_error.rb +51 -15
  267. data/lib/mux_ruby/models/upload_response.rb +48 -14
  268. data/lib/mux_ruby/models/video_view.rb +242 -136
  269. data/lib/mux_ruby/models/video_view_event.rb +51 -17
  270. data/lib/mux_ruby/models/video_view_response.rb +49 -15
  271. data/lib/mux_ruby/version.rb +10 -3
  272. data/mux_ruby.gemspec +15 -15
  273. data/spec/api/assets_api_spec.rb +2 -0
  274. data/spec/api/playback_id_api_spec.rb +40 -0
  275. data/spec/api_client_spec.rb +10 -3
  276. data/spec/configuration_spec.rb +9 -2
  277. data/spec/models/asset_master_spec.rb +4 -0
  278. data/spec/models/asset_spec.rb +10 -0
  279. data/spec/models/export_date_spec.rb +40 -0
  280. data/spec/models/export_file_spec.rb +46 -0
  281. data/spec/models/get_asset_or_live_stream_id_response_data_object_spec.rb +44 -0
  282. data/spec/models/get_asset_or_live_stream_id_response_data_spec.rb +46 -0
  283. data/spec/models/get_asset_or_live_stream_id_response_spec.rb +34 -0
  284. data/spec/models/input_settings_spec.rb +12 -0
  285. data/spec/models/list_video_view_exports_response_spec.rb +46 -0
  286. data/spec/models/track_spec.rb +4 -0
  287. data/spec/spec_helper.rb +9 -2
  288. metadata +161 -235
@@ -1,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 GetRealTimeHistogramTimeseriesResponse
@@ -25,6 +33,11 @@ module MuxRuby
25
33
  }
26
34
  end
27
35
 
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ attribute_map.values
39
+ end
40
+
28
41
  # Attribute type mapping.
29
42
  def self.openapi_types
30
43
  {
@@ -35,29 +48,42 @@ module MuxRuby
35
48
  }
36
49
  end
37
50
 
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ ])
55
+ end
56
+
38
57
  # Initializes the object
39
58
  # @param [Hash] attributes Model attributes in the form of hash
40
59
  def initialize(attributes = {})
41
- return unless attributes.is_a?(Hash)
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::GetRealTimeHistogramTimeseriesResponse` initialize method"
62
+ end
42
63
 
43
- # convert string to symbol for hash key
44
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::GetRealTimeHistogramTimeseriesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
45
71
 
46
- if attributes.has_key?(:'meta')
72
+ if attributes.key?(:'meta')
47
73
  self.meta = attributes[:'meta']
48
74
  end
49
75
 
50
- if attributes.has_key?(:'data')
76
+ if attributes.key?(:'data')
51
77
  if (value = attributes[:'data']).is_a?(Array)
52
78
  self.data = value
53
79
  end
54
80
  end
55
81
 
56
- if attributes.has_key?(:'total_row_count')
82
+ if attributes.key?(:'total_row_count')
57
83
  self.total_row_count = attributes[:'total_row_count']
58
84
  end
59
85
 
60
- if attributes.has_key?(:'timeframe')
86
+ if attributes.key?(:'timeframe')
61
87
  if (value = attributes[:'timeframe']).is_a?(Array)
62
88
  self.timeframe = value
63
89
  end
@@ -95,7 +121,7 @@ module MuxRuby
95
121
  end
96
122
 
97
123
  # Calculates hash code according to all attributes.
98
- # @return [Fixnum] Hash code
124
+ # @return [Integer] Hash code
99
125
  def hash
100
126
  [meta, data, total_row_count, timeframe].hash
101
127
  end
@@ -113,7 +139,9 @@ module MuxRuby
113
139
  def build_from_hash(attributes)
114
140
  return nil unless attributes.is_a?(Hash)
115
141
  self.class.openapi_types.each_pair do |key, type|
116
- if type =~ /\AArray<(.*)>/i
142
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
143
+ self.send("#{key}=", nil)
144
+ elsif type =~ /\AArray<(.*)>/i
117
145
  # check to ensure the input is an array given that the attribute
118
146
  # is documented as an array but the input is not
119
147
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -121,7 +149,7 @@ module MuxRuby
121
149
  end
122
150
  elsif !attributes[self.class.attribute_map[key]].nil?
123
151
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
124
- end # or else data not found in attributes(hash), not an issue as the data can be optional
152
+ end
125
153
  end
126
154
 
127
155
  self
@@ -133,8 +161,8 @@ module MuxRuby
133
161
  # @return [Object] Deserialized data
134
162
  def _deserialize(type, value)
135
163
  case type.to_sym
136
- when :DateTime
137
- DateTime.parse(value)
164
+ when :Time
165
+ Time.parse(value)
138
166
  when :Date
139
167
  Date.parse(value)
140
168
  when :String
@@ -143,7 +171,7 @@ module MuxRuby
143
171
  value.to_i
144
172
  when :Float
145
173
  value.to_f
146
- when :BOOLEAN
174
+ when :Boolean
147
175
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
148
176
  true
149
177
  else
@@ -164,7 +192,9 @@ module MuxRuby
164
192
  end
165
193
  end
166
194
  else # model
167
- MuxRuby.const_get(type).build_from_hash(value)
195
+ # models (e.g. Pet) or oneOf
196
+ klass = MuxRuby.const_get(type)
197
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
168
198
  end
169
199
  end
170
200
 
@@ -186,7 +216,11 @@ module MuxRuby
186
216
  hash = {}
187
217
  self.class.attribute_map.each_pair do |attr, param|
188
218
  value = self.send(attr)
189
- next if value.nil?
219
+ if value.nil?
220
+ is_nullable = self.class.openapi_nullable.include?(attr)
221
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
222
+ end
223
+
190
224
  hash[param] = _to_hash(value)
191
225
  end
192
226
  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 GetRealTimeHistogramTimeseriesResponseMeta
@@ -16,6 +24,11 @@ module MuxRuby
16
24
  }
17
25
  end
18
26
 
27
+ # Returns all the JSON keys this model knows about
28
+ def self.acceptable_attributes
29
+ attribute_map.values
30
+ end
31
+
19
32
  # Attribute type mapping.
20
33
  def self.openapi_types
21
34
  {
@@ -23,15 +36,28 @@ module MuxRuby
23
36
  }
24
37
  end
25
38
 
39
+ # List of attributes with nullable: true
40
+ def self.openapi_nullable
41
+ Set.new([
42
+ ])
43
+ end
44
+
26
45
  # Initializes the object
27
46
  # @param [Hash] attributes Model attributes in the form of hash
28
47
  def initialize(attributes = {})
29
- return unless attributes.is_a?(Hash)
48
+ if (!attributes.is_a?(Hash))
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::GetRealTimeHistogramTimeseriesResponseMeta` initialize method"
50
+ end
30
51
 
31
- # convert string to symbol for hash key
32
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
52
+ # check to see if the attribute exists and convert string to symbol for hash key
53
+ attributes = attributes.each_with_object({}) { |(k, v), h|
54
+ if (!self.class.attribute_map.key?(k.to_sym))
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::GetRealTimeHistogramTimeseriesResponseMeta`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ end
57
+ h[k.to_sym] = v
58
+ }
33
59
 
34
- if attributes.has_key?(:'buckets')
60
+ if attributes.key?(:'buckets')
35
61
  if (value = attributes[:'buckets']).is_a?(Array)
36
62
  self.buckets = value
37
63
  end
@@ -66,7 +92,7 @@ module MuxRuby
66
92
  end
67
93
 
68
94
  # Calculates hash code according to all attributes.
69
- # @return [Fixnum] Hash code
95
+ # @return [Integer] Hash code
70
96
  def hash
71
97
  [buckets].hash
72
98
  end
@@ -84,7 +110,9 @@ module MuxRuby
84
110
  def build_from_hash(attributes)
85
111
  return nil unless attributes.is_a?(Hash)
86
112
  self.class.openapi_types.each_pair do |key, type|
87
- if type =~ /\AArray<(.*)>/i
113
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
114
+ self.send("#{key}=", nil)
115
+ elsif type =~ /\AArray<(.*)>/i
88
116
  # check to ensure the input is an array given that the attribute
89
117
  # is documented as an array but the input is not
90
118
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -92,7 +120,7 @@ module MuxRuby
92
120
  end
93
121
  elsif !attributes[self.class.attribute_map[key]].nil?
94
122
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
95
- end # or else data not found in attributes(hash), not an issue as the data can be optional
123
+ end
96
124
  end
97
125
 
98
126
  self
@@ -104,8 +132,8 @@ module MuxRuby
104
132
  # @return [Object] Deserialized data
105
133
  def _deserialize(type, value)
106
134
  case type.to_sym
107
- when :DateTime
108
- DateTime.parse(value)
135
+ when :Time
136
+ Time.parse(value)
109
137
  when :Date
110
138
  Date.parse(value)
111
139
  when :String
@@ -114,7 +142,7 @@ module MuxRuby
114
142
  value.to_i
115
143
  when :Float
116
144
  value.to_f
117
- when :BOOLEAN
145
+ when :Boolean
118
146
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
119
147
  true
120
148
  else
@@ -135,7 +163,9 @@ module MuxRuby
135
163
  end
136
164
  end
137
165
  else # model
138
- MuxRuby.const_get(type).build_from_hash(value)
166
+ # models (e.g. Pet) or oneOf
167
+ klass = MuxRuby.const_get(type)
168
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
139
169
  end
140
170
  end
141
171
 
@@ -157,7 +187,11 @@ module MuxRuby
157
187
  hash = {}
158
188
  self.class.attribute_map.each_pair do |attr, param|
159
189
  value = self.send(attr)
160
- next if value.nil?
190
+ if value.nil?
191
+ is_nullable = self.class.openapi_nullable.include?(attr)
192
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
193
+ end
194
+
161
195
  hash[param] = _to_hash(value)
162
196
  end
163
197
  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 GetRealTimeTimeseriesResponse
@@ -22,6 +30,11 @@ module MuxRuby
22
30
  }
23
31
  end
24
32
 
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
25
38
  # Attribute type mapping.
26
39
  def self.openapi_types
27
40
  {
@@ -31,25 +44,38 @@ module MuxRuby
31
44
  }
32
45
  end
33
46
 
47
+ # List of attributes with nullable: true
48
+ def self.openapi_nullable
49
+ Set.new([
50
+ ])
51
+ end
52
+
34
53
  # Initializes the object
35
54
  # @param [Hash] attributes Model attributes in the form of hash
36
55
  def initialize(attributes = {})
37
- return unless attributes.is_a?(Hash)
56
+ if (!attributes.is_a?(Hash))
57
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::GetRealTimeTimeseriesResponse` initialize method"
58
+ end
38
59
 
39
- # convert string to symbol for hash key
40
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
60
+ # check to see if the attribute exists and convert string to symbol for hash key
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!self.class.attribute_map.key?(k.to_sym))
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::GetRealTimeTimeseriesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
+ end
65
+ h[k.to_sym] = v
66
+ }
41
67
 
42
- if attributes.has_key?(:'data')
68
+ if attributes.key?(:'data')
43
69
  if (value = attributes[:'data']).is_a?(Array)
44
70
  self.data = value
45
71
  end
46
72
  end
47
73
 
48
- if attributes.has_key?(:'total_row_count')
74
+ if attributes.key?(:'total_row_count')
49
75
  self.total_row_count = attributes[:'total_row_count']
50
76
  end
51
77
 
52
- if attributes.has_key?(:'timeframe')
78
+ if attributes.key?(:'timeframe')
53
79
  if (value = attributes[:'timeframe']).is_a?(Array)
54
80
  self.timeframe = value
55
81
  end
@@ -86,7 +112,7 @@ module MuxRuby
86
112
  end
87
113
 
88
114
  # Calculates hash code according to all attributes.
89
- # @return [Fixnum] Hash code
115
+ # @return [Integer] Hash code
90
116
  def hash
91
117
  [data, total_row_count, timeframe].hash
92
118
  end
@@ -104,7 +130,9 @@ module MuxRuby
104
130
  def build_from_hash(attributes)
105
131
  return nil unless attributes.is_a?(Hash)
106
132
  self.class.openapi_types.each_pair do |key, type|
107
- if type =~ /\AArray<(.*)>/i
133
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
134
+ self.send("#{key}=", nil)
135
+ elsif type =~ /\AArray<(.*)>/i
108
136
  # check to ensure the input is an array given that the attribute
109
137
  # is documented as an array but the input is not
110
138
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -112,7 +140,7 @@ module MuxRuby
112
140
  end
113
141
  elsif !attributes[self.class.attribute_map[key]].nil?
114
142
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
115
- end # or else data not found in attributes(hash), not an issue as the data can be optional
143
+ end
116
144
  end
117
145
 
118
146
  self
@@ -124,8 +152,8 @@ module MuxRuby
124
152
  # @return [Object] Deserialized data
125
153
  def _deserialize(type, value)
126
154
  case type.to_sym
127
- when :DateTime
128
- DateTime.parse(value)
155
+ when :Time
156
+ Time.parse(value)
129
157
  when :Date
130
158
  Date.parse(value)
131
159
  when :String
@@ -134,7 +162,7 @@ module MuxRuby
134
162
  value.to_i
135
163
  when :Float
136
164
  value.to_f
137
- when :BOOLEAN
165
+ when :Boolean
138
166
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
139
167
  true
140
168
  else
@@ -155,7 +183,9 @@ module MuxRuby
155
183
  end
156
184
  end
157
185
  else # model
158
- MuxRuby.const_get(type).build_from_hash(value)
186
+ # models (e.g. Pet) or oneOf
187
+ klass = MuxRuby.const_get(type)
188
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
159
189
  end
160
190
  end
161
191
 
@@ -177,7 +207,11 @@ module MuxRuby
177
207
  hash = {}
178
208
  self.class.attribute_map.each_pair do |attr, param|
179
209
  value = self.send(attr)
180
- next if value.nil?
210
+ if value.nil?
211
+ is_nullable = self.class.openapi_nullable.include?(attr)
212
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
213
+ end
214
+
181
215
  hash[param] = _to_hash(value)
182
216
  end
183
217
  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 Incident
@@ -76,6 +84,11 @@ module MuxRuby
76
84
  }
77
85
  end
78
86
 
87
+ # Returns all the JSON keys this model knows about
88
+ def self.acceptable_attributes
89
+ attribute_map.values
90
+ end
91
+
79
92
  # Attribute type mapping.
80
93
  def self.openapi_types
81
94
  {
@@ -103,101 +116,114 @@ module MuxRuby
103
116
  }
104
117
  end
105
118
 
119
+ # List of attributes with nullable: true
120
+ def self.openapi_nullable
121
+ Set.new([
122
+ ])
123
+ end
124
+
106
125
  # Initializes the object
107
126
  # @param [Hash] attributes Model attributes in the form of hash
108
127
  def initialize(attributes = {})
109
- return unless attributes.is_a?(Hash)
128
+ if (!attributes.is_a?(Hash))
129
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::Incident` initialize method"
130
+ end
110
131
 
111
- # convert string to symbol for hash key
112
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
132
+ # check to see if the attribute exists and convert string to symbol for hash key
133
+ attributes = attributes.each_with_object({}) { |(k, v), h|
134
+ if (!self.class.attribute_map.key?(k.to_sym))
135
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::Incident`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
136
+ end
137
+ h[k.to_sym] = v
138
+ }
113
139
 
114
- if attributes.has_key?(:'threshold')
140
+ if attributes.key?(:'threshold')
115
141
  self.threshold = attributes[:'threshold']
116
142
  end
117
143
 
118
- if attributes.has_key?(:'status')
144
+ if attributes.key?(:'status')
119
145
  self.status = attributes[:'status']
120
146
  end
121
147
 
122
- if attributes.has_key?(:'started_at')
148
+ if attributes.key?(:'started_at')
123
149
  self.started_at = attributes[:'started_at']
124
150
  end
125
151
 
126
- if attributes.has_key?(:'severity')
152
+ if attributes.key?(:'severity')
127
153
  self.severity = attributes[:'severity']
128
154
  end
129
155
 
130
- if attributes.has_key?(:'sample_size_unit')
156
+ if attributes.key?(:'sample_size_unit')
131
157
  self.sample_size_unit = attributes[:'sample_size_unit']
132
158
  end
133
159
 
134
- if attributes.has_key?(:'sample_size')
160
+ if attributes.key?(:'sample_size')
135
161
  self.sample_size = attributes[:'sample_size']
136
162
  end
137
163
 
138
- if attributes.has_key?(:'resolved_at')
164
+ if attributes.key?(:'resolved_at')
139
165
  self.resolved_at = attributes[:'resolved_at']
140
166
  end
141
167
 
142
- if attributes.has_key?(:'notifications')
168
+ if attributes.key?(:'notifications')
143
169
  if (value = attributes[:'notifications']).is_a?(Array)
144
170
  self.notifications = value
145
171
  end
146
172
  end
147
173
 
148
- if attributes.has_key?(:'notification_rules')
174
+ if attributes.key?(:'notification_rules')
149
175
  if (value = attributes[:'notification_rules']).is_a?(Array)
150
176
  self.notification_rules = value
151
177
  end
152
178
  end
153
179
 
154
- if attributes.has_key?(:'measurement')
180
+ if attributes.key?(:'measurement')
155
181
  self.measurement = attributes[:'measurement']
156
182
  end
157
183
 
158
- if attributes.has_key?(:'measured_value_on_close')
184
+ if attributes.key?(:'measured_value_on_close')
159
185
  self.measured_value_on_close = attributes[:'measured_value_on_close']
160
186
  end
161
187
 
162
- if attributes.has_key?(:'measured_value')
188
+ if attributes.key?(:'measured_value')
163
189
  self.measured_value = attributes[:'measured_value']
164
190
  end
165
191
 
166
- if attributes.has_key?(:'incident_key')
192
+ if attributes.key?(:'incident_key')
167
193
  self.incident_key = attributes[:'incident_key']
168
194
  end
169
195
 
170
- if attributes.has_key?(:'impact')
196
+ if attributes.key?(:'impact')
171
197
  self.impact = attributes[:'impact']
172
198
  end
173
199
 
174
- if attributes.has_key?(:'id')
200
+ if attributes.key?(:'id')
175
201
  self.id = attributes[:'id']
176
202
  end
177
203
 
178
- if attributes.has_key?(:'error_description')
204
+ if attributes.key?(:'error_description')
179
205
  self.error_description = attributes[:'error_description']
180
206
  end
181
207
 
182
- if attributes.has_key?(:'description')
208
+ if attributes.key?(:'description')
183
209
  self.description = attributes[:'description']
184
210
  end
185
211
 
186
- if attributes.has_key?(:'breakdowns')
212
+ if attributes.key?(:'breakdowns')
187
213
  if (value = attributes[:'breakdowns']).is_a?(Array)
188
214
  self.breakdowns = value
189
215
  end
190
216
  end
191
217
 
192
- if attributes.has_key?(:'affected_views_per_hour_on_open')
218
+ if attributes.key?(:'affected_views_per_hour_on_open')
193
219
  self.affected_views_per_hour_on_open = attributes[:'affected_views_per_hour_on_open']
194
220
  end
195
221
 
196
- if attributes.has_key?(:'affected_views_per_hour')
222
+ if attributes.key?(:'affected_views_per_hour')
197
223
  self.affected_views_per_hour = attributes[:'affected_views_per_hour']
198
224
  end
199
225
 
200
- if attributes.has_key?(:'affected_views')
226
+ if attributes.key?(:'affected_views')
201
227
  self.affected_views = attributes[:'affected_views']
202
228
  end
203
229
  end
@@ -250,7 +276,7 @@ module MuxRuby
250
276
  end
251
277
 
252
278
  # Calculates hash code according to all attributes.
253
- # @return [Fixnum] Hash code
279
+ # @return [Integer] Hash code
254
280
  def hash
255
281
  [threshold, status, started_at, severity, sample_size_unit, sample_size, resolved_at, notifications, notification_rules, measurement, measured_value_on_close, measured_value, incident_key, impact, id, error_description, description, breakdowns, affected_views_per_hour_on_open, affected_views_per_hour, affected_views].hash
256
282
  end
@@ -268,7 +294,9 @@ module MuxRuby
268
294
  def build_from_hash(attributes)
269
295
  return nil unless attributes.is_a?(Hash)
270
296
  self.class.openapi_types.each_pair do |key, type|
271
- if type =~ /\AArray<(.*)>/i
297
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
298
+ self.send("#{key}=", nil)
299
+ elsif type =~ /\AArray<(.*)>/i
272
300
  # check to ensure the input is an array given that the attribute
273
301
  # is documented as an array but the input is not
274
302
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -276,7 +304,7 @@ module MuxRuby
276
304
  end
277
305
  elsif !attributes[self.class.attribute_map[key]].nil?
278
306
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
279
- end # or else data not found in attributes(hash), not an issue as the data can be optional
307
+ end
280
308
  end
281
309
 
282
310
  self
@@ -288,8 +316,8 @@ module MuxRuby
288
316
  # @return [Object] Deserialized data
289
317
  def _deserialize(type, value)
290
318
  case type.to_sym
291
- when :DateTime
292
- DateTime.parse(value)
319
+ when :Time
320
+ Time.parse(value)
293
321
  when :Date
294
322
  Date.parse(value)
295
323
  when :String
@@ -298,7 +326,7 @@ module MuxRuby
298
326
  value.to_i
299
327
  when :Float
300
328
  value.to_f
301
- when :BOOLEAN
329
+ when :Boolean
302
330
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
303
331
  true
304
332
  else
@@ -319,7 +347,9 @@ module MuxRuby
319
347
  end
320
348
  end
321
349
  else # model
322
- MuxRuby.const_get(type).build_from_hash(value)
350
+ # models (e.g. Pet) or oneOf
351
+ klass = MuxRuby.const_get(type)
352
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
323
353
  end
324
354
  end
325
355
 
@@ -341,7 +371,11 @@ module MuxRuby
341
371
  hash = {}
342
372
  self.class.attribute_map.each_pair do |attr, param|
343
373
  value = self.send(attr)
344
- next if value.nil?
374
+ if value.nil?
375
+ is_nullable = self.class.openapi_nullable.include?(attr)
376
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
377
+ end
378
+
345
379
  hash[param] = _to_hash(value)
346
380
  end
347
381
  hash