mux_ruby 1.9.0 → 2.0.0.pre.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +26 -37
  4. data/README.md +36 -13
  5. data/docs/AbridgedVideoView.md +33 -13
  6. data/docs/Asset.md +57 -26
  7. data/docs/AssetErrors.md +15 -4
  8. data/docs/AssetMaster.md +15 -4
  9. data/docs/AssetNonStandardInputReasons.md +29 -11
  10. data/docs/AssetRecordingTimes.md +15 -4
  11. data/docs/AssetResponse.md +13 -3
  12. data/docs/AssetStaticRenditions.md +15 -4
  13. data/docs/AssetStaticRenditionsFiles.md +23 -8
  14. data/docs/AssetsApi.md +387 -160
  15. data/docs/BreakdownValue.md +21 -7
  16. data/docs/CreateAssetRequest.md +27 -10
  17. data/docs/CreateLiveStreamRequest.md +25 -9
  18. data/docs/CreatePlaybackIDRequest.md +13 -3
  19. data/docs/CreatePlaybackIDResponse.md +13 -3
  20. data/docs/CreateSimulcastTargetRequest.md +17 -5
  21. data/docs/CreateTrackRequest.md +25 -9
  22. data/docs/CreateTrackResponse.md +13 -3
  23. data/docs/CreateUploadRequest.md +19 -6
  24. data/docs/DeliveryReport.md +27 -9
  25. data/docs/DeliveryUsageApi.md +40 -22
  26. data/docs/DimensionValue.md +15 -4
  27. data/docs/DimensionsApi.md +72 -34
  28. data/docs/DirectUploadsApi.md +131 -56
  29. data/docs/DisableLiveStreamResponse.md +13 -3
  30. data/docs/EnableLiveStreamResponse.md +13 -3
  31. data/docs/Error.md +27 -10
  32. data/docs/ErrorsApi.md +37 -19
  33. data/docs/ExportsApi.md +32 -13
  34. data/docs/FilterValue.md +15 -4
  35. data/docs/FiltersApi.md +71 -33
  36. data/docs/GetAssetInputInfoResponse.md +13 -3
  37. data/docs/GetAssetOrLiveStreamIdResponse.md +13 -3
  38. data/docs/GetAssetOrLiveStreamIdResponseData.md +17 -5
  39. data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +15 -4
  40. data/docs/GetAssetPlaybackIDResponse.md +13 -3
  41. data/docs/GetMetricTimeseriesDataResponse.md +17 -5
  42. data/docs/GetOverallValuesResponse.md +17 -5
  43. data/docs/GetRealTimeBreakdownResponse.md +17 -5
  44. data/docs/GetRealTimeHistogramTimeseriesResponse.md +19 -6
  45. data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +13 -3
  46. data/docs/GetRealTimeTimeseriesResponse.md +17 -5
  47. data/docs/Incident.md +53 -23
  48. data/docs/IncidentBreakdown.md +17 -5
  49. data/docs/IncidentNotification.md +17 -5
  50. data/docs/IncidentNotificationRule.md +21 -7
  51. data/docs/IncidentResponse.md +15 -4
  52. data/docs/IncidentsApi.md +115 -59
  53. data/docs/InputFile.md +15 -4
  54. data/docs/InputInfo.md +15 -4
  55. data/docs/InputSettings.md +31 -12
  56. data/docs/InputSettingsOverlaySettings.md +25 -9
  57. data/docs/InputTrack.md +29 -11
  58. data/docs/Insight.md +23 -8
  59. data/docs/ListAllMetricValuesResponse.md +17 -5
  60. data/docs/ListAssetsResponse.md +13 -3
  61. data/docs/ListBreakdownValuesResponse.md +17 -5
  62. data/docs/ListDeliveryUsageResponse.md +19 -6
  63. data/docs/ListDimensionValuesResponse.md +17 -5
  64. data/docs/ListDimensionsResponse.md +17 -5
  65. data/docs/ListErrorsResponse.md +17 -5
  66. data/docs/ListExportsResponse.md +17 -5
  67. data/docs/ListFilterValuesResponse.md +17 -5
  68. data/docs/ListFiltersResponse.md +17 -5
  69. data/docs/ListFiltersResponseData.md +15 -4
  70. data/docs/ListIncidentsResponse.md +17 -5
  71. data/docs/ListInsightsResponse.md +17 -5
  72. data/docs/ListLiveStreamsResponse.md +13 -3
  73. data/docs/ListRealTimeDimensionsResponse.md +17 -5
  74. data/docs/ListRealTimeDimensionsResponseData.md +15 -4
  75. data/docs/ListRealTimeMetricsResponse.md +17 -5
  76. data/docs/ListRelatedIncidentsResponse.md +17 -5
  77. data/docs/ListSigningKeysResponse.md +13 -3
  78. data/docs/ListUploadsResponse.md +13 -3
  79. data/docs/ListVideoViewsResponse.md +17 -5
  80. data/docs/LiveStream.md +37 -15
  81. data/docs/LiveStreamResponse.md +13 -3
  82. data/docs/LiveStreamsApi.md +418 -170
  83. data/docs/Metric.md +21 -7
  84. data/docs/MetricsApi.md +206 -112
  85. data/docs/NotificationRule.md +17 -5
  86. data/docs/OverallValues.md +19 -6
  87. data/docs/PlaybackID.md +15 -4
  88. data/docs/PlaybackIDApi.md +34 -16
  89. data/docs/PlaybackPolicy.md +10 -2
  90. data/docs/RealTimeApi.md +172 -76
  91. data/docs/RealTimeBreakdownValue.md +21 -7
  92. data/docs/RealTimeHistogramTimeseriesBucket.md +15 -4
  93. data/docs/RealTimeHistogramTimeseriesBucketValues.md +15 -4
  94. data/docs/RealTimeHistogramTimeseriesDatapoint.md +25 -9
  95. data/docs/RealTimeTimeseriesDatapoint.md +17 -5
  96. data/docs/Score.md +23 -8
  97. data/docs/SignalLiveStreamCompleteResponse.md +13 -3
  98. data/docs/SigningKey.md +17 -5
  99. data/docs/SigningKeyResponse.md +13 -3
  100. data/docs/SimulcastTarget.md +21 -7
  101. data/docs/SimulcastTargetResponse.md +13 -3
  102. data/docs/Track.md +37 -15
  103. data/docs/URLSigningKeysApi.md +127 -51
  104. data/docs/UpdateAssetMP4SupportRequest.md +13 -3
  105. data/docs/UpdateAssetMasterAccessRequest.md +13 -3
  106. data/docs/Upload.md +29 -11
  107. data/docs/UploadError.md +15 -4
  108. data/docs/UploadResponse.md +13 -3
  109. data/docs/VideoView.md +235 -114
  110. data/docs/VideoViewEvent.md +19 -6
  111. data/docs/VideoViewResponse.md +15 -4
  112. data/docs/VideoViewsApi.md +76 -39
  113. data/gen/.gitignore +7 -0
  114. data/gen/Makefile +31 -0
  115. data/gen/generator-config.json +11 -0
  116. data/gen/openapitools.json +7 -0
  117. data/gen/package.json +17 -0
  118. data/gen/templates/Gemfile.mustache +11 -0
  119. data/gen/templates/README.mustache +158 -0
  120. data/gen/templates/Rakefile.mustache +10 -0
  121. data/gen/templates/api.mustache +206 -0
  122. data/gen/templates/api_client.mustache +264 -0
  123. data/gen/templates/api_client_faraday_partial.mustache +138 -0
  124. data/gen/templates/api_client_spec.mustache +220 -0
  125. data/gen/templates/api_client_typhoeus_partial.mustache +183 -0
  126. data/gen/templates/api_doc.mustache +118 -0
  127. data/gen/templates/api_error.mustache +67 -0
  128. data/gen/templates/api_info.mustache +12 -0
  129. data/gen/templates/api_test.mustache +47 -0
  130. data/gen/templates/base_object.mustache +120 -0
  131. data/gen/templates/configuration.mustache +349 -0
  132. data/gen/templates/configuration_spec.mustache +34 -0
  133. data/gen/templates/configuration_tls_faraday_partial.mustache +29 -0
  134. data/gen/templates/configuration_tls_typhoeus_partial.mustache +34 -0
  135. data/gen/templates/gem.mustache +40 -0
  136. data/gen/templates/gemspec.mustache +35 -0
  137. data/gen/templates/gitignore.mustache +39 -0
  138. data/gen/templates/model.mustache +26 -0
  139. data/gen/templates/model_doc.mustache +12 -0
  140. data/gen/templates/model_test.mustache +77 -0
  141. data/gen/templates/partial_model_enum_class.mustache +20 -0
  142. data/gen/templates/partial_model_generic.mustache +371 -0
  143. data/gen/templates/partial_model_generic_doc.mustache +28 -0
  144. data/gen/templates/partial_oneof_module.mustache +137 -0
  145. data/gen/templates/partial_oneof_module_doc.mustache +92 -0
  146. data/gen/templates/rspec.mustache +2 -0
  147. data/gen/templates/rubocop.mustache +148 -0
  148. data/gen/templates/spec_helper.mustache +103 -0
  149. data/gen/templates/version.mustache +7 -0
  150. data/gen/yarn.lock +1878 -0
  151. data/lib/mux_ruby.rb +9 -2
  152. data/lib/mux_ruby/api/assets_api.rb +279 -150
  153. data/lib/mux_ruby/api/delivery_usage_api.rb +28 -12
  154. data/lib/mux_ruby/api/dimensions_api.rb +55 -29
  155. data/lib/mux_ruby/api/direct_uploads_api.rb +90 -44
  156. data/lib/mux_ruby/api/errors_api.rb +32 -16
  157. data/lib/mux_ruby/api/exports_api.rb +28 -12
  158. data/lib/mux_ruby/api/filters_api.rb +53 -27
  159. data/lib/mux_ruby/api/incidents_api.rb +88 -46
  160. data/lib/mux_ruby/api/live_streams_api.rb +299 -157
  161. data/lib/mux_ruby/api/metrics_api.rb +175 -104
  162. data/lib/mux_ruby/api/playback_id_api.rb +31 -15
  163. data/lib/mux_ruby/api/real_time_api.rb +139 -77
  164. data/lib/mux_ruby/api/url_signing_keys_api.rb +89 -42
  165. data/lib/mux_ruby/api/video_views_api.rb +56 -29
  166. data/lib/mux_ruby/api_client.rb +94 -79
  167. data/lib/mux_ruby/api_error.rb +35 -7
  168. data/lib/mux_ruby/configuration.rb +50 -14
  169. data/lib/mux_ruby/models/abridged_video_view.rb +58 -24
  170. data/lib/mux_ruby/models/asset.rb +88 -61
  171. data/lib/mux_ruby/models/asset_errors.rb +50 -15
  172. data/lib/mux_ruby/models/asset_master.rb +52 -17
  173. data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +70 -35
  174. data/lib/mux_ruby/models/asset_recording_times.rb +50 -16
  175. data/lib/mux_ruby/models/asset_response.rb +48 -14
  176. data/lib/mux_ruby/models/asset_static_renditions.rb +53 -17
  177. data/lib/mux_ruby/models/asset_static_renditions_files.rb +58 -23
  178. data/lib/mux_ruby/models/breakdown_value.rb +52 -18
  179. data/lib/mux_ruby/models/create_asset_request.rb +64 -30
  180. data/lib/mux_ruby/models/create_live_stream_request.rb +57 -22
  181. data/lib/mux_ruby/models/create_playback_id_request.rb +48 -14
  182. data/lib/mux_ruby/models/create_playback_id_response.rb +48 -14
  183. data/lib/mux_ruby/models/create_simulcast_target_request.rb +50 -16
  184. data/lib/mux_ruby/models/create_track_request.rb +59 -25
  185. data/lib/mux_ruby/models/create_track_response.rb +48 -14
  186. data/lib/mux_ruby/models/create_upload_request.rb +52 -18
  187. data/lib/mux_ruby/models/delivery_report.rb +106 -21
  188. data/lib/mux_ruby/models/dimension_value.rb +49 -15
  189. data/lib/mux_ruby/models/disable_live_stream_response.rb +48 -14
  190. data/lib/mux_ruby/models/enable_live_stream_response.rb +48 -14
  191. data/lib/mux_ruby/models/error.rb +63 -21
  192. data/lib/mux_ruby/models/filter_value.rb +49 -15
  193. data/lib/mux_ruby/models/get_asset_input_info_response.rb +48 -14
  194. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +48 -14
  195. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +50 -16
  196. data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +51 -17
  197. data/lib/mux_ruby/models/get_asset_playback_id_response.rb +48 -14
  198. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +50 -16
  199. data/lib/mux_ruby/models/get_overall_values_response.rb +50 -16
  200. data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +50 -16
  201. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +51 -17
  202. data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +48 -14
  203. data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +50 -16
  204. data/lib/mux_ruby/models/incident.rb +68 -34
  205. data/lib/mux_ruby/models/incident_breakdown.rb +50 -16
  206. data/lib/mux_ruby/models/incident_notification.rb +50 -16
  207. data/lib/mux_ruby/models/incident_notification_rule.rb +52 -18
  208. data/lib/mux_ruby/models/incident_response.rb +49 -15
  209. data/lib/mux_ruby/models/input_file.rb +49 -15
  210. data/lib/mux_ruby/models/input_info.rb +49 -15
  211. data/lib/mux_ruby/models/input_settings.rb +64 -30
  212. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +58 -24
  213. data/lib/mux_ruby/models/input_track.rb +56 -22
  214. data/lib/mux_ruby/models/insight.rb +53 -19
  215. data/lib/mux_ruby/models/list_all_metric_values_response.rb +50 -16
  216. data/lib/mux_ruby/models/list_assets_response.rb +48 -14
  217. data/lib/mux_ruby/models/list_breakdown_values_response.rb +50 -16
  218. data/lib/mux_ruby/models/list_delivery_usage_response.rb +51 -17
  219. data/lib/mux_ruby/models/list_dimension_values_response.rb +50 -16
  220. data/lib/mux_ruby/models/list_dimensions_response.rb +50 -16
  221. data/lib/mux_ruby/models/list_errors_response.rb +50 -16
  222. data/lib/mux_ruby/models/list_exports_response.rb +50 -16
  223. data/lib/mux_ruby/models/list_filter_values_response.rb +50 -16
  224. data/lib/mux_ruby/models/list_filters_response.rb +50 -16
  225. data/lib/mux_ruby/models/list_filters_response_data.rb +49 -15
  226. data/lib/mux_ruby/models/list_incidents_response.rb +50 -16
  227. data/lib/mux_ruby/models/list_insights_response.rb +50 -16
  228. data/lib/mux_ruby/models/list_live_streams_response.rb +48 -14
  229. data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +50 -16
  230. data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +49 -15
  231. data/lib/mux_ruby/models/list_real_time_metrics_response.rb +50 -16
  232. data/lib/mux_ruby/models/list_related_incidents_response.rb +50 -16
  233. data/lib/mux_ruby/models/list_signing_keys_response.rb +48 -14
  234. data/lib/mux_ruby/models/list_uploads_response.rb +48 -14
  235. data/lib/mux_ruby/models/list_video_views_response.rb +50 -16
  236. data/lib/mux_ruby/models/live_stream.rb +110 -28
  237. data/lib/mux_ruby/models/live_stream_response.rb +48 -14
  238. data/lib/mux_ruby/models/metric.rb +52 -18
  239. data/lib/mux_ruby/models/notification_rule.rb +50 -16
  240. data/lib/mux_ruby/models/overall_values.rb +51 -17
  241. data/lib/mux_ruby/models/playback_id.rb +49 -15
  242. data/lib/mux_ruby/models/playback_policy.rb +12 -6
  243. data/lib/mux_ruby/models/real_time_breakdown_value.rb +52 -18
  244. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +50 -16
  245. data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +49 -15
  246. data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +54 -20
  247. data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +50 -16
  248. data/lib/mux_ruby/models/score.rb +53 -19
  249. data/lib/mux_ruby/models/signal_live_stream_complete_response.rb +48 -14
  250. data/lib/mux_ruby/models/signing_key.rb +53 -16
  251. data/lib/mux_ruby/models/signing_key_response.rb +48 -14
  252. data/lib/mux_ruby/models/simulcast_target.rb +54 -20
  253. data/lib/mux_ruby/models/simulcast_target_response.rb +48 -14
  254. data/lib/mux_ruby/models/track.rb +67 -33
  255. data/lib/mux_ruby/models/update_asset_master_access_request.rb +50 -16
  256. data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +50 -16
  257. data/lib/mux_ruby/models/upload.rb +61 -25
  258. data/lib/mux_ruby/models/upload_error.rb +51 -15
  259. data/lib/mux_ruby/models/upload_response.rb +48 -14
  260. data/lib/mux_ruby/models/video_view.rb +166 -132
  261. data/lib/mux_ruby/models/video_view_event.rb +51 -17
  262. data/lib/mux_ruby/models/video_view_response.rb +49 -15
  263. data/lib/mux_ruby/version.rb +10 -3
  264. data/mux_ruby.gemspec +15 -17
  265. data/spec/api_client_spec.rb +10 -3
  266. data/spec/configuration_spec.rb +9 -2
  267. data/spec/spec_helper.rb +9 -2
  268. metadata +139 -242
@@ -1,11 +1,24 @@
1
1
  # MuxRuby::VideoViewEvent
2
2
 
3
3
  ## Properties
4
- Name | Type | Description | Notes
5
- ------------ | ------------- | ------------- | -------------
6
- **viewer_time** | **Integer** | | [optional]
7
- **playback_time** | **Integer** | | [optional]
8
- **name** | **String** | | [optional]
9
- **event_time** | **Integer** | | [optional]
10
4
 
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **viewer_time** | **Integer** | | [optional] |
8
+ | **playback_time** | **Integer** | | [optional] |
9
+ | **name** | **String** | | [optional] |
10
+ | **event_time** | **Integer** | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'mux_ruby'
16
+
17
+ instance = MuxRuby::VideoViewEvent.new(
18
+ viewer_time: null,
19
+ playback_time: null,
20
+ name: null,
21
+ event_time: null
22
+ )
23
+ ```
11
24
 
@@ -1,9 +1,20 @@
1
1
  # MuxRuby::VideoViewResponse
2
2
 
3
3
  ## Properties
4
- Name | Type | Description | Notes
5
- ------------ | ------------- | ------------- | -------------
6
- **data** | [**VideoView**](.md) | | [optional]
7
- **timeframe** | **Array<Integer>** | | [optional]
8
4
 
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **data** | [**VideoView**](.md) | | [optional] |
8
+ | **timeframe** | **Array<Integer>** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'mux_ruby'
14
+
15
+ instance = MuxRuby::VideoViewResponse.new(
16
+ data: null,
17
+ timeframe: null
18
+ )
19
+ ```
9
20
 
@@ -2,22 +2,24 @@
2
2
 
3
3
  All URIs are relative to *https://api.mux.com*
4
4
 
5
- Method | HTTP request | Description
6
- ------------- | ------------- | -------------
7
- [**get_video_view**](VideoViewsApi.md#get_video_view) | **GET** /data/v1/video-views/{VIDEO_VIEW_ID} | Get a Video View
8
- [**list_video_views**](VideoViewsApi.md#list_video_views) | **GET** /data/v1/video-views | List Video Views
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**get_video_view**](VideoViewsApi.md#get_video_view) | **GET** /data/v1/video-views/{VIDEO_VIEW_ID} | Get a Video View |
8
+ | [**list_video_views**](VideoViewsApi.md#list_video_views) | **GET** /data/v1/video-views | List Video Views |
9
9
 
10
10
 
11
- # **get_video_view**
12
- > VideoViewResponse get_video_view(video_view_id)
11
+ ## get_video_view
12
+
13
+ > <VideoViewResponse> get_video_view(video_view_id)
13
14
 
14
15
  Get a Video View
15
16
 
16
17
  Returns the details of a video view
17
18
 
18
- ### Example
19
+ ### Examples
20
+
19
21
  ```ruby
20
- # load the gem
22
+ require 'time'
21
23
  require 'mux_ruby'
22
24
  # setup authorization
23
25
  MuxRuby.configure do |config|
@@ -30,19 +32,37 @@ api_instance = MuxRuby::VideoViewsApi.new
30
32
  video_view_id = 'abcd1234' # String | ID of the Video View
31
33
 
32
34
  begin
33
- #Get a Video View
35
+ # Get a Video View
34
36
  result = api_instance.get_video_view(video_view_id)
35
37
  p result
36
38
  rescue MuxRuby::ApiError => e
37
- puts "Exception when calling VideoViewsApi->get_video_view: #{e}"
39
+ puts "Error when calling VideoViewsApi->get_video_view: #{e}"
40
+ end
41
+ ```
42
+
43
+ #### Using the get_video_view_with_http_info variant
44
+
45
+ This returns an Array which contains the response data, status code and headers.
46
+
47
+ > <Array(<VideoViewResponse>, Integer, Hash)> get_video_view_with_http_info(video_view_id)
48
+
49
+ ```ruby
50
+ begin
51
+ # Get a Video View
52
+ data, status_code, headers = api_instance.get_video_view_with_http_info(video_view_id)
53
+ p status_code # => 2xx
54
+ p headers # => { ... }
55
+ p data # => <VideoViewResponse>
56
+ rescue MuxRuby::ApiError => e
57
+ puts "Error when calling VideoViewsApi->get_video_view_with_http_info: #{e}"
38
58
  end
39
59
  ```
40
60
 
41
61
  ### Parameters
42
62
 
43
- Name | Type | Description | Notes
44
- ------------- | ------------- | ------------- | -------------
45
- **video_view_id** | **String**| ID of the Video View |
63
+ | Name | Type | Description | Notes |
64
+ | ---- | ---- | ----------- | ----- |
65
+ | **video_view_id** | **String** | ID of the Video View | |
46
66
 
47
67
  ### Return type
48
68
 
@@ -54,21 +74,22 @@ Name | Type | Description | Notes
54
74
 
55
75
  ### HTTP request headers
56
76
 
57
- - **Content-Type**: Not defined
58
- - **Accept**: application/json
77
+ - **Content-Type**: Not defined
78
+ - **Accept**: application/json
59
79
 
60
80
 
81
+ ## list_video_views
61
82
 
62
- # **list_video_views**
63
- > ListVideoViewsResponse list_video_views(opts)
83
+ > <ListVideoViewsResponse> list_video_views(opts)
64
84
 
65
85
  List Video Views
66
86
 
67
87
  Returns a list of video views
68
88
 
69
- ### Example
89
+ ### Examples
90
+
70
91
  ```ruby
71
- # load the gem
92
+ require 'time'
72
93
  require 'mux_ruby'
73
94
  # setup authorization
74
95
  MuxRuby.configure do |config|
@@ -79,35 +100,53 @@ end
79
100
 
80
101
  api_instance = MuxRuby::VideoViewsApi.new
81
102
  opts = {
82
- limit: 25, # Integer | Number of items to include in the response
83
- page: 1, # Integer | Offset by this many pages, of the size of `limit`
103
+ limit: 56, # Integer | Number of items to include in the response
104
+ page: 56, # Integer | Offset by this many pages, of the size of `limit`
84
105
  viewer_id: 'viewer_id_example', # String | Viewer ID to filter results by. This value may be provided by the integration, or may be created by Mux.
85
106
  error_id: 56, # Integer | Filter video views by the provided error ID (as returned in the error_type_id field in the list video views endpoint). If you provide any as the error ID, this will filter the results to those with any error.
86
- order_direction: 'order_direction_example', # String | Sort order.
87
- filters: ['filters_example'], # Array<String> | Filter key:value pairs. Must be provided as an array query string parameter (e.g. filters[]=operating_system:windows&filters[]=country:US). Possible filter names are the same as returned by the List Filters endpoint.
88
- timeframe: ['timeframe_example'] # Array<String> | Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are... * array of epoch timestamps e.g. timeframe[]=1498867200&timeframe[]=1498953600 * duration string e.g. timeframe[]=24:hours or timeframe[]=7:days.
107
+ order_direction: 'asc', # String | Sort order.
108
+ filters: ['inner_example'], # Array<String> | Filter key:value pairs. Must be provided as an array query string parameter (e.g. filters[]=operating_system:windows&filters[]=country:US). Possible filter names are the same as returned by the List Filters endpoint.
109
+ timeframe: ['inner_example'] # Array<String> | Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are... * array of epoch timestamps e.g. timeframe[]=1498867200&timeframe[]=1498953600 * duration string e.g. timeframe[]=24:hours or timeframe[]=7:days.
89
110
  }
90
111
 
91
112
  begin
92
- #List Video Views
113
+ # List Video Views
93
114
  result = api_instance.list_video_views(opts)
94
115
  p result
95
116
  rescue MuxRuby::ApiError => e
96
- puts "Exception when calling VideoViewsApi->list_video_views: #{e}"
117
+ puts "Error when calling VideoViewsApi->list_video_views: #{e}"
118
+ end
119
+ ```
120
+
121
+ #### Using the list_video_views_with_http_info variant
122
+
123
+ This returns an Array which contains the response data, status code and headers.
124
+
125
+ > <Array(<ListVideoViewsResponse>, Integer, Hash)> list_video_views_with_http_info(opts)
126
+
127
+ ```ruby
128
+ begin
129
+ # List Video Views
130
+ data, status_code, headers = api_instance.list_video_views_with_http_info(opts)
131
+ p status_code # => 2xx
132
+ p headers # => { ... }
133
+ p data # => <ListVideoViewsResponse>
134
+ rescue MuxRuby::ApiError => e
135
+ puts "Error when calling VideoViewsApi->list_video_views_with_http_info: #{e}"
97
136
  end
98
137
  ```
99
138
 
100
139
  ### Parameters
101
140
 
102
- Name | Type | Description | Notes
103
- ------------- | ------------- | ------------- | -------------
104
- **limit** | **Integer**| Number of items to include in the response | [optional] [default to 25]
105
- **page** | **Integer**| Offset by this many pages, of the size of &#x60;limit&#x60; | [optional] [default to 1]
106
- **viewer_id** | **String**| Viewer ID to filter results by. This value may be provided by the integration, or may be created by Mux. | [optional]
107
- **error_id** | **Integer**| Filter video views by the provided error ID (as returned in the error_type_id field in the list video views endpoint). If you provide any as the error ID, this will filter the results to those with any error. | [optional]
108
- **order_direction** | **String**| Sort order. | [optional]
109
- **filters** | [**Array&lt;String&gt;**](String.md)| 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. | [optional]
110
- **timeframe** | [**Array&lt;String&gt;**](String.md)| 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. | [optional]
141
+ | Name | Type | Description | Notes |
142
+ | ---- | ---- | ----------- | ----- |
143
+ | **limit** | **Integer** | Number of items to include in the response | [optional][default to 25] |
144
+ | **page** | **Integer** | Offset by this many pages, of the size of &#x60;limit&#x60; | [optional][default to 1] |
145
+ | **viewer_id** | **String** | Viewer ID to filter results by. This value may be provided by the integration, or may be created by Mux. | [optional] |
146
+ | **error_id** | **Integer** | Filter video views by the provided error ID (as returned in the error_type_id field in the list video views endpoint). If you provide any as the error ID, this will filter the results to those with any error. | [optional] |
147
+ | **order_direction** | **String** | Sort order. | [optional] |
148
+ | **filters** | [**Array&lt;String&gt;**](String.md) | 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. | [optional] |
149
+ | **timeframe** | [**Array&lt;String&gt;**](String.md) | 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. | [optional] |
111
150
 
112
151
  ### Return type
113
152
 
@@ -119,8 +158,6 @@ Name | Type | Description | Notes
119
158
 
120
159
  ### HTTP request headers
121
160
 
122
- - **Content-Type**: Not defined
123
- - **Accept**: application/json
124
-
125
-
161
+ - **Content-Type**: Not defined
162
+ - **Accept**: application/json
126
163
 
data/gen/.gitignore ADDED
@@ -0,0 +1,7 @@
1
+ node_modules/
2
+ tmp/
3
+
4
+ *.log
5
+ *.bak
6
+
7
+ template-changes.diff
data/gen/Makefile ADDED
@@ -0,0 +1,31 @@
1
+ # per-SDK stuff
2
+ GENERATOR_TYPE=ruby
3
+
4
+ ###### helper variables ######
5
+ # this is in case we want to go to Docker or something other than running yarn
6
+ # for OAS in the future. also less typing.
7
+ OAS_CLI=yarn run -s oas
8
+ CONFIG_PATH=./generator-config.json
9
+ OUTPUT_DIR=..
10
+ TEMPLATE_DIR=./templates
11
+ GENERATED_TEMPLATE_DIR=./tmp/oas-base-templates
12
+
13
+ ensure:
14
+ yarn install
15
+
16
+ clean:
17
+ rm -rf tmp
18
+
19
+ clean-products:
20
+ rm -rf "${OUTPUT_DIR}/lib"
21
+ rm -rf "${OUTPUT_DIR}/docs"
22
+
23
+ build: ensure clean-products
24
+ ${OAS_CLI} generate -g "${GENERATOR_TYPE}" -c "${CONFIG_PATH}" -t "${TEMPLATE_DIR}" -o "${OUTPUT_DIR}" -i "${OAS_SPEC_PATH}"
25
+
26
+ config-help: ensure
27
+ ${OAS_CLI} config-help -g "${GENERATOR_TYPE}"
28
+
29
+ template-diff: ensure
30
+ ${OAS_CLI} author template -g "${GENERATOR_TYPE}" -o "${GENERATED_TEMPLATE_DIR}"
31
+ diff "${TEMPLATE_DIR}" "${GENERATED_TEMPLATE_DIR}" > ./tmp/template-changes.diff
@@ -0,0 +1,11 @@
1
+ {
2
+ "!!source": "https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/ruby.md",
3
+ "gemName": "mux_ruby",
4
+ "gemAuthor": "Mux",
5
+ "gemAuthorEmail": "devex@mux.com",
6
+ "gemDescription": "The Ruby client for Mux Data and Mux Video.",
7
+ "gemHomepage": "https://docs.mux.com",
8
+ "gemLicense": "MIT",
9
+ "moduleName": "MuxRuby",
10
+ "gemVersion": "2.0.0-rc.1"
11
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
3
+ "spaces": 2,
4
+ "generator-cli": {
5
+ "version": "5.0.1"
6
+ }
7
+ }
data/gen/package.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "private": true,
3
+ "scripts": {
4
+ "oas": "openapi-generator-cli",
5
+ "current-version": "jq -r .gemVersion < ./generator-config.json",
6
+ "compute-next-version:patch": "semver $(yarn run --silent current-version) -i patch",
7
+ "compute-next-version:minor": "semver $(yarn run --silent current-version) -i minor",
8
+ "compute-next-version:major": "semver $(yarn run --silent current-version) -i major",
9
+ "bump-version:patch": "jq -r \".gemVersion = \\\"$(yarn run -s compute-next-version:patch)\\\"\" < ./generator-config.json > ./generator-config.tmp.json && cp ./generator-config.json ./generator-config.json.bak && mv ./generator-config.tmp.json ./generator-config.json",
10
+ "build": ""
11
+ },
12
+ "dependencies": {
13
+ "@openapitools/openapi-generator-cli": "2.2.2",
14
+ "node-jq": "1.12.0",
15
+ "semver": "7.3.4"
16
+ }
17
+ }
@@ -0,0 +1,11 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development, :test do
6
+ gem 'rake', '~> 13.0.1'
7
+ gem 'pry-byebug'
8
+ gem 'rubocop', '~> 0.66.0'
9
+
10
+ gem 'solid_assert'
11
+ end
@@ -0,0 +1,158 @@
1
+ ![Mux Ruby Banner](github-ruby-sdk.png)
2
+
3
+ ![](https://github.com/muxinc/mux-ruby/workflows/Integration%20Test/badge.svg)
4
+
5
+ {{moduleName}} - the Ruby gem for the {{appName}}
6
+
7
+ # Mux Ruby
8
+
9
+ Official Mux API wrapper for ruby projects, supporting both Mux Data and Mux Video.
10
+
11
+ [Mux Video](https://mux.com/video) is an API-first platform, powered by data and designed by video experts to make beautiful video possible for every development team.
12
+
13
+ [Mux Data](https://mux.com/data) is a platform for monitoring your video streaming performance with just a few lines of code. Get in-depth quality of service analytics on web, mobile, and OTT devices.
14
+
15
+ Not familiar with Mux? Check out https://mux.com/ for more information.
16
+
17
+ This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
18
+
19
+ - API version: {{appVersion}}
20
+ - Package version: {{gemVersion}}
21
+ {{^hideGenerationTimestamp}}
22
+ - Build date: {{generatedDate}}
23
+ {{/hideGenerationTimestamp}}
24
+ - Build package: {{generatorClass}}
25
+ {{#infoUrl}}
26
+ For more information, please visit [{{{infoUrl}}}]({{{infoUrl}}})
27
+ {{/infoUrl}}
28
+
29
+ ## Installation
30
+
31
+ ### Build a gem
32
+
33
+ To build the Ruby code into a gem:
34
+
35
+ ```shell
36
+ gem build {{{gemName}}}.gemspec
37
+ ```
38
+
39
+ Then either install the gem locally:
40
+
41
+ ```shell
42
+ gem install ./{{{gemName}}}-{{{gemVersion}}}.gem
43
+ ```
44
+
45
+ (for development, run `gem install --dev ./{{{gemName}}}-{{{gemVersion}}}.gem` to install the development dependencies)
46
+
47
+ or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
48
+
49
+ Finally add this to the Gemfile:
50
+
51
+ gem '{{{gemName}}}', '~> {{{gemVersion}}}'
52
+
53
+ ### Install from Git
54
+
55
+ If the Ruby gem is hosted at a git repository: https://{{gitHost}}/{{#gitUserId}}{{.}}{{/gitUserId}}{{^gitUserId}}YOUR_GIT_USERNAME{{/gitUserId}}/{{#gitRepoId}}{{.}}{{/gitRepoId}}{{^gitRepoId}}YOUR_GIT_REPO{{/gitRepoId}}, then add the following in the Gemfile:
56
+
57
+ gem '{{{gemName}}}', :git => 'https://{{gitHost}}/{{#gitUserId}}{{.}}{{/gitUserId}}{{^gitUserId}}YOUR_GIT_USERNAME{{/gitUserId}}/{{#gitRepoId}}{{.}}{{/gitRepoId}}{{^gitRepoId}}YOUR_GIT_REPO{{/gitRepoId}}.git'
58
+
59
+ ### Include the Ruby code directly
60
+
61
+ Include the Ruby code directly using `-I` as follows:
62
+
63
+ ```shell
64
+ ruby -Ilib script.rb
65
+ ```
66
+
67
+ ## Getting Started
68
+
69
+ ### Overview
70
+
71
+ Mux Ruby is a code generated lightweight wrapper around the Mux REST API and reflects them accurately. This has a few consequences you should watch out for:
72
+
73
+ 1) For almost all API responses, the object you're looking for will be in the `data` field on the API response object, as in the example below. This is because we designed our APIs with similar concepts to the [JSON:API](https://jsonapi.org/) standard. This means we'll be able to return more metadata from our API calls (such as related entities) without the need to make breaking changes to our APIs. We've decided not to hide that in this library.
74
+
75
+ 2) We don't use a lot of object orientation. For example API calls that happen on a single asset don't exist in the asset class, but are API calls in the AssetsApi which require an asset ID.
76
+
77
+ ### Authentication
78
+ To use the Mux API, you'll need an access token and a secret. [Details on obtaining these can be found here in the Mux documentation.](https://docs.mux.com/docs#section-1-get-an-api-access-token)
79
+
80
+ Its up to you to manage your token and secret. In our examples, we read them from `MUX_TOKEN_ID` and `MUX_TOKEN_SECRET` in your environment.
81
+
82
+ ### Example Usage
83
+ Below is a quick example of using Mux Ruby to list the Video assets stored in your Mux account.
84
+
85
+ Be sure to also checkout the [exmples directory](examples/):
86
+ * [List Assets, Live Streams, Signing Keys, and Uploads.](examples/video/list-everything.rb)
87
+ * [Create an Asset, wait for it to become availiable, and print its playback URL](examples/video/ingest.rb)
88
+ * [Create a new Live Stream and retrieve its Stream key.](examples/video/create-live-stream.rb)
89
+
90
+ There's also example usage of every API call (also used for testing):
91
+ * [Video](examples/video/)
92
+ * [Assets](examples/video/exercise-assets.rb)
93
+ * [Live Streams](examples/video/exercise-live-streams.rb)
94
+ * [Signing Keys](examples/video/exercise-signing-keys.rb)
95
+ * [Uploads](examples/video/exercise-uploads.rb)
96
+ * [Data](examples/data/)
97
+ * [Errors](examples/data/exercise-errors.rb)
98
+ * [Exports](examples/data/exercise-exports.rb)
99
+ * [Filters](examples/data/exercise-filters.rb)
100
+ * [Metrics](examples/data/exercise-metrics.rb)
101
+ * [Video Views](examples/data/exercise-video-views.rb)
102
+
103
+ ```ruby
104
+ #!/usr/bin/env ruby
105
+
106
+ require 'mux_ruby'
107
+
108
+ # Auth Setup
109
+ openapi = MuxRuby.configure do |config|
110
+ config.username = ENV['MUX_TOKEN_ID']
111
+ config.password = ENV['MUX_TOKEN_SECRET']
112
+ end
113
+
114
+ # API Client Init
115
+ assets_api = MuxRuby::AssetsApi.new
116
+
117
+ # List Assets
118
+ puts "Listing Assets in account:\n\n"
119
+
120
+ assets = assets_api.list_assets()
121
+ assets.data.each do | asset |
122
+ puts "Asset ID: #{asset.id}"
123
+ puts "Status: #{asset.status}"
124
+ puts "Duration: #{asset.duration.to_s}\n\n"
125
+ end
126
+ ```
127
+
128
+ ## Exceptions & Error Handling
129
+
130
+ All errors inherit from `ApiError`, you can catch it or you can catch one of the more specific Errors below.
131
+
132
+ ### NotFoundError
133
+
134
+ `NotFoundError` is thrown when a resource is not found. This is useful when trying to get an entity by its ID, for example `get_asset("some-id-here")` in the AssetsApi.
135
+
136
+ ### UnauthorizedError
137
+
138
+ `UnauthorizedError` is thrown when Mux cannot authenticate your request. [You should check you have configured your credentials correctly.](#authentication)
139
+
140
+ ### ServiceError
141
+
142
+ `ServiceError` is thrown when Mux returns a HTTP 5XX Status Code. If you encounter this reproducibly, please get in touch with [support@mux.com](mailto:support@mux.com).
143
+
144
+ ## Documentation
145
+
146
+ [Be sure to check out the documentation in the `docs` directory.](docs/)
147
+
148
+ ## Issues
149
+
150
+ If you run into problems, [please raise a GitHub issue,](https://github.com/muxinc/mux-ruby/issues) filling in the issue template. We'll take a look as soon as possible.
151
+
152
+ ## Contributing
153
+
154
+ We now accept PRs against this package! Please make your modifications to the templates in `gen/templates`, not the code itself, or [please open an issue.](https://github.com/muxinc/mux-ruby/issues)
155
+
156
+ ## License
157
+
158
+ [MIT License.](LICENSE) Copyright 2019 Mux, Inc.