mux_ruby 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +8 -0
  3. data/Gemfile.lock +79 -0
  4. data/LICENSE +7 -0
  5. data/README.md +121 -0
  6. data/Rakefile +10 -0
  7. data/docs/AbridgedVideoView.md +18 -0
  8. data/docs/Asset.md +27 -0
  9. data/docs/AssetErrors.md +9 -0
  10. data/docs/AssetMaster.md +9 -0
  11. data/docs/AssetResponse.md +8 -0
  12. data/docs/AssetStaticRenditions.md +9 -0
  13. data/docs/AssetStaticRenditionsFiles.md +13 -0
  14. data/docs/AssetsApi.md +476 -0
  15. data/docs/BreakdownValue.md +12 -0
  16. data/docs/CreateAssetRequest.md +13 -0
  17. data/docs/CreateLiveStreamRequest.md +9 -0
  18. data/docs/CreatePlaybackIDRequest.md +8 -0
  19. data/docs/CreatePlaybackIDResponse.md +8 -0
  20. data/docs/CreateUploadRequest.md +10 -0
  21. data/docs/DirectUploadsApi.md +214 -0
  22. data/docs/Error.md +15 -0
  23. data/docs/ErrorsApi.md +64 -0
  24. data/docs/ExportsApi.md +56 -0
  25. data/docs/FilterValue.md +9 -0
  26. data/docs/FiltersApi.md +118 -0
  27. data/docs/GetAssetInputInfoResponse.md +8 -0
  28. data/docs/GetAssetPlaybackIDResponse.md +8 -0
  29. data/docs/GetMetricTimeseriesDataResponse.md +10 -0
  30. data/docs/GetOverallValuesResponse.md +10 -0
  31. data/docs/InputFile.md +9 -0
  32. data/docs/InputInfo.md +9 -0
  33. data/docs/InputSettings.md +10 -0
  34. data/docs/InputSettingsOverlaySettings.md +14 -0
  35. data/docs/InputTrack.md +18 -0
  36. data/docs/Insight.md +13 -0
  37. data/docs/ListAllMetricValuesResponse.md +10 -0
  38. data/docs/ListAssetsResponse.md +8 -0
  39. data/docs/ListBreakdownValuesResponse.md +10 -0
  40. data/docs/ListErrorsResponse.md +10 -0
  41. data/docs/ListExportsResponse.md +10 -0
  42. data/docs/ListFilterValuesResponse.md +10 -0
  43. data/docs/ListFiltersResponse.md +10 -0
  44. data/docs/ListFiltersResponseData.md +9 -0
  45. data/docs/ListInsightsResponse.md +10 -0
  46. data/docs/ListLiveStreamsResponse.md +8 -0
  47. data/docs/ListSigningKeysResponse.md +8 -0
  48. data/docs/ListUploadsResponse.md +8 -0
  49. data/docs/ListVideoViewsResponse.md +10 -0
  50. data/docs/LiveStream.md +17 -0
  51. data/docs/LiveStreamResponse.md +8 -0
  52. data/docs/LiveStreamsApi.md +420 -0
  53. data/docs/Metric.md +12 -0
  54. data/docs/MetricsApi.md +322 -0
  55. data/docs/OverallValues.md +11 -0
  56. data/docs/PlaybackID.md +9 -0
  57. data/docs/PlaybackPolicy.md +7 -0
  58. data/docs/Score.md +13 -0
  59. data/docs/SignalLiveStreamCompleteResponse.md +8 -0
  60. data/docs/SigningKey.md +10 -0
  61. data/docs/SigningKeyResponse.md +8 -0
  62. data/docs/Track.md +17 -0
  63. data/docs/URLSigningKeysApi.md +215 -0
  64. data/docs/UpdateAssetMP4SupportRequest.md +8 -0
  65. data/docs/Upload.md +15 -0
  66. data/docs/UploadError.md +9 -0
  67. data/docs/UploadResponse.md +8 -0
  68. data/docs/VideoView.md +117 -0
  69. data/docs/VideoViewEvent.md +11 -0
  70. data/docs/VideoViewResponse.md +9 -0
  71. data/docs/VideoViewsApi.md +126 -0
  72. data/examples/data/exercise-errors.rb +23 -0
  73. data/examples/data/exercise-exports.rb +22 -0
  74. data/examples/data/exercise-filters.rb +29 -0
  75. data/examples/data/exercise-metrics.rb +52 -0
  76. data/examples/data/exercise-video-views.rb +30 -0
  77. data/examples/video/create-live-stream.rb +25 -0
  78. data/examples/video/exercise-assets.rb +95 -0
  79. data/examples/video/exercise-live-streams.rb +89 -0
  80. data/examples/video/exercise-signing-keys.rb +46 -0
  81. data/examples/video/exercise-uploads.rb +49 -0
  82. data/examples/video/ingest.rb +37 -0
  83. data/examples/video/list-everything.rb +48 -0
  84. data/github-ruby-sdk.png +0 -0
  85. data/lib/mux_ruby/api/assets_api.rb +507 -0
  86. data/lib/mux_ruby/api/direct_uploads_api.rb +224 -0
  87. data/lib/mux_ruby/api/errors_api.rb +69 -0
  88. data/lib/mux_ruby/api/exports_api.rb +63 -0
  89. data/lib/mux_ruby/api/filters_api.rb +128 -0
  90. data/lib/mux_ruby/api/live_streams_api.rb +440 -0
  91. data/lib/mux_ruby/api/metrics_api.rb +393 -0
  92. data/lib/mux_ruby/api/url_signing_keys_api.rb +219 -0
  93. data/lib/mux_ruby/api/video_views_api.rb +140 -0
  94. data/lib/mux_ruby/api_client.rb +400 -0
  95. data/lib/mux_ruby/api_error.rb +44 -0
  96. data/lib/mux_ruby/configuration.rb +244 -0
  97. data/lib/mux_ruby/models/abridged_video_view.rb +274 -0
  98. data/lib/mux_ruby/models/asset.rb +409 -0
  99. data/lib/mux_ruby/models/asset_errors.rb +195 -0
  100. data/lib/mux_ruby/models/asset_master.rb +193 -0
  101. data/lib/mux_ruby/models/asset_response.rb +184 -0
  102. data/lib/mux_ruby/models/asset_static_renditions.rb +232 -0
  103. data/lib/mux_ruby/models/asset_static_renditions_files.rb +279 -0
  104. data/lib/mux_ruby/models/breakdown_value.rb +220 -0
  105. data/lib/mux_ruby/models/create_asset_request.rb +267 -0
  106. data/lib/mux_ruby/models/create_live_stream_request.rb +195 -0
  107. data/lib/mux_ruby/models/create_playback_id_request.rb +184 -0
  108. data/lib/mux_ruby/models/create_playback_id_response.rb +184 -0
  109. data/lib/mux_ruby/models/create_upload_request.rb +235 -0
  110. data/lib/mux_ruby/models/error.rb +247 -0
  111. data/lib/mux_ruby/models/filter_value.rb +193 -0
  112. data/lib/mux_ruby/models/get_asset_input_info_response.rb +186 -0
  113. data/lib/mux_ruby/models/get_asset_playback_id_response.rb +184 -0
  114. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +206 -0
  115. data/lib/mux_ruby/models/get_overall_values_response.rb +204 -0
  116. data/lib/mux_ruby/models/input_file.rb +195 -0
  117. data/lib/mux_ruby/models/input_info.rb +193 -0
  118. data/lib/mux_ruby/models/input_settings.rb +203 -0
  119. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +238 -0
  120. data/lib/mux_ruby/models/input_track.rb +274 -0
  121. data/lib/mux_ruby/models/insight.rb +229 -0
  122. data/lib/mux_ruby/models/list_all_metric_values_response.rb +206 -0
  123. data/lib/mux_ruby/models/list_assets_response.rb +186 -0
  124. data/lib/mux_ruby/models/list_breakdown_values_response.rb +206 -0
  125. data/lib/mux_ruby/models/list_errors_response.rb +206 -0
  126. data/lib/mux_ruby/models/list_exports_response.rb +206 -0
  127. data/lib/mux_ruby/models/list_filter_values_response.rb +206 -0
  128. data/lib/mux_ruby/models/list_filters_response.rb +204 -0
  129. data/lib/mux_ruby/models/list_filters_response_data.rb +197 -0
  130. data/lib/mux_ruby/models/list_insights_response.rb +206 -0
  131. data/lib/mux_ruby/models/list_live_streams_response.rb +186 -0
  132. data/lib/mux_ruby/models/list_signing_keys_response.rb +186 -0
  133. data/lib/mux_ruby/models/list_uploads_response.rb +186 -0
  134. data/lib/mux_ruby/models/list_video_views_response.rb +206 -0
  135. data/lib/mux_ruby/models/live_stream.rb +269 -0
  136. data/lib/mux_ruby/models/live_stream_response.rb +184 -0
  137. data/lib/mux_ruby/models/metric.rb +220 -0
  138. data/lib/mux_ruby/models/overall_values.rb +211 -0
  139. data/lib/mux_ruby/models/playback_id.rb +193 -0
  140. data/lib/mux_ruby/models/playback_policy.rb +31 -0
  141. data/lib/mux_ruby/models/score.rb +231 -0
  142. data/lib/mux_ruby/models/signal_live_stream_complete_response.rb +184 -0
  143. data/lib/mux_ruby/models/signing_key.rb +202 -0
  144. data/lib/mux_ruby/models/signing_key_response.rb +184 -0
  145. data/lib/mux_ruby/models/track.rb +265 -0
  146. data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +219 -0
  147. data/lib/mux_ruby/models/upload.rb +311 -0
  148. data/lib/mux_ruby/models/upload_error.rb +194 -0
  149. data/lib/mux_ruby/models/upload_response.rb +184 -0
  150. data/lib/mux_ruby/models/video_view.rb +1167 -0
  151. data/lib/mux_ruby/models/video_view_event.rb +211 -0
  152. data/lib/mux_ruby/models/video_view_response.rb +195 -0
  153. data/lib/mux_ruby/version.rb +8 -0
  154. data/lib/mux_ruby.rb +97 -0
  155. data/mux_ruby.gemspec +38 -0
  156. data/spec/api/assets_api_spec.rb +136 -0
  157. data/spec/api/direct_uploads_api_spec.rb +74 -0
  158. data/spec/api/errors_api_spec.rb +41 -0
  159. data/spec/api/exports_api_spec.rb +39 -0
  160. data/spec/api/filters_api_spec.rb +55 -0
  161. data/spec/api/live_streams_api_spec.rb +122 -0
  162. data/spec/api/metrics_api_spec.rb +110 -0
  163. data/spec/api/url_signing_keys_api_spec.rb +76 -0
  164. data/spec/api/video_views_api_spec.rb +58 -0
  165. data/spec/api_client_spec.rb +219 -0
  166. data/spec/configuration_spec.rb +35 -0
  167. data/spec/models/abridged_video_view_spec.rb +94 -0
  168. data/spec/models/asset_errors_spec.rb +40 -0
  169. data/spec/models/asset_master_spec.rb +40 -0
  170. data/spec/models/asset_response_spec.rb +34 -0
  171. data/spec/models/asset_spec.rb +156 -0
  172. data/spec/models/asset_static_renditions_files_spec.rb +72 -0
  173. data/spec/models/asset_static_renditions_spec.rb +44 -0
  174. data/spec/models/breakdown_value_spec.rb +58 -0
  175. data/spec/models/create_asset_request_spec.rb +68 -0
  176. data/spec/models/create_live_stream_request_spec.rb +40 -0
  177. data/spec/models/create_playback_id_request_spec.rb +34 -0
  178. data/spec/models/create_playback_id_response_spec.rb +34 -0
  179. data/spec/models/create_upload_request_spec.rb +46 -0
  180. data/spec/models/error_spec.rb +76 -0
  181. data/spec/models/filter_value_spec.rb +40 -0
  182. data/spec/models/get_asset_input_info_response_spec.rb +34 -0
  183. data/spec/models/get_asset_playback_id_response_spec.rb +34 -0
  184. data/spec/models/get_metric_timeseries_data_response_spec.rb +46 -0
  185. data/spec/models/get_overall_values_response_spec.rb +46 -0
  186. data/spec/models/input_file_spec.rb +40 -0
  187. data/spec/models/input_info_spec.rb +40 -0
  188. data/spec/models/input_settings_overlay_settings_spec.rb +70 -0
  189. data/spec/models/input_settings_spec.rb +46 -0
  190. data/spec/models/input_track_spec.rb +94 -0
  191. data/spec/models/insight_spec.rb +64 -0
  192. data/spec/models/list_all_metric_values_response_spec.rb +46 -0
  193. data/spec/models/list_assets_response_spec.rb +34 -0
  194. data/spec/models/list_breakdown_values_response_spec.rb +46 -0
  195. data/spec/models/list_errors_response_spec.rb +46 -0
  196. data/spec/models/list_exports_response_spec.rb +46 -0
  197. data/spec/models/list_filter_values_response_spec.rb +46 -0
  198. data/spec/models/list_filters_response_data_spec.rb +40 -0
  199. data/spec/models/list_filters_response_spec.rb +46 -0
  200. data/spec/models/list_insights_response_spec.rb +46 -0
  201. data/spec/models/list_live_streams_response_spec.rb +34 -0
  202. data/spec/models/list_signing_keys_response_spec.rb +34 -0
  203. data/spec/models/list_uploads_response_spec.rb +34 -0
  204. data/spec/models/list_video_views_response_spec.rb +46 -0
  205. data/spec/models/live_stream_response_spec.rb +34 -0
  206. data/spec/models/live_stream_spec.rb +88 -0
  207. data/spec/models/metric_spec.rb +58 -0
  208. data/spec/models/overall_values_spec.rb +52 -0
  209. data/spec/models/playback_id_spec.rb +40 -0
  210. data/spec/models/playback_policy_spec.rb +28 -0
  211. data/spec/models/score_spec.rb +64 -0
  212. data/spec/models/signal_live_stream_complete_response_spec.rb +34 -0
  213. data/spec/models/signing_key_response_spec.rb +34 -0
  214. data/spec/models/signing_key_spec.rb +46 -0
  215. data/spec/models/track_spec.rb +88 -0
  216. data/spec/models/update_asset_mp4_support_request_spec.rb +38 -0
  217. data/spec/models/upload_error_spec.rb +40 -0
  218. data/spec/models/upload_response_spec.rb +34 -0
  219. data/spec/models/upload_spec.rb +80 -0
  220. data/spec/models/video_view_event_spec.rb +52 -0
  221. data/spec/models/video_view_response_spec.rb +40 -0
  222. data/spec/models/video_view_spec.rb +688 -0
  223. data/spec/spec_helper.rb +104 -0
  224. metadata +514 -0
data/docs/VideoView.md ADDED
@@ -0,0 +1,117 @@
1
+ # MuxRuby::VideoView
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **view_total_upscaling** | **String** | | [optional]
7
+ **preroll_ad_asset_hostname** | **String** | | [optional]
8
+ **player_source_domain** | **String** | | [optional]
9
+ **region** | **String** | | [optional]
10
+ **viewer_user_agent** | **String** | | [optional]
11
+ **preroll_requested** | **BOOLEAN** | | [optional]
12
+ **page_type** | **String** | | [optional]
13
+ **startup_score** | **String** | | [optional]
14
+ **view_seek_duration** | **String** | | [optional]
15
+ **country_name** | **String** | | [optional]
16
+ **player_source_height** | **Integer** | | [optional]
17
+ **longitude** | **String** | | [optional]
18
+ **buffering_count** | **String** | | [optional]
19
+ **video_duration** | **String** | | [optional]
20
+ **player_source_type** | **String** | | [optional]
21
+ **city** | **String** | | [optional]
22
+ **view_id** | **String** | | [optional]
23
+ **platform_description** | **String** | | [optional]
24
+ **video_startup_preroll_request_time** | **String** | | [optional]
25
+ **viewer_device_name** | **String** | | [optional]
26
+ **video_series** | **String** | | [optional]
27
+ **viewer_application_name** | **String** | | [optional]
28
+ **updated_at** | **String** | | [optional]
29
+ **view_total_content_playback_time** | **String** | | [optional]
30
+ **cdn** | **String** | | [optional]
31
+ **player_instance_id** | **String** | | [optional]
32
+ **video_language** | **String** | | [optional]
33
+ **player_source_width** | **Integer** | | [optional]
34
+ **player_error_message** | **String** | | [optional]
35
+ **player_mux_plugin_version** | **String** | | [optional]
36
+ **watched** | **BOOLEAN** | | [optional]
37
+ **playback_score** | **String** | | [optional]
38
+ **page_url** | **String** | | [optional]
39
+ **metro** | **String** | | [optional]
40
+ **view_max_request_latency** | **String** | | [optional]
41
+ **requests_for_first_preroll** | **String** | | [optional]
42
+ **view_total_downscaling** | **String** | | [optional]
43
+ **latitude** | **String** | | [optional]
44
+ **player_source_host_name** | **String** | | [optional]
45
+ **inserted_at** | **String** | | [optional]
46
+ **view_end** | **String** | | [optional]
47
+ **mux_embed_version** | **String** | | [optional]
48
+ **player_language** | **String** | | [optional]
49
+ **page_load_time** | **Integer** | | [optional]
50
+ **viewer_device_category** | **String** | | [optional]
51
+ **video_startup_preroll_load_time** | **String** | | [optional]
52
+ **player_version** | **String** | | [optional]
53
+ **watch_time** | **Integer** | | [optional]
54
+ **player_source_stream_type** | **String** | | [optional]
55
+ **preroll_ad_tag_hostname** | **String** | | [optional]
56
+ **viewer_device_manufacturer** | **String** | | [optional]
57
+ **rebuffering_score** | **String** | | [optional]
58
+ **experiment_name** | **String** | | [optional]
59
+ **viewer_os_version** | **String** | | [optional]
60
+ **player_preload** | **BOOLEAN** | | [optional]
61
+ **buffering_duration** | **String** | | [optional]
62
+ **player_view_count** | **Integer** | | [optional]
63
+ **player_software** | **String** | | [optional]
64
+ **player_load_time** | **String** | | [optional]
65
+ **platform_summary** | **String** | | [optional]
66
+ **video_encoding_variant** | **String** | | [optional]
67
+ **player_width** | **Integer** | | [optional]
68
+ **view_seek_count** | **String** | | [optional]
69
+ **viewer_experience_score** | **String** | | [optional]
70
+ **view_error_id** | **Integer** | | [optional]
71
+ **video_variant_name** | **String** | | [optional]
72
+ **preroll_played** | **BOOLEAN** | | [optional]
73
+ **viewer_application_engine** | **String** | | [optional]
74
+ **viewer_os_architecture** | **String** | | [optional]
75
+ **player_error_code** | **String** | | [optional]
76
+ **buffering_rate** | **String** | | [optional]
77
+ **events** | [**Array<VideoViewEvent>**](VideoViewEvent.md) | | [optional]
78
+ **player_name** | **String** | | [optional]
79
+ **view_start** | **String** | | [optional]
80
+ **view_average_request_throughput** | **String** | | [optional]
81
+ **video_producer** | **String** | | [optional]
82
+ **error_type_id** | **Integer** | | [optional]
83
+ **mux_viewer_id** | **String** | | [optional]
84
+ **video_id** | **String** | | [optional]
85
+ **continent_code** | **String** | | [optional]
86
+ **session_id** | **String** | | [optional]
87
+ **exit_before_video_start** | **BOOLEAN** | | [optional]
88
+ **video_content_type** | **String** | | [optional]
89
+ **viewer_os_family** | **String** | | [optional]
90
+ **player_poster** | **String** | | [optional]
91
+ **view_average_request_latency** | **String** | | [optional]
92
+ **video_variant_id** | **String** | | [optional]
93
+ **player_source_duration** | **Integer** | | [optional]
94
+ **player_source_url** | **String** | | [optional]
95
+ **mux_api_version** | **String** | | [optional]
96
+ **video_title** | **String** | | [optional]
97
+ **id** | **String** | | [optional]
98
+ **short_time** | **String** | | [optional]
99
+ **rebuffer_percentage** | **String** | | [optional]
100
+ **time_to_first_frame** | **String** | | [optional]
101
+ **viewer_user_id** | **String** | | [optional]
102
+ **video_stream_type** | **String** | | [optional]
103
+ **player_startup_time** | **Integer** | | [optional]
104
+ **viewer_application_version** | **String** | | [optional]
105
+ **view_max_downscale_percentage** | **String** | | [optional]
106
+ **view_max_upscale_percentage** | **String** | | [optional]
107
+ **country_code** | **String** | | [optional]
108
+ **used_fullscreen** | **BOOLEAN** | | [optional]
109
+ **isp** | **String** | | [optional]
110
+ **property_id** | **Integer** | | [optional]
111
+ **player_autoplay** | **BOOLEAN** | | [optional]
112
+ **player_height** | **Integer** | | [optional]
113
+ **asn** | **Integer** | | [optional]
114
+ **quality_score** | **String** | | [optional]
115
+ **player_software_version** | **String** | | [optional]
116
+
117
+
@@ -0,0 +1,11 @@
1
+ # MuxRuby::VideoViewEvent
2
+
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
+
11
+
@@ -0,0 +1,9 @@
1
+ # MuxRuby::VideoViewResponse
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **data** | [**VideoView**](.md) | | [optional]
7
+ **timeframe** | **Array<String>** | | [optional]
8
+
9
+
@@ -0,0 +1,126 @@
1
+ # MuxRuby::VideoViewsApi
2
+
3
+ All URIs are relative to *https://api.mux.com*
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
9
+
10
+
11
+ # **get_video_view**
12
+ > VideoViewResponse get_video_view(video_view_id)
13
+
14
+ Get a Video View
15
+
16
+ Returns the details of a video view
17
+
18
+ ### Example
19
+ ```ruby
20
+ # load the gem
21
+ require 'mux_ruby'
22
+ # setup authorization
23
+ MuxRuby.configure do |config|
24
+ # Configure HTTP basic authorization: accessToken
25
+ config.username = 'YOUR USERNAME'
26
+ config.password = 'YOUR PASSWORD'
27
+ end
28
+
29
+ api_instance = MuxRuby::VideoViewsApi.new
30
+ video_view_id = 'abcd1234' # String | ID of the Video View
31
+
32
+ begin
33
+ #Get a Video View
34
+ result = api_instance.get_video_view(video_view_id)
35
+ p result
36
+ rescue MuxRuby::ApiError => e
37
+ puts "Exception when calling VideoViewsApi->get_video_view: #{e}"
38
+ end
39
+ ```
40
+
41
+ ### Parameters
42
+
43
+ Name | Type | Description | Notes
44
+ ------------- | ------------- | ------------- | -------------
45
+ **video_view_id** | **String**| ID of the Video View |
46
+
47
+ ### Return type
48
+
49
+ [**VideoViewResponse**](VideoViewResponse.md)
50
+
51
+ ### Authorization
52
+
53
+ [accessToken](../README.md#accessToken)
54
+
55
+ ### HTTP request headers
56
+
57
+ - **Content-Type**: Not defined
58
+ - **Accept**: application/json
59
+
60
+
61
+
62
+ # **list_video_views**
63
+ > ListVideoViewsResponse list_video_views(opts)
64
+
65
+ List Video Views
66
+
67
+ Returns a list of video views
68
+
69
+ ### Example
70
+ ```ruby
71
+ # load the gem
72
+ require 'mux_ruby'
73
+ # setup authorization
74
+ MuxRuby.configure do |config|
75
+ # Configure HTTP basic authorization: accessToken
76
+ config.username = 'YOUR USERNAME'
77
+ config.password = 'YOUR PASSWORD'
78
+ end
79
+
80
+ api_instance = MuxRuby::VideoViewsApi.new
81
+ 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`
84
+ 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
+ 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.
89
+ }
90
+
91
+ begin
92
+ #List Video Views
93
+ result = api_instance.list_video_views(opts)
94
+ p result
95
+ rescue MuxRuby::ApiError => e
96
+ puts "Exception when calling VideoViewsApi->list_video_views: #{e}"
97
+ end
98
+ ```
99
+
100
+ ### Parameters
101
+
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]
111
+
112
+ ### Return type
113
+
114
+ [**ListVideoViewsResponse**](ListVideoViewsResponse.md)
115
+
116
+ ### Authorization
117
+
118
+ [accessToken](../README.md#accessToken)
119
+
120
+ ### HTTP request headers
121
+
122
+ - **Content-Type**: Not defined
123
+ - **Accept**: application/json
124
+
125
+
126
+
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'mux_ruby'
4
+ require 'solid_assert'
5
+
6
+ SolidAssert.enable_assertions
7
+
8
+ # Authentication Setup
9
+ openapi = MuxRuby.configure do |config|
10
+ config.username = ENV['MUX_TOKEN_ID']
11
+ config.password = ENV['MUX_TOKEN_SECRET']
12
+ end
13
+
14
+ # API Client Initialization
15
+ errors_api = MuxRuby::ErrorsApi.new
16
+
17
+ # ========== list-errors ==========
18
+ errors = errors_api.list_errors(:filters => ['browser:Firefox'], :timeframe => ['7:days'])
19
+ assert errors != nil
20
+ assert errors.data != nil
21
+ assert errors.data.length > 0
22
+ assert errors.data.first.id != nil
23
+ puts "list-errors OK ✅"
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'mux_ruby'
4
+ require 'solid_assert'
5
+
6
+ SolidAssert.enable_assertions
7
+
8
+ # Authentication Setup
9
+ openapi = MuxRuby.configure do |config|
10
+ config.username = ENV['MUX_TOKEN_ID']
11
+ config.password = ENV['MUX_TOKEN_SECRET']
12
+ end
13
+
14
+ # API Client Initialization
15
+ exports_api = MuxRuby::ExportsApi.new
16
+
17
+ # ========== list-errors ==========
18
+ exports = exports_api.list_exports()
19
+ assert exports != nil
20
+ assert exports.data != nil
21
+ assert exports.data.length > 0
22
+ puts "list-exports OK ✅"
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'mux_ruby'
4
+ require 'solid_assert'
5
+
6
+ SolidAssert.enable_assertions
7
+
8
+ # Authentication Setup
9
+ openapi = MuxRuby.configure do |config|
10
+ config.username = ENV['MUX_TOKEN_ID']
11
+ config.password = ENV['MUX_TOKEN_SECRET']
12
+ end
13
+
14
+ # API Client Initialization
15
+ filters_api = MuxRuby::FiltersApi.new
16
+
17
+ # ========== list-filters ==========
18
+ filters = filters_api.list_filters()
19
+ assert filters != nil
20
+ assert filters.data != nil
21
+ assert filters.data.basic != nil
22
+ assert filters.data.advanced != nil
23
+ puts "list-filters OK ✅"
24
+
25
+ # ========== list-filter-values ==========
26
+ filter_values = filters_api.list_filter_values("browser", {:timeframe => ['7:days']})
27
+ assert filter_values != nil
28
+ assert filter_values.data != nil
29
+ puts "list-filter-values OK ✅"
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'mux_ruby'
4
+ require 'solid_assert'
5
+
6
+ SolidAssert.enable_assertions
7
+
8
+ # Exercises all asset operations:
9
+ # list-breakdown-values
10
+ # get-overall-values
11
+ # list-insights
12
+ # get-metric-timeseries-data
13
+ # list-all-metric-values
14
+
15
+ # Authentication Setup
16
+ openapi = MuxRuby.configure do |config|
17
+ config.username = ENV['MUX_TOKEN_ID']
18
+ config.password = ENV['MUX_TOKEN_SECRET']
19
+ end
20
+
21
+ # API Client Initialization
22
+ metrics_api = MuxRuby::MetricsApi.new
23
+
24
+ # ========== list-breakdown-values ==========
25
+ breakdown = metrics_api.list_breakdown_values('video_startup_time', {:group_by => 'browser', :timeframe => ['7:days']})
26
+ assert breakdown != nil
27
+ assert breakdown.data != nil
28
+ puts "list-breakdown-values OK ✅"
29
+
30
+ # ========== get-overall-values ==========
31
+ overall = metrics_api.get_overall_values('video_startup_time', {:timeframe => ['7:days']})
32
+ assert overall != nil
33
+ assert overall.data != nil
34
+ puts "get-overall-values OK ✅"
35
+
36
+ # ========== list-insights ==========
37
+ insights = metrics_api.list_insights('video_startup_time', {:timeframe => ['7:days']})
38
+ assert insights != nil
39
+ assert insights.data != nil
40
+ puts "list-insights OK ✅"
41
+
42
+ # ========== get-metric-timeseries-data ==========
43
+ timeseries = metrics_api.get_metric_timeseries_data('video_startup_time', {:timeframe => ['7:days']})
44
+ assert timeseries != nil
45
+ assert timeseries.data != nil
46
+ puts "get-metric-timeseries-data OK ✅"
47
+
48
+ # ========== list-all-metric-values ==========
49
+ values = metrics_api.list_all_metric_values()
50
+ assert values != nil
51
+ assert values.data != nil
52
+ puts "list-all-metric-values OK ✅"
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'mux_ruby'
4
+ require 'solid_assert'
5
+
6
+ SolidAssert.enable_assertions
7
+
8
+ # Authentication Setup
9
+ openapi = MuxRuby.configure do |config|
10
+ config.username = ENV['MUX_TOKEN_ID']
11
+ config.password = ENV['MUX_TOKEN_SECRET']
12
+ end
13
+
14
+ # API Client Initialization
15
+ views_api = MuxRuby::VideoViewsApi.new
16
+
17
+ # ========== list-video-views ==========
18
+ video_views = views_api.list_video_views()
19
+ assert video_views != nil
20
+ assert video_views.data != nil
21
+ assert video_views.data.first != nil
22
+ assert video_views.data.first.id != nil
23
+ puts "list-video_views OK ✅"
24
+
25
+ # ========== get-video-view ==========
26
+ view = views_api.get_video_view(video_views.data.first.id)
27
+ assert view != nil
28
+ assert view.data != nil
29
+ assert view.data.id != video_views.data.first.id
30
+ puts "get-video-view OK ✅"
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'mux_ruby'
4
+
5
+ # Auth Setup
6
+ openapi = MuxRuby.configure do |config|
7
+ config.username = ENV['MUX_TOKEN_ID']
8
+ config.password = ENV['MUX_TOKEN_SECRET']
9
+ end
10
+
11
+ # API Client Init
12
+ live_api = MuxRuby::LiveStreamsApi.new
13
+
14
+ # Create the Live Stream
15
+ create_asset_request = MuxRuby::CreateAssetRequest.new
16
+ create_asset_request.playback_policy = [MuxRuby::PlaybackPolicy::PUBLIC]
17
+ create_live_stream_request = MuxRuby::CreateLiveStreamRequest.new
18
+ create_live_stream_request.new_asset_settings = create_asset_request
19
+ create_live_stream_request.playback_policy = [MuxRuby::PlaybackPolicy::PUBLIC]
20
+ stream = live_api.create_live_stream(create_live_stream_request)
21
+
22
+ # Give back the RTMP entry point playback endpoint
23
+ puts "New Live Stream created!"
24
+ puts "RTMP Endpoint: rtmp://live.mux.com/app"
25
+ puts "Stream Key: #{stream.data.stream_key}"
@@ -0,0 +1,95 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'mux_ruby'
4
+ require 'solid_assert'
5
+
6
+ SolidAssert.enable_assertions
7
+
8
+ # Authentication Setup
9
+ openapi = MuxRuby.configure do |config|
10
+ config.username = ENV['MUX_TOKEN_ID']
11
+ config.password = ENV['MUX_TOKEN_SECRET']
12
+ end
13
+
14
+ # API Client Initialization
15
+ assets_api = MuxRuby::AssetsApi.new
16
+
17
+ # ========== create-asset ==========
18
+ car = MuxRuby::CreateAssetRequest.new
19
+ car.input = 'https://storage.googleapis.com/muxdemofiles/mux-video-intro.mp4'
20
+ create_response = assets_api.create_asset(car)
21
+ assert create_response != nil
22
+ assert create_response.data.id != nil
23
+ puts "create-asset OK ✅"
24
+
25
+ # ========== list-assets ==========
26
+ assets = assets_api.list_assets()
27
+ assert assets != nil
28
+ assert assets.data.first.id == create_response.data.id
29
+ puts "list-assets OK ✅"
30
+
31
+ # Wait for the asset to become ready...
32
+ if create_response.data.status != 'ready'
33
+ puts " waiting for asset to become ready..."
34
+ while true do
35
+ # ========== get-asset ==========
36
+ asset = assets_api.get_asset(create_response.data.id)
37
+ assert asset != nil
38
+ assert asset.data.id == create_response.data.id
39
+ if asset.data.status != 'ready'
40
+ puts "Asset not ready yet, sleeping..."
41
+ sleep(1)
42
+ else
43
+ puts "Asset ready checking input info."
44
+ # ========== get-asset-input-info ==========
45
+ input_info = assets_api.get_asset_input_info(asset.data.id)
46
+ assert input_info != nil
47
+ assert input_info.data != nil
48
+ break
49
+ end
50
+ end
51
+ end
52
+ puts "get-asset OK ✅"
53
+ puts "get-asset-input-info OK ✅"
54
+
55
+ # ========== create-asset-playback-id ==========
56
+ cpbr = MuxRuby::CreatePlaybackIDRequest.new
57
+ cpbr.policy = MuxRuby::PlaybackPolicy::PUBLIC
58
+ pb_id_c = assets_api.create_asset_playback_id(create_response.data.id, cpbr)
59
+ assert pb_id_c != nil
60
+ assert pb_id_c.data != nil
61
+ puts "create-asset-playback-id OK ✅"
62
+
63
+ # ========== get-asset-playback-id ==========
64
+ pb_id = assets_api.get_asset_playback_id(create_response.data.id, pb_id_c.data.id)
65
+ assert pb_id != nil
66
+ assert pb_id.data != nil
67
+ assert pb_id.data.id == pb_id_c.data.id
68
+ puts "get-asset-playback-id OK ✅"
69
+
70
+ # ========== update-asset-mp4-support ==========
71
+ mp4_req = MuxRuby::UpdateAssetMP4SupportRequest.new
72
+ mp4_req.mp4_support = 'standard'
73
+ mp4_asset = assets_api.update_asset_mp4_support(create_response.data.id, mp4_req)
74
+ assert mp4_asset != nil
75
+ assert mp4_asset.data != nil
76
+ assert mp4_asset.data.id == create_response.data.id
77
+ assert mp4_asset.data.mp4_support == 'standard'
78
+ puts "update-asset-mp4-support OK ✅"
79
+
80
+ # ========== delete-asset-playback-id ==========
81
+ assets_api.delete_asset_playback_id(create_response.data.id, pb_id_c.data.id)
82
+ deleted_playback_id_asset = assets_api.get_asset(create_response.data.id)
83
+ assert deleted_playback_id_asset.data.playback_ids == nil
84
+ puts "delete-asset-playback-id OK ✅"
85
+
86
+ # ========== delete-asset ==========
87
+ assets_api.delete_asset(create_response.data.id)
88
+ begin
89
+ assets_api.get_asset(create_response.data.id)
90
+ puts 'Should have errored here.'
91
+ exit 255
92
+ rescue MuxRuby::NotFoundError => e
93
+ assert e != nil
94
+ end
95
+ puts "delete-asset OK ✅"
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'mux_ruby'
4
+ require 'solid_assert'
5
+
6
+ SolidAssert.enable_assertions
7
+
8
+ # Authentication Setup
9
+ openapi = MuxRuby.configure do |config|
10
+ config.username = ENV['MUX_TOKEN_ID']
11
+ config.password = ENV['MUX_TOKEN_SECRET']
12
+ end
13
+
14
+ # API Client Initialization
15
+ live_api = MuxRuby::LiveStreamsApi.new
16
+
17
+ # ========== create-live-stream ==========
18
+ create_asset_request = MuxRuby::CreateAssetRequest.new
19
+ create_asset_request.playback_policy = [MuxRuby::PlaybackPolicy::PUBLIC]
20
+ create_live_stream_request = MuxRuby::CreateLiveStreamRequest.new
21
+ create_live_stream_request.new_asset_settings = create_asset_request
22
+ create_live_stream_request.playback_policy = [MuxRuby::PlaybackPolicy::PUBLIC]
23
+ stream = live_api.create_live_stream(create_live_stream_request)
24
+ assert stream != nil
25
+ assert stream.data != nil
26
+ assert stream.data.id != nil
27
+ puts "create-live-stream OK ✅"
28
+
29
+ # ========== list-live-streams ==========
30
+ streams = live_api.list_live_streams()
31
+ assert streams != nil
32
+ assert streams.data != nil
33
+ assert streams.data.first.id == stream.data.id
34
+ puts "list-live-streams OK ✅"
35
+
36
+ # ========== get-live-stream ==========
37
+ stream_get = live_api.get_live_stream(stream.data.id)
38
+ assert stream_get != nil
39
+ assert stream_get.data != nil
40
+ assert stream_get.data.id == stream.data.id
41
+ puts "get-live-stream OK ✅"
42
+
43
+ # ========== create-live-stream-playback-id ==========
44
+ create_playback_id_request = MuxRuby::CreatePlaybackIDRequest.new
45
+ create_playback_id_request.policy = MuxRuby::PlaybackPolicy::SIGNED
46
+ playback_id = live_api.create_live_stream_playback_id(stream.data.id, create_playback_id_request)
47
+ assert playback_id != nil
48
+ assert playback_id.data != nil
49
+ assert playback_id.data.id != nil
50
+ assert playback_id.data.policy == "signed"
51
+ puts "create-live-stream-playback-id OK ✅"
52
+
53
+ # ========== delete-live-stream-playback-id ==========
54
+ live_api.delete_live_stream_playback_id(stream.data.id, playback_id.data.id)
55
+ stream_after_delete = live_api.get_live_stream(stream.data.id)
56
+ assert stream_after_delete != nil
57
+ assert stream_after_delete.data != nil
58
+ assert stream_after_delete.data.id == stream.data.id
59
+ assert stream_after_delete.data.playback_ids.length == 1
60
+ assert stream_after_delete.data.playback_ids.first.policy == "public"
61
+ puts "delete-live-stream-playback-id OK ✅"
62
+
63
+ # ========== reset-stream-key ==========
64
+ reset_key = live_api.reset_stream_key(stream.data.id)
65
+ assert reset_key != nil
66
+ assert reset_key.data != nil
67
+ assert reset_key.data.id == stream.data.id
68
+ assert reset_key.data.stream_key != stream.data.stream_key
69
+ puts "delete-live-stream-playback-id OK ✅"
70
+
71
+ # ========== signal-live-stream-complete ==========
72
+ begin
73
+ live_api.signal_live_stream_complete(stream.data.id)
74
+ rescue MuxRuby::ApiError => e
75
+ puts "Should not have errored when marking stream complete"
76
+ exit 1
77
+ end
78
+ puts "signal-live-stream-complete OK ✅"
79
+
80
+ # ========== delete-live-stream ==========
81
+ live_api.delete_live_stream(stream.data.id)
82
+ begin
83
+ live_api.get_live_stream(stream.data.id)
84
+ puts 'Should have errored here.'
85
+ exit 255
86
+ rescue MuxRuby::NotFoundError => e
87
+ assert e != nil
88
+ end
89
+ puts "delete-live-stream OK ✅"
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'mux_ruby'
4
+ require 'solid_assert'
5
+
6
+ SolidAssert.enable_assertions
7
+
8
+ # Authentication Setup
9
+ openapi = MuxRuby.configure do |config|
10
+ config.username = ENV['MUX_TOKEN_ID']
11
+ config.password = ENV['MUX_TOKEN_SECRET']
12
+ end
13
+
14
+ # API Client Initialization
15
+ keys_api = MuxRuby::URLSigningKeysApi.new
16
+
17
+ # ========== create-url-signing-key ==========
18
+ key = keys_api.create_url_signing_key()
19
+ assert key != nil
20
+ assert key.data.id != nil
21
+ assert key.data.private_key != nil
22
+ puts "create-url-signing-key OK ✅"
23
+
24
+ # ========== list-url-signing-keys ==========
25
+ keys = keys_api.list_url_signing_keys()
26
+ assert keys != nil
27
+ assert keys.data.first != nil
28
+ assert keys.data.first.id = key.data.id
29
+ assert keys.data.first.private_key == nil
30
+ puts "list-url-signing-keys OK ✅"
31
+
32
+ # ========== get-url-signing-key ==========
33
+ key_get = keys_api.get_url_signing_key(key.data.id)
34
+ assert key_get.data != nil
35
+ puts "get-url-signing-key OK ✅"
36
+
37
+ # ========== delete-url-signing-key ==========
38
+ keys_api.delete_url_signing_key(key.data.id)
39
+ begin
40
+ deleted_key = keys_api.get_url_signing_key(key.data.id)
41
+ puts 'Should have errored here.'
42
+ exit 255
43
+ rescue MuxRuby::NotFoundError => e
44
+ assert e != nil
45
+ end
46
+ puts "delete-url-signing-key OK ✅"