mux_ruby 1.9.0 → 2.1.0

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