mux_ruby 1.6.0 → 2.0.0.pre.rc.2

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 (314) 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 -23
  7. data/docs/AssetErrors.md +15 -4
  8. data/docs/AssetMaster.md +15 -4
  9. data/docs/AssetNonStandardInputReasons.md +34 -0
  10. data/docs/AssetRecordingTimes.md +20 -0
  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 +20 -0
  27. data/docs/DimensionsApi.md +156 -0
  28. data/docs/DirectUploadsApi.md +131 -56
  29. data/docs/DisableLiveStreamResponse.md +18 -0
  30. data/docs/EnableLiveStreamResponse.md +18 -0
  31. data/docs/Error.md +27 -10
  32. data/docs/ErrorsApi.md +38 -20
  33. data/docs/ExportsApi.md +33 -14
  34. data/docs/FilterValue.md +15 -4
  35. data/docs/FiltersApi.md +73 -35
  36. data/docs/GetAssetInputInfoResponse.md +13 -3
  37. data/docs/GetAssetOrLiveStreamIdResponse.md +18 -0
  38. data/docs/GetAssetOrLiveStreamIdResponseData.md +22 -0
  39. data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +20 -0
  40. data/docs/GetAssetPlaybackIDResponse.md +13 -3
  41. data/docs/GetMetricTimeseriesDataResponse.md +17 -5
  42. data/docs/GetOverallValuesResponse.md +17 -5
  43. data/docs/GetRealTimeBreakdownResponse.md +22 -0
  44. data/docs/GetRealTimeHistogramTimeseriesResponse.md +24 -0
  45. data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +18 -0
  46. data/docs/GetRealTimeTimeseriesResponse.md +22 -0
  47. data/docs/Incident.md +58 -0
  48. data/docs/IncidentBreakdown.md +22 -0
  49. data/docs/IncidentNotification.md +22 -0
  50. data/docs/IncidentNotificationRule.md +26 -0
  51. data/docs/IncidentResponse.md +20 -0
  52. data/docs/IncidentsApi.md +242 -0
  53. data/docs/InputFile.md +15 -4
  54. data/docs/InputInfo.md +15 -4
  55. data/docs/InputSettings.md +31 -10
  56. data/docs/InputSettingsOverlaySettings.md +25 -9
  57. data/docs/InputTrack.md +29 -11
  58. data/docs/Insight.md +23 -8
  59. data/docs/ListAllMetricValuesResponse.md +17 -5
  60. data/docs/ListAssetsResponse.md +13 -3
  61. data/docs/ListBreakdownValuesResponse.md +17 -5
  62. data/docs/ListDeliveryUsageResponse.md +19 -6
  63. data/docs/ListDimensionValuesResponse.md +22 -0
  64. data/docs/ListDimensionsResponse.md +22 -0
  65. data/docs/ListErrorsResponse.md +17 -5
  66. data/docs/ListExportsResponse.md +17 -5
  67. data/docs/ListFilterValuesResponse.md +17 -5
  68. data/docs/ListFiltersResponse.md +17 -5
  69. data/docs/ListFiltersResponseData.md +15 -4
  70. data/docs/ListIncidentsResponse.md +22 -0
  71. data/docs/ListInsightsResponse.md +17 -5
  72. data/docs/ListLiveStreamsResponse.md +13 -3
  73. data/docs/ListRealTimeDimensionsResponse.md +22 -0
  74. data/docs/ListRealTimeDimensionsResponseData.md +20 -0
  75. data/docs/ListRealTimeMetricsResponse.md +22 -0
  76. data/docs/ListRelatedIncidentsResponse.md +22 -0
  77. data/docs/ListSigningKeysResponse.md +13 -3
  78. data/docs/ListUploadsResponse.md +13 -3
  79. data/docs/ListVideoViewsResponse.md +17 -5
  80. data/docs/LiveStream.md +39 -15
  81. data/docs/LiveStreamResponse.md +13 -3
  82. data/docs/LiveStreamsApi.md +497 -145
  83. data/docs/Metric.md +21 -7
  84. data/docs/MetricsApi.md +211 -117
  85. data/docs/NotificationRule.md +22 -0
  86. data/docs/OverallValues.md +19 -6
  87. data/docs/PlaybackID.md +15 -4
  88. data/docs/PlaybackIDApi.md +78 -0
  89. data/docs/PlaybackPolicy.md +10 -2
  90. data/docs/RealTimeApi.md +376 -0
  91. data/docs/RealTimeBreakdownValue.md +26 -0
  92. data/docs/RealTimeHistogramTimeseriesBucket.md +20 -0
  93. data/docs/RealTimeHistogramTimeseriesBucketValues.md +20 -0
  94. data/docs/RealTimeHistogramTimeseriesDatapoint.md +30 -0
  95. data/docs/RealTimeTimeseriesDatapoint.md +22 -0
  96. data/docs/Score.md +23 -8
  97. data/docs/SignalLiveStreamCompleteResponse.md +13 -3
  98. data/docs/SigningKey.md +17 -5
  99. data/docs/SigningKeyResponse.md +13 -3
  100. data/docs/SimulcastTarget.md +21 -7
  101. data/docs/SimulcastTargetResponse.md +13 -3
  102. data/docs/Track.md +37 -15
  103. data/docs/URLSigningKeysApi.md +130 -54
  104. data/docs/UpdateAssetMP4SupportRequest.md +13 -3
  105. data/docs/UpdateAssetMasterAccessRequest.md +13 -3
  106. data/docs/Upload.md +29 -11
  107. data/docs/UploadError.md +15 -4
  108. data/docs/UploadResponse.md +13 -3
  109. data/docs/VideoView.md +251 -114
  110. data/docs/VideoViewEvent.md +19 -6
  111. data/docs/VideoViewResponse.md +15 -4
  112. data/docs/VideoViewsApi.md +78 -41
  113. data/examples/data/exercise-dimensions.rb +29 -0
  114. data/examples/data/exercise-incidents.rb +29 -0
  115. data/examples/data/exercise-realtime.rb +60 -0
  116. data/examples/video/exercise-assets.rb +21 -0
  117. data/examples/video/exercise-live-streams.rb +30 -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 +43 -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 +154 -0
  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 +30 -14
  163. data/lib/mux_ruby/api/filters_api.rb +57 -31
  164. data/lib/mux_ruby/api/incidents_api.rb +259 -0
  165. data/lib/mux_ruby/api/live_streams_api.rb +381 -133
  166. data/lib/mux_ruby/api/metrics_api.rb +185 -114
  167. data/lib/mux_ruby/api/playback_id_api.rb +85 -0
  168. data/lib/mux_ruby/api/real_time_api.rb +373 -0
  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 +157 -53
  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 +370 -0
  179. data/lib/mux_ruby/models/asset_recording_times.rb +229 -0
  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 +227 -0
  194. data/lib/mux_ruby/models/disable_live_stream_response.rb +218 -0
  195. data/lib/mux_ruby/models/enable_live_stream_response.rb +218 -0
  196. data/lib/mux_ruby/models/error.rb +63 -21
  197. data/lib/mux_ruby/models/filter_value.rb +49 -15
  198. data/lib/mux_ruby/models/get_asset_input_info_response.rb +48 -14
  199. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +218 -0
  200. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +237 -0
  201. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +264 -0
  202. data/lib/mux_ruby/models/get_asset_playback_id_response.rb +48 -14
  203. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +50 -16
  204. data/lib/mux_ruby/models/get_overall_values_response.rb +50 -16
  205. data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +240 -0
  206. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +249 -0
  207. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +220 -0
  208. data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +240 -0
  209. data/lib/mux_ruby/models/incident.rb +404 -0
  210. data/lib/mux_ruby/models/incident_breakdown.rb +236 -0
  211. data/lib/mux_ruby/models/incident_notification.rb +236 -0
  212. data/lib/mux_ruby/models/incident_notification_rule.rb +256 -0
  213. data/lib/mux_ruby/models/incident_response.rb +229 -0
  214. data/lib/mux_ruby/models/input_file.rb +49 -15
  215. data/lib/mux_ruby/models/input_info.rb +49 -15
  216. data/lib/mux_ruby/models/input_settings.rb +91 -30
  217. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +68 -26
  218. data/lib/mux_ruby/models/input_track.rb +56 -22
  219. data/lib/mux_ruby/models/insight.rb +53 -19
  220. data/lib/mux_ruby/models/list_all_metric_values_response.rb +50 -16
  221. data/lib/mux_ruby/models/list_assets_response.rb +48 -14
  222. data/lib/mux_ruby/models/list_breakdown_values_response.rb +50 -16
  223. data/lib/mux_ruby/models/list_delivery_usage_response.rb +51 -17
  224. data/lib/mux_ruby/models/list_dimension_values_response.rb +240 -0
  225. data/lib/mux_ruby/models/list_dimensions_response.rb +238 -0
  226. data/lib/mux_ruby/models/list_errors_response.rb +50 -16
  227. data/lib/mux_ruby/models/list_exports_response.rb +50 -16
  228. data/lib/mux_ruby/models/list_filter_values_response.rb +50 -16
  229. data/lib/mux_ruby/models/list_filters_response.rb +50 -16
  230. data/lib/mux_ruby/models/list_filters_response_data.rb +49 -15
  231. data/lib/mux_ruby/models/list_incidents_response.rb +240 -0
  232. data/lib/mux_ruby/models/list_insights_response.rb +50 -16
  233. data/lib/mux_ruby/models/list_live_streams_response.rb +48 -14
  234. data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +240 -0
  235. data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +227 -0
  236. data/lib/mux_ruby/models/list_real_time_metrics_response.rb +240 -0
  237. data/lib/mux_ruby/models/list_related_incidents_response.rb +240 -0
  238. data/lib/mux_ruby/models/list_signing_keys_response.rb +48 -14
  239. data/lib/mux_ruby/models/list_uploads_response.rb +48 -14
  240. data/lib/mux_ruby/models/list_video_views_response.rb +50 -16
  241. data/lib/mux_ruby/models/live_stream.rb +121 -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 +236 -0
  245. data/lib/mux_ruby/models/overall_values.rb +51 -17
  246. data/lib/mux_ruby/models/playback_id.rb +50 -15
  247. data/lib/mux_ruby/models/playback_policy.rb +12 -6
  248. data/lib/mux_ruby/models/real_time_breakdown_value.rb +254 -0
  249. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +227 -0
  250. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +227 -0
  251. data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +274 -0
  252. data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +236 -0
  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 +55 -21
  258. data/lib/mux_ruby/models/simulcast_target_response.rb +48 -14
  259. data/lib/mux_ruby/models/track.rb +92 -33
  260. data/lib/mux_ruby/models/update_asset_master_access_request.rb +51 -17
  261. data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +51 -17
  262. data/lib/mux_ruby/models/upload.rb +62 -26
  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/mux_ruby.gemspec +15 -15
  270. data/spec/api/assets_api_spec.rb +2 -0
  271. data/spec/api/dimensions_api_spec.rb +55 -0
  272. data/spec/api/filters_api_spec.rb +2 -2
  273. data/spec/api/incidents_api_spec.rb +73 -0
  274. data/spec/api/live_streams_api_spec.rb +24 -0
  275. data/spec/api/playback_id_api_spec.rb +40 -0
  276. data/spec/api/real_time_api_spec.rb +93 -0
  277. data/spec/api_client_spec.rb +10 -3
  278. data/spec/configuration_spec.rb +9 -2
  279. data/spec/models/asset_master_spec.rb +4 -0
  280. data/spec/models/asset_non_standard_input_reasons_spec.rb +98 -0
  281. data/spec/models/asset_recording_times_spec.rb +40 -0
  282. data/spec/models/asset_spec.rb +26 -0
  283. data/spec/models/dimension_value_spec.rb +40 -0
  284. data/spec/models/disable_live_stream_response_spec.rb +34 -0
  285. data/spec/models/enable_live_stream_response_spec.rb +34 -0
  286. data/spec/models/get_asset_or_live_stream_id_response_data_object_spec.rb +44 -0
  287. data/spec/models/get_asset_or_live_stream_id_response_data_spec.rb +46 -0
  288. data/spec/models/get_asset_or_live_stream_id_response_spec.rb +34 -0
  289. data/spec/models/get_real_time_breakdown_response_spec.rb +46 -0
  290. data/spec/models/get_real_time_histogram_timeseries_response_meta_spec.rb +34 -0
  291. data/spec/models/get_real_time_histogram_timeseries_response_spec.rb +52 -0
  292. data/spec/models/get_real_time_timeseries_response_spec.rb +46 -0
  293. data/spec/models/incident_breakdown_spec.rb +46 -0
  294. data/spec/models/incident_notification_rule_spec.rb +58 -0
  295. data/spec/models/incident_notification_spec.rb +46 -0
  296. data/spec/models/incident_response_spec.rb +40 -0
  297. data/spec/models/incident_spec.rb +154 -0
  298. data/spec/models/input_settings_spec.rb +12 -0
  299. data/spec/models/list_dimension_values_response_spec.rb +46 -0
  300. data/spec/models/list_dimensions_response_spec.rb +46 -0
  301. data/spec/models/list_incidents_response_spec.rb +46 -0
  302. data/spec/models/list_real_time_dimensions_response_data_spec.rb +40 -0
  303. data/spec/models/list_real_time_dimensions_response_spec.rb +46 -0
  304. data/spec/models/list_real_time_metrics_response_spec.rb +46 -0
  305. data/spec/models/list_related_incidents_response_spec.rb +46 -0
  306. data/spec/models/notification_rule_spec.rb +46 -0
  307. data/spec/models/real_time_breakdown_value_spec.rb +58 -0
  308. data/spec/models/real_time_histogram_timeseries_bucket_spec.rb +40 -0
  309. data/spec/models/real_time_histogram_timeseries_bucket_values_spec.rb +40 -0
  310. data/spec/models/real_time_histogram_timeseries_datapoint_spec.rb +70 -0
  311. data/spec/models/real_time_timeseries_datapoint_spec.rb +46 -0
  312. data/spec/models/track_spec.rb +4 -0
  313. data/spec/spec_helper.rb +9 -2
  314. metadata +246 -209
@@ -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 VideoViewEvent
@@ -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,27 +48,40 @@ 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::VideoViewEvent` 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::VideoViewEvent`. 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?(:'viewer_time')
72
+ if attributes.key?(:'viewer_time')
47
73
  self.viewer_time = attributes[:'viewer_time']
48
74
  end
49
75
 
50
- if attributes.has_key?(:'playback_time')
76
+ if attributes.key?(:'playback_time')
51
77
  self.playback_time = attributes[:'playback_time']
52
78
  end
53
79
 
54
- if attributes.has_key?(:'name')
80
+ if attributes.key?(:'name')
55
81
  self.name = attributes[:'name']
56
82
  end
57
83
 
58
- if attributes.has_key?(:'event_time')
84
+ if attributes.key?(:'event_time')
59
85
  self.event_time = attributes[:'event_time']
60
86
  end
61
87
  end
@@ -91,7 +117,7 @@ module MuxRuby
91
117
  end
92
118
 
93
119
  # Calculates hash code according to all attributes.
94
- # @return [Fixnum] Hash code
120
+ # @return [Integer] Hash code
95
121
  def hash
96
122
  [viewer_time, playback_time, name, event_time].hash
97
123
  end
@@ -109,7 +135,9 @@ module MuxRuby
109
135
  def build_from_hash(attributes)
110
136
  return nil unless attributes.is_a?(Hash)
111
137
  self.class.openapi_types.each_pair do |key, type|
112
- if type =~ /\AArray<(.*)>/i
138
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
139
+ self.send("#{key}=", nil)
140
+ elsif type =~ /\AArray<(.*)>/i
113
141
  # check to ensure the input is an array given that the attribute
114
142
  # is documented as an array but the input is not
115
143
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -117,7 +145,7 @@ module MuxRuby
117
145
  end
118
146
  elsif !attributes[self.class.attribute_map[key]].nil?
119
147
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
120
- end # or else data not found in attributes(hash), not an issue as the data can be optional
148
+ end
121
149
  end
122
150
 
123
151
  self
@@ -129,8 +157,8 @@ module MuxRuby
129
157
  # @return [Object] Deserialized data
130
158
  def _deserialize(type, value)
131
159
  case type.to_sym
132
- when :DateTime
133
- DateTime.parse(value)
160
+ when :Time
161
+ Time.parse(value)
134
162
  when :Date
135
163
  Date.parse(value)
136
164
  when :String
@@ -139,7 +167,7 @@ module MuxRuby
139
167
  value.to_i
140
168
  when :Float
141
169
  value.to_f
142
- when :BOOLEAN
170
+ when :Boolean
143
171
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
144
172
  true
145
173
  else
@@ -160,7 +188,9 @@ module MuxRuby
160
188
  end
161
189
  end
162
190
  else # model
163
- MuxRuby.const_get(type).build_from_hash(value)
191
+ # models (e.g. Pet) or oneOf
192
+ klass = MuxRuby.const_get(type)
193
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
164
194
  end
165
195
  end
166
196
 
@@ -182,7 +212,11 @@ module MuxRuby
182
212
  hash = {}
183
213
  self.class.attribute_map.each_pair do |attr, param|
184
214
  value = self.send(attr)
185
- next if value.nil?
215
+ if value.nil?
216
+ is_nullable = self.class.openapi_nullable.include?(attr)
217
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
218
+ end
219
+
186
220
  hash[param] = _to_hash(value)
187
221
  end
188
222
  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 VideoViewResponse
@@ -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::VideoViewResponse` 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::VideoViewResponse`. 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
@@ -1,8 +1,15 @@
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
  module MuxRuby
7
- VERSION = '1.6.0'
14
+ VERSION = '2.0.0-rc.2'
8
15
  end
data/mux_ruby.gemspec CHANGED
@@ -1,8 +1,15 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  =begin
4
- # Mux Ruby - Copyright 2019 Mux Inc.
5
- # NOTE: This file is auto generated. Do not edit this file manually.
4
+ #Mux API
5
+
6
+ #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.
7
+
8
+ The version of the OpenAPI document: v1
9
+ Contact: devex@mux.com
10
+ Generated by: https://openapi-generator.tech
11
+ OpenAPI Generator version: 5.0.1
12
+
6
13
  =end
7
14
 
8
15
  $:.push File.expand_path("../lib", __FILE__)
@@ -12,24 +19,17 @@ Gem::Specification.new do |s|
12
19
  s.name = "mux_ruby"
13
20
  s.version = MuxRuby::VERSION
14
21
  s.platform = Gem::Platform::RUBY
15
- s.authors = ["Mux SDK Developers"]
16
- s.email = ["sdks@mux.com"]
17
- s.homepage = "https://mux.com"
18
- s.summary = "Ruby API wrapper for Mux"
19
- s.description = "Ruby API wrapper for Mux"
22
+ s.authors = ["Mux"]
23
+ s.email = ["devex@mux.com"]
24
+ s.homepage = "https://docs.mux.com"
25
+ s.summary = "Mux API Ruby Gem"
26
+ s.description = "The Ruby client for Mux Data and Mux Video."
20
27
  s.license = "MIT"
21
- s.required_ruby_version = ">= 1.9"
28
+ s.required_ruby_version = ">= 2.4"
22
29
 
23
30
  s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
24
- s.add_runtime_dependency 'json', '~> 2.1', '>= 2.1.0'
25
31
 
26
32
  s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
27
- s.add_development_dependency 'vcr', '~> 3.0', '>= 3.0.1'
28
- s.add_development_dependency 'webmock', '~> 1.24', '>= 1.24.3'
29
- s.add_development_dependency 'autotest', '~> 4.4', '>= 4.4.6'
30
- s.add_development_dependency 'autotest-rails-pure', '~> 4.1', '>= 4.1.2'
31
- s.add_development_dependency 'autotest-growl', '~> 0.2', '>= 0.2.16'
32
- s.add_development_dependency 'autotest-fsevent', '~> 0.2', '>= 0.2.12'
33
33
 
34
34
  s.files = `find *`.split("\n").uniq.sort.select { |f| !f.empty? }
35
35
  s.test_files = `find spec/*`.split("\n")
@@ -63,6 +63,7 @@ describe 'AssetsApi' do
63
63
 
64
64
  # unit tests for delete_asset
65
65
  # Delete an asset
66
+ # Deletes a video asset and all its data
66
67
  # @param asset_id The asset ID.
67
68
  # @param [Hash] opts the optional parameters
68
69
  # @return [nil]
@@ -134,6 +135,7 @@ describe 'AssetsApi' do
134
135
 
135
136
  # unit tests for list_assets
136
137
  # List assets
138
+ # List all Mux assets.
137
139
  # @param [Hash] opts the optional parameters
138
140
  # @option opts [Integer] :limit Number of items to include in the response
139
141
  # @option opts [Integer] :page Offset by this many pages, of the size of &#x60;limit&#x60;
@@ -0,0 +1,55 @@
1
+ =begin
2
+ # Mux Ruby - Copyright 2019 Mux Inc.
3
+ # NOTE: This file is auto generated. Do not edit this file manually.
4
+ =end
5
+
6
+ require 'spec_helper'
7
+ require 'json'
8
+
9
+ # Unit tests for MuxRuby::DimensionsApi
10
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
11
+ # Please update as you see appropriate
12
+ describe 'DimensionsApi' do
13
+ before do
14
+ # run before each test
15
+ @instance = MuxRuby::DimensionsApi.new
16
+ end
17
+
18
+ after do
19
+ # run after each test
20
+ end
21
+
22
+ describe 'test an instance of DimensionsApi' do
23
+ it 'should create an instance of DimensionsApi' do
24
+ expect(@instance).to be_instance_of(MuxRuby::DimensionsApi)
25
+ end
26
+ end
27
+
28
+ # unit tests for list_dimension_values
29
+ # Lists the values for a specific dimension
30
+ # Lists the values for a dimension along with a total count of related views. Note: This API replaces the list-filter-values API call.
31
+ # @param dimension_id ID of the Dimension
32
+ # @param [Hash] opts the optional parameters
33
+ # @option opts [Integer] :limit Number of items to include in the response
34
+ # @option opts [Integer] :page Offset by this many pages, of the size of &#x60;limit&#x60;
35
+ # @option opts [Array<String>] :filters Filter key:value pairs. Must be provided as an array query string parameter (e.g. filters[]&#x3D;operating_system:windows&amp;filters[]&#x3D;country:US). Possible filter names are the same as returned by the List Filters endpoint.
36
+ # @option opts [Array<String>] :timeframe Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]&#x3D;). Accepted formats are... * array of epoch timestamps e.g. timeframe[]&#x3D;1498867200&amp;timeframe[]&#x3D;1498953600 * duration string e.g. timeframe[]&#x3D;24:hours or timeframe[]&#x3D;7:days.
37
+ # @return [ListDimensionValuesResponse]
38
+ describe 'list_dimension_values test' do
39
+ it 'should work' do
40
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
41
+ end
42
+ end
43
+
44
+ # unit tests for list_dimensions
45
+ # List Dimensions
46
+ # List all available dimensions. Note: This API replaces the list-filters API call.
47
+ # @param [Hash] opts the optional parameters
48
+ # @return [ListDimensionsResponse]
49
+ describe 'list_dimensions test' do
50
+ it 'should work' do
51
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
52
+ end
53
+ end
54
+
55
+ end
@@ -27,7 +27,7 @@ describe 'FiltersApi' do
27
27
 
28
28
  # unit tests for list_filter_values
29
29
  # Lists values for a specific filter
30
- # Lists the values for a filter along with a total count of related views
30
+ # Deprecated: The API has been replaced by the list-dimension-values API call. Lists the values for a filter along with a total count of related views.
31
31
  # @param filter_id ID of the Filter
32
32
  # @param [Hash] opts the optional parameters
33
33
  # @option opts [Integer] :limit Number of items to include in the response
@@ -43,7 +43,7 @@ describe 'FiltersApi' do
43
43
 
44
44
  # unit tests for list_filters
45
45
  # List Filters
46
- # Lists all the filters broken out into basic and advanced
46
+ # Deprecated: The API has been replaced by the list-dimensions API call. Lists all the filters broken out into basic and advanced.
47
47
  # @param [Hash] opts the optional parameters
48
48
  # @return [ListFiltersResponse]
49
49
  describe 'list_filters test' do