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 IncidentBreakdown
@@ -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,23 +44,36 @@ 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::IncidentBreakdown` 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::IncidentBreakdown`. 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?(:'value')
68
+ if attributes.key?(:'value')
43
69
  self.value = attributes[:'value']
44
70
  end
45
71
 
46
- if attributes.has_key?(:'name')
72
+ if attributes.key?(:'name')
47
73
  self.name = attributes[:'name']
48
74
  end
49
75
 
50
- if attributes.has_key?(:'id')
76
+ if attributes.key?(:'id')
51
77
  self.id = attributes[:'id']
52
78
  end
53
79
  end
@@ -82,7 +108,7 @@ module MuxRuby
82
108
  end
83
109
 
84
110
  # Calculates hash code according to all attributes.
85
- # @return [Fixnum] Hash code
111
+ # @return [Integer] Hash code
86
112
  def hash
87
113
  [value, name, id].hash
88
114
  end
@@ -100,7 +126,9 @@ module MuxRuby
100
126
  def build_from_hash(attributes)
101
127
  return nil unless attributes.is_a?(Hash)
102
128
  self.class.openapi_types.each_pair do |key, type|
103
- if type =~ /\AArray<(.*)>/i
129
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
130
+ self.send("#{key}=", nil)
131
+ elsif type =~ /\AArray<(.*)>/i
104
132
  # check to ensure the input is an array given that the attribute
105
133
  # is documented as an array but the input is not
106
134
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -108,7 +136,7 @@ module MuxRuby
108
136
  end
109
137
  elsif !attributes[self.class.attribute_map[key]].nil?
110
138
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
111
- end # or else data not found in attributes(hash), not an issue as the data can be optional
139
+ end
112
140
  end
113
141
 
114
142
  self
@@ -120,8 +148,8 @@ module MuxRuby
120
148
  # @return [Object] Deserialized data
121
149
  def _deserialize(type, value)
122
150
  case type.to_sym
123
- when :DateTime
124
- DateTime.parse(value)
151
+ when :Time
152
+ Time.parse(value)
125
153
  when :Date
126
154
  Date.parse(value)
127
155
  when :String
@@ -130,7 +158,7 @@ module MuxRuby
130
158
  value.to_i
131
159
  when :Float
132
160
  value.to_f
133
- when :BOOLEAN
161
+ when :Boolean
134
162
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
135
163
  true
136
164
  else
@@ -151,7 +179,9 @@ module MuxRuby
151
179
  end
152
180
  end
153
181
  else # model
154
- MuxRuby.const_get(type).build_from_hash(value)
182
+ # models (e.g. Pet) or oneOf
183
+ klass = MuxRuby.const_get(type)
184
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
155
185
  end
156
186
  end
157
187
 
@@ -173,7 +203,11 @@ module MuxRuby
173
203
  hash = {}
174
204
  self.class.attribute_map.each_pair do |attr, param|
175
205
  value = self.send(attr)
176
- next if value.nil?
206
+ if value.nil?
207
+ is_nullable = self.class.openapi_nullable.include?(attr)
208
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
209
+ end
210
+
177
211
  hash[param] = _to_hash(value)
178
212
  end
179
213
  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 IncidentNotification
@@ -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,23 +44,36 @@ 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::IncidentNotification` 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::IncidentNotification`. 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?(:'queued_at')
68
+ if attributes.key?(:'queued_at')
43
69
  self.queued_at = attributes[:'queued_at']
44
70
  end
45
71
 
46
- if attributes.has_key?(:'id')
72
+ if attributes.key?(:'id')
47
73
  self.id = attributes[:'id']
48
74
  end
49
75
 
50
- if attributes.has_key?(:'attempted_at')
76
+ if attributes.key?(:'attempted_at')
51
77
  self.attempted_at = attributes[:'attempted_at']
52
78
  end
53
79
  end
@@ -82,7 +108,7 @@ module MuxRuby
82
108
  end
83
109
 
84
110
  # Calculates hash code according to all attributes.
85
- # @return [Fixnum] Hash code
111
+ # @return [Integer] Hash code
86
112
  def hash
87
113
  [queued_at, id, attempted_at].hash
88
114
  end
@@ -100,7 +126,9 @@ module MuxRuby
100
126
  def build_from_hash(attributes)
101
127
  return nil unless attributes.is_a?(Hash)
102
128
  self.class.openapi_types.each_pair do |key, type|
103
- if type =~ /\AArray<(.*)>/i
129
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
130
+ self.send("#{key}=", nil)
131
+ elsif type =~ /\AArray<(.*)>/i
104
132
  # check to ensure the input is an array given that the attribute
105
133
  # is documented as an array but the input is not
106
134
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -108,7 +136,7 @@ module MuxRuby
108
136
  end
109
137
  elsif !attributes[self.class.attribute_map[key]].nil?
110
138
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
111
- end # or else data not found in attributes(hash), not an issue as the data can be optional
139
+ end
112
140
  end
113
141
 
114
142
  self
@@ -120,8 +148,8 @@ module MuxRuby
120
148
  # @return [Object] Deserialized data
121
149
  def _deserialize(type, value)
122
150
  case type.to_sym
123
- when :DateTime
124
- DateTime.parse(value)
151
+ when :Time
152
+ Time.parse(value)
125
153
  when :Date
126
154
  Date.parse(value)
127
155
  when :String
@@ -130,7 +158,7 @@ module MuxRuby
130
158
  value.to_i
131
159
  when :Float
132
160
  value.to_f
133
- when :BOOLEAN
161
+ when :Boolean
134
162
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
135
163
  true
136
164
  else
@@ -151,7 +179,9 @@ module MuxRuby
151
179
  end
152
180
  end
153
181
  else # model
154
- MuxRuby.const_get(type).build_from_hash(value)
182
+ # models (e.g. Pet) or oneOf
183
+ klass = MuxRuby.const_get(type)
184
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
155
185
  end
156
186
  end
157
187
 
@@ -173,7 +203,11 @@ module MuxRuby
173
203
  hash = {}
174
204
  self.class.attribute_map.each_pair do |attr, param|
175
205
  value = self.send(attr)
176
- next if value.nil?
206
+ if value.nil?
207
+ is_nullable = self.class.openapi_nullable.include?(attr)
208
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
209
+ end
210
+
177
211
  hash[param] = _to_hash(value)
178
212
  end
179
213
  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 IncidentNotificationRule
@@ -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,33 +52,46 @@ 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::IncidentNotificationRule` 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::IncidentNotificationRule`. 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?(:'status')
76
+ if attributes.key?(:'status')
51
77
  self.status = attributes[:'status']
52
78
  end
53
79
 
54
- if attributes.has_key?(:'rules')
80
+ if attributes.key?(:'rules')
55
81
  if (value = attributes[:'rules']).is_a?(Array)
56
82
  self.rules = value
57
83
  end
58
84
  end
59
85
 
60
- if attributes.has_key?(:'property_id')
86
+ if attributes.key?(:'property_id')
61
87
  self.property_id = attributes[:'property_id']
62
88
  end
63
89
 
64
- if attributes.has_key?(:'id')
90
+ if attributes.key?(:'id')
65
91
  self.id = attributes[:'id']
66
92
  end
67
93
 
68
- if attributes.has_key?(:'action')
94
+ if attributes.key?(:'action')
69
95
  self.action = attributes[:'action']
70
96
  end
71
97
  end
@@ -102,7 +128,7 @@ module MuxRuby
102
128
  end
103
129
 
104
130
  # Calculates hash code according to all attributes.
105
- # @return [Fixnum] Hash code
131
+ # @return [Integer] Hash code
106
132
  def hash
107
133
  [status, rules, property_id, id, action].hash
108
134
  end
@@ -120,7 +146,9 @@ module MuxRuby
120
146
  def build_from_hash(attributes)
121
147
  return nil unless attributes.is_a?(Hash)
122
148
  self.class.openapi_types.each_pair do |key, type|
123
- if type =~ /\AArray<(.*)>/i
149
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
150
+ self.send("#{key}=", nil)
151
+ elsif type =~ /\AArray<(.*)>/i
124
152
  # check to ensure the input is an array given that the attribute
125
153
  # is documented as an array but the input is not
126
154
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -128,7 +156,7 @@ module MuxRuby
128
156
  end
129
157
  elsif !attributes[self.class.attribute_map[key]].nil?
130
158
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
131
- end # or else data not found in attributes(hash), not an issue as the data can be optional
159
+ end
132
160
  end
133
161
 
134
162
  self
@@ -140,8 +168,8 @@ module MuxRuby
140
168
  # @return [Object] Deserialized data
141
169
  def _deserialize(type, value)
142
170
  case type.to_sym
143
- when :DateTime
144
- DateTime.parse(value)
171
+ when :Time
172
+ Time.parse(value)
145
173
  when :Date
146
174
  Date.parse(value)
147
175
  when :String
@@ -150,7 +178,7 @@ module MuxRuby
150
178
  value.to_i
151
179
  when :Float
152
180
  value.to_f
153
- when :BOOLEAN
181
+ when :Boolean
154
182
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
155
183
  true
156
184
  else
@@ -171,7 +199,9 @@ module MuxRuby
171
199
  end
172
200
  end
173
201
  else # model
174
- MuxRuby.const_get(type).build_from_hash(value)
202
+ # models (e.g. Pet) or oneOf
203
+ klass = MuxRuby.const_get(type)
204
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
175
205
  end
176
206
  end
177
207
 
@@ -193,7 +223,11 @@ module MuxRuby
193
223
  hash = {}
194
224
  self.class.attribute_map.each_pair do |attr, param|
195
225
  value = self.send(attr)
196
- next if value.nil?
226
+ if value.nil?
227
+ is_nullable = self.class.openapi_nullable.include?(attr)
228
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
229
+ end
230
+
197
231
  hash[param] = _to_hash(value)
198
232
  end
199
233
  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 IncidentResponse
@@ -19,6 +27,11 @@ module MuxRuby
19
27
  }
20
28
  end
21
29
 
30
+ # Returns all the JSON keys this model knows about
31
+ def self.acceptable_attributes
32
+ attribute_map.values
33
+ end
34
+
22
35
  # Attribute type mapping.
23
36
  def self.openapi_types
24
37
  {
@@ -27,19 +40,32 @@ module MuxRuby
27
40
  }
28
41
  end
29
42
 
43
+ # List of attributes with nullable: true
44
+ def self.openapi_nullable
45
+ Set.new([
46
+ ])
47
+ end
48
+
30
49
  # Initializes the object
31
50
  # @param [Hash] attributes Model attributes in the form of hash
32
51
  def initialize(attributes = {})
33
- return unless attributes.is_a?(Hash)
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::IncidentResponse` initialize method"
54
+ end
34
55
 
35
- # convert string to symbol for hash key
36
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::IncidentResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
37
63
 
38
- if attributes.has_key?(:'data')
64
+ if attributes.key?(:'data')
39
65
  self.data = attributes[:'data']
40
66
  end
41
67
 
42
- if attributes.has_key?(:'timeframe')
68
+ if attributes.key?(:'timeframe')
43
69
  if (value = attributes[:'timeframe']).is_a?(Array)
44
70
  self.timeframe = value
45
71
  end
@@ -75,7 +101,7 @@ module MuxRuby
75
101
  end
76
102
 
77
103
  # Calculates hash code according to all attributes.
78
- # @return [Fixnum] Hash code
104
+ # @return [Integer] Hash code
79
105
  def hash
80
106
  [data, timeframe].hash
81
107
  end
@@ -93,7 +119,9 @@ module MuxRuby
93
119
  def build_from_hash(attributes)
94
120
  return nil unless attributes.is_a?(Hash)
95
121
  self.class.openapi_types.each_pair do |key, type|
96
- if type =~ /\AArray<(.*)>/i
122
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
123
+ self.send("#{key}=", nil)
124
+ elsif type =~ /\AArray<(.*)>/i
97
125
  # check to ensure the input is an array given that the attribute
98
126
  # is documented as an array but the input is not
99
127
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -101,7 +129,7 @@ module MuxRuby
101
129
  end
102
130
  elsif !attributes[self.class.attribute_map[key]].nil?
103
131
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
104
- end # or else data not found in attributes(hash), not an issue as the data can be optional
132
+ end
105
133
  end
106
134
 
107
135
  self
@@ -113,8 +141,8 @@ module MuxRuby
113
141
  # @return [Object] Deserialized data
114
142
  def _deserialize(type, value)
115
143
  case type.to_sym
116
- when :DateTime
117
- DateTime.parse(value)
144
+ when :Time
145
+ Time.parse(value)
118
146
  when :Date
119
147
  Date.parse(value)
120
148
  when :String
@@ -123,7 +151,7 @@ module MuxRuby
123
151
  value.to_i
124
152
  when :Float
125
153
  value.to_f
126
- when :BOOLEAN
154
+ when :Boolean
127
155
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
128
156
  true
129
157
  else
@@ -144,7 +172,9 @@ module MuxRuby
144
172
  end
145
173
  end
146
174
  else # model
147
- MuxRuby.const_get(type).build_from_hash(value)
175
+ # models (e.g. Pet) or oneOf
176
+ klass = MuxRuby.const_get(type)
177
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
148
178
  end
149
179
  end
150
180
 
@@ -166,7 +196,11 @@ module MuxRuby
166
196
  hash = {}
167
197
  self.class.attribute_map.each_pair do |attr, param|
168
198
  value = self.send(attr)
169
- next if value.nil?
199
+ if value.nil?
200
+ is_nullable = self.class.openapi_nullable.include?(attr)
201
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
202
+ end
203
+
170
204
  hash[param] = _to_hash(value)
171
205
  end
172
206
  hash