mux_ruby 1.5.0 → 1.9.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.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/README.md +4 -1
- data/docs/Asset.md +15 -12
- data/docs/AssetErrors.md +2 -2
- data/docs/AssetNonStandardInputReasons.md +16 -0
- data/docs/AssetRecordingTimes.md +9 -0
- data/docs/AssetStaticRenditions.md +1 -1
- data/docs/AssetsApi.md +4 -0
- data/docs/CreateAssetRequest.md +6 -6
- data/docs/CreateLiveStreamRequest.md +1 -0
- data/docs/CreateTrackRequest.md +4 -4
- data/docs/DimensionValue.md +9 -0
- data/docs/DimensionsApi.md +118 -0
- data/docs/DisableLiveStreamResponse.md +8 -0
- data/docs/EnableLiveStreamResponse.md +8 -0
- data/docs/FiltersApi.md +2 -2
- data/docs/GetAssetOrLiveStreamIdResponse.md +8 -0
- data/docs/GetAssetOrLiveStreamIdResponseData.md +10 -0
- data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +9 -0
- data/docs/GetRealTimeBreakdownResponse.md +10 -0
- data/docs/GetRealTimeHistogramTimeseriesResponse.md +11 -0
- data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +8 -0
- data/docs/GetRealTimeTimeseriesResponse.md +10 -0
- data/docs/Incident.md +28 -0
- data/docs/IncidentBreakdown.md +10 -0
- data/docs/IncidentNotification.md +10 -0
- data/docs/IncidentNotificationRule.md +12 -0
- data/docs/IncidentResponse.md +9 -0
- data/docs/IncidentsApi.md +186 -0
- data/docs/InputSettings.md +9 -7
- data/docs/InputSettingsOverlaySettings.md +7 -7
- data/docs/ListDimensionValuesResponse.md +10 -0
- data/docs/ListDimensionsResponse.md +10 -0
- data/docs/ListIncidentsResponse.md +10 -0
- data/docs/ListRealTimeDimensionsResponse.md +10 -0
- data/docs/ListRealTimeDimensionsResponseData.md +9 -0
- data/docs/ListRealTimeMetricsResponse.md +10 -0
- data/docs/ListRelatedIncidentsResponse.md +10 -0
- data/docs/LiveStream.md +1 -1
- data/docs/LiveStreamsApi.md +104 -0
- data/docs/NotificationRule.md +10 -0
- data/docs/PlaybackID.md +1 -1
- data/docs/PlaybackIDApi.md +60 -0
- data/docs/RealTimeApi.md +280 -0
- data/docs/RealTimeBreakdownValue.md +12 -0
- data/docs/RealTimeHistogramTimeseriesBucket.md +9 -0
- data/docs/RealTimeHistogramTimeseriesBucketValues.md +9 -0
- data/docs/RealTimeHistogramTimeseriesDatapoint.md +14 -0
- data/docs/RealTimeTimeseriesDatapoint.md +10 -0
- data/docs/Track.md +13 -13
- data/docs/VideoView.md +16 -14
- data/examples/data/exercise-dimensions.rb +29 -0
- data/examples/data/exercise-incidents.rb +29 -0
- data/examples/data/exercise-realtime.rb +60 -0
- data/examples/video/exercise-assets.rb +21 -0
- data/examples/video/exercise-live-streams.rb +30 -0
- data/lib/mux_ruby.rb +34 -0
- data/lib/mux_ruby/api/assets_api.rb +4 -0
- data/lib/mux_ruby/api/dimensions_api.rb +128 -0
- data/lib/mux_ruby/api/filters_api.rb +4 -4
- data/lib/mux_ruby/api/incidents_api.rb +217 -0
- data/lib/mux_ruby/api/live_streams_api.rb +106 -0
- data/lib/mux_ruby/api/playback_id_api.rb +69 -0
- data/lib/mux_ruby/api/real_time_api.rb +311 -0
- data/lib/mux_ruby/api_client.rb +13 -13
- data/lib/mux_ruby/configuration.rb +1 -4
- data/lib/mux_ruby/models/asset.rb +70 -3
- data/lib/mux_ruby/models/asset_errors.rb +2 -0
- data/lib/mux_ruby/models/asset_master.rb +35 -0
- data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +335 -0
- data/lib/mux_ruby/models/asset_recording_times.rb +195 -0
- data/lib/mux_ruby/models/asset_static_renditions.rb +2 -2
- data/lib/mux_ruby/models/asset_static_renditions_files.rb +6 -6
- data/lib/mux_ruby/models/create_asset_request.rb +8 -2
- data/lib/mux_ruby/models/create_live_stream_request.rb +15 -4
- data/lib/mux_ruby/models/create_track_request.rb +6 -2
- data/lib/mux_ruby/models/dimension_value.rb +193 -0
- data/lib/mux_ruby/models/disable_live_stream_response.rb +184 -0
- data/lib/mux_ruby/models/enable_live_stream_response.rb +184 -0
- data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +184 -0
- data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +203 -0
- data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +230 -0
- data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +206 -0
- data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +215 -0
- data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +186 -0
- data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +206 -0
- data/lib/mux_ruby/models/incident.rb +370 -0
- data/lib/mux_ruby/models/incident_breakdown.rb +202 -0
- data/lib/mux_ruby/models/incident_notification.rb +202 -0
- data/lib/mux_ruby/models/incident_notification_rule.rb +222 -0
- data/lib/mux_ruby/models/incident_response.rb +195 -0
- data/lib/mux_ruby/models/input_settings.rb +31 -4
- data/lib/mux_ruby/models/input_settings_overlay_settings.rb +10 -2
- data/lib/mux_ruby/models/list_dimension_values_response.rb +206 -0
- data/lib/mux_ruby/models/list_dimensions_response.rb +204 -0
- data/lib/mux_ruby/models/list_incidents_response.rb +206 -0
- data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +206 -0
- data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +193 -0
- data/lib/mux_ruby/models/list_real_time_metrics_response.rb +206 -0
- data/lib/mux_ruby/models/list_related_incidents_response.rb +206 -0
- data/lib/mux_ruby/models/live_stream.rb +1 -1
- data/lib/mux_ruby/models/notification_rule.rb +202 -0
- data/lib/mux_ruby/models/playback_id.rb +1 -0
- data/lib/mux_ruby/models/real_time_breakdown_value.rb +220 -0
- data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +193 -0
- data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +193 -0
- data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +240 -0
- data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +202 -0
- data/lib/mux_ruby/models/simulcast_target.rb +1 -1
- data/lib/mux_ruby/models/track.rb +27 -2
- data/lib/mux_ruby/models/update_asset_master_access_request.rb +1 -1
- data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +1 -1
- data/lib/mux_ruby/models/upload.rb +1 -1
- data/lib/mux_ruby/models/video_view.rb +36 -18
- data/lib/mux_ruby/version.rb +1 -1
- data/mux_ruby.gemspec +2 -0
- data/spec/api/assets_api_spec.rb +2 -0
- data/spec/api/dimensions_api_spec.rb +55 -0
- data/spec/api/filters_api_spec.rb +2 -2
- data/spec/api/incidents_api_spec.rb +73 -0
- data/spec/api/live_streams_api_spec.rb +24 -0
- data/spec/api/playback_id_api_spec.rb +40 -0
- data/spec/api/real_time_api_spec.rb +93 -0
- data/spec/models/asset_master_spec.rb +4 -0
- data/spec/models/asset_non_standard_input_reasons_spec.rb +98 -0
- data/spec/models/asset_recording_times_spec.rb +40 -0
- data/spec/models/asset_spec.rb +26 -0
- data/spec/models/asset_static_renditions_files_spec.rb +2 -2
- data/spec/models/create_live_stream_request_spec.rb +6 -0
- data/spec/models/dimension_value_spec.rb +40 -0
- data/spec/models/disable_live_stream_response_spec.rb +34 -0
- data/spec/models/enable_live_stream_response_spec.rb +34 -0
- data/spec/models/get_asset_or_live_stream_id_response_data_object_spec.rb +44 -0
- data/spec/models/get_asset_or_live_stream_id_response_data_spec.rb +46 -0
- data/spec/models/get_asset_or_live_stream_id_response_spec.rb +34 -0
- data/spec/models/get_real_time_breakdown_response_spec.rb +46 -0
- data/spec/models/get_real_time_histogram_timeseries_response_meta_spec.rb +34 -0
- data/spec/models/get_real_time_histogram_timeseries_response_spec.rb +52 -0
- data/spec/models/get_real_time_timeseries_response_spec.rb +46 -0
- data/spec/models/incident_breakdown_spec.rb +46 -0
- data/spec/models/incident_notification_rule_spec.rb +58 -0
- data/spec/models/incident_notification_spec.rb +46 -0
- data/spec/models/incident_response_spec.rb +40 -0
- data/spec/models/incident_spec.rb +154 -0
- data/spec/models/input_settings_spec.rb +12 -0
- data/spec/models/list_dimension_values_response_spec.rb +46 -0
- data/spec/models/list_dimensions_response_spec.rb +46 -0
- data/spec/models/list_incidents_response_spec.rb +46 -0
- data/spec/models/list_real_time_dimensions_response_data_spec.rb +40 -0
- data/spec/models/list_real_time_dimensions_response_spec.rb +46 -0
- data/spec/models/list_real_time_metrics_response_spec.rb +46 -0
- data/spec/models/list_related_incidents_response_spec.rb +46 -0
- data/spec/models/notification_rule_spec.rb +46 -0
- data/spec/models/real_time_breakdown_value_spec.rb +58 -0
- data/spec/models/real_time_histogram_timeseries_bucket_spec.rb +40 -0
- data/spec/models/real_time_histogram_timeseries_bucket_values_spec.rb +40 -0
- data/spec/models/real_time_histogram_timeseries_datapoint_spec.rb +70 -0
- data/spec/models/real_time_timeseries_datapoint_spec.rb +46 -0
- data/spec/models/track_spec.rb +4 -0
- data/spec/models/video_view_spec.rb +12 -0
- metadata +200 -60
data/docs/VideoView.md
CHANGED
@@ -11,22 +11,22 @@ Name | Type | Description | Notes
|
|
11
11
|
**preroll_requested** | **BOOLEAN** | | [optional]
|
12
12
|
**page_type** | **String** | | [optional]
|
13
13
|
**startup_score** | **String** | | [optional]
|
14
|
-
**view_seek_duration** | **
|
14
|
+
**view_seek_duration** | **Integer** | | [optional]
|
15
15
|
**country_name** | **String** | | [optional]
|
16
16
|
**player_source_height** | **Integer** | | [optional]
|
17
17
|
**longitude** | **String** | | [optional]
|
18
|
-
**buffering_count** | **
|
19
|
-
**video_duration** | **
|
18
|
+
**buffering_count** | **Integer** | | [optional]
|
19
|
+
**video_duration** | **Integer** | | [optional]
|
20
20
|
**player_source_type** | **String** | | [optional]
|
21
21
|
**city** | **String** | | [optional]
|
22
22
|
**view_id** | **String** | | [optional]
|
23
23
|
**platform_description** | **String** | | [optional]
|
24
|
-
**video_startup_preroll_request_time** | **
|
24
|
+
**video_startup_preroll_request_time** | **Integer** | | [optional]
|
25
25
|
**viewer_device_name** | **String** | | [optional]
|
26
26
|
**video_series** | **String** | | [optional]
|
27
27
|
**viewer_application_name** | **String** | | [optional]
|
28
28
|
**updated_at** | **String** | | [optional]
|
29
|
-
**view_total_content_playback_time** | **
|
29
|
+
**view_total_content_playback_time** | **Integer** | | [optional]
|
30
30
|
**cdn** | **String** | | [optional]
|
31
31
|
**player_instance_id** | **String** | | [optional]
|
32
32
|
**video_language** | **String** | | [optional]
|
@@ -37,8 +37,8 @@ Name | Type | Description | Notes
|
|
37
37
|
**playback_score** | **String** | | [optional]
|
38
38
|
**page_url** | **String** | | [optional]
|
39
39
|
**metro** | **String** | | [optional]
|
40
|
-
**view_max_request_latency** | **
|
41
|
-
**requests_for_first_preroll** | **
|
40
|
+
**view_max_request_latency** | **Integer** | | [optional]
|
41
|
+
**requests_for_first_preroll** | **Integer** | | [optional]
|
42
42
|
**view_total_downscaling** | **String** | | [optional]
|
43
43
|
**latitude** | **String** | | [optional]
|
44
44
|
**player_source_host_name** | **String** | | [optional]
|
@@ -48,7 +48,7 @@ Name | Type | Description | Notes
|
|
48
48
|
**player_language** | **String** | | [optional]
|
49
49
|
**page_load_time** | **Integer** | | [optional]
|
50
50
|
**viewer_device_category** | **String** | | [optional]
|
51
|
-
**video_startup_preroll_load_time** | **
|
51
|
+
**video_startup_preroll_load_time** | **Integer** | | [optional]
|
52
52
|
**player_version** | **String** | | [optional]
|
53
53
|
**watch_time** | **Integer** | | [optional]
|
54
54
|
**player_source_stream_type** | **String** | | [optional]
|
@@ -58,14 +58,14 @@ Name | Type | Description | Notes
|
|
58
58
|
**experiment_name** | **String** | | [optional]
|
59
59
|
**viewer_os_version** | **String** | | [optional]
|
60
60
|
**player_preload** | **BOOLEAN** | | [optional]
|
61
|
-
**buffering_duration** | **
|
61
|
+
**buffering_duration** | **Integer** | | [optional]
|
62
62
|
**player_view_count** | **Integer** | | [optional]
|
63
63
|
**player_software** | **String** | | [optional]
|
64
|
-
**player_load_time** | **
|
64
|
+
**player_load_time** | **Integer** | | [optional]
|
65
65
|
**platform_summary** | **String** | | [optional]
|
66
66
|
**video_encoding_variant** | **String** | | [optional]
|
67
67
|
**player_width** | **Integer** | | [optional]
|
68
|
-
**view_seek_count** | **
|
68
|
+
**view_seek_count** | **Integer** | | [optional]
|
69
69
|
**viewer_experience_score** | **String** | | [optional]
|
70
70
|
**view_error_id** | **Integer** | | [optional]
|
71
71
|
**video_variant_name** | **String** | | [optional]
|
@@ -77,7 +77,7 @@ Name | Type | Description | Notes
|
|
77
77
|
**events** | [**Array<VideoViewEvent>**](VideoViewEvent.md) | | [optional]
|
78
78
|
**player_name** | **String** | | [optional]
|
79
79
|
**view_start** | **String** | | [optional]
|
80
|
-
**view_average_request_throughput** | **
|
80
|
+
**view_average_request_throughput** | **Integer** | | [optional]
|
81
81
|
**video_producer** | **String** | | [optional]
|
82
82
|
**error_type_id** | **Integer** | | [optional]
|
83
83
|
**mux_viewer_id** | **String** | | [optional]
|
@@ -88,7 +88,7 @@ Name | Type | Description | Notes
|
|
88
88
|
**video_content_type** | **String** | | [optional]
|
89
89
|
**viewer_os_family** | **String** | | [optional]
|
90
90
|
**player_poster** | **String** | | [optional]
|
91
|
-
**view_average_request_latency** | **
|
91
|
+
**view_average_request_latency** | **Integer** | | [optional]
|
92
92
|
**video_variant_id** | **String** | | [optional]
|
93
93
|
**player_source_duration** | **Integer** | | [optional]
|
94
94
|
**player_source_url** | **String** | | [optional]
|
@@ -97,7 +97,7 @@ Name | Type | Description | Notes
|
|
97
97
|
**id** | **String** | | [optional]
|
98
98
|
**short_time** | **String** | | [optional]
|
99
99
|
**rebuffer_percentage** | **String** | | [optional]
|
100
|
-
**time_to_first_frame** | **
|
100
|
+
**time_to_first_frame** | **Integer** | | [optional]
|
101
101
|
**viewer_user_id** | **String** | | [optional]
|
102
102
|
**video_stream_type** | **String** | | [optional]
|
103
103
|
**player_startup_time** | **Integer** | | [optional]
|
@@ -111,7 +111,9 @@ Name | Type | Description | Notes
|
|
111
111
|
**player_autoplay** | **BOOLEAN** | | [optional]
|
112
112
|
**player_height** | **Integer** | | [optional]
|
113
113
|
**asn** | **Integer** | | [optional]
|
114
|
+
**asn_name** | **String** | | [optional]
|
114
115
|
**quality_score** | **String** | | [optional]
|
115
116
|
**player_software_version** | **String** | | [optional]
|
117
|
+
**player_mux_plugin_name** | **String** | | [optional]
|
116
118
|
|
117
119
|
|
@@ -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
|
+
dimensions_api = MuxRuby::DimensionsApi.new
|
16
|
+
|
17
|
+
# ========== list-dimensions ==========
|
18
|
+
dimensions = dimensions_api.list_dimensions()
|
19
|
+
assert dimensions != nil
|
20
|
+
assert dimensions.data != nil
|
21
|
+
assert dimensions.data.basic != nil
|
22
|
+
assert dimensions.data.advanced != nil
|
23
|
+
puts "list-dimensions OK ✅"
|
24
|
+
|
25
|
+
# ========== list-dimension-values ==========
|
26
|
+
dimension_values = dimensions_api.list_dimension_values("browser", {:timeframe => ['7:days']})
|
27
|
+
assert dimension_values != nil
|
28
|
+
assert dimension_values.data != nil
|
29
|
+
puts "list-dimension-values 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
|
+
incidents_api = MuxRuby::IncidentsApi.new
|
16
|
+
|
17
|
+
# Test coverage here is poor due to not knowning if the account we're testing against has any incidents.
|
18
|
+
|
19
|
+
# ========== list-incidents ==========
|
20
|
+
incidents = incidents_api.list_incidents
|
21
|
+
assert incidents != nil
|
22
|
+
assert incidents.data != nil
|
23
|
+
puts "list-incidents OK ✅"
|
24
|
+
|
25
|
+
# ========== get-incident ==========
|
26
|
+
puts "get-incident SKIP ⚠️"
|
27
|
+
|
28
|
+
# ========== list-related-incidents ==========
|
29
|
+
puts "list-related-incidents SKIP ⚠️"
|
@@ -0,0 +1,60 @@
|
|
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
|
+
rt_api = MuxRuby::RealTimeApi.new
|
16
|
+
|
17
|
+
# Test coverage here isn't fantastic due to not knowning if the account we're testing against has
|
18
|
+
# any real-time data. The behaviour has been manually verified against real-world data.
|
19
|
+
|
20
|
+
# ========== list-realtime-dimensions ==========
|
21
|
+
dimensions = rt_api.list_realtime_dimensions
|
22
|
+
assert dimensions != nil
|
23
|
+
assert dimensions.data != nil
|
24
|
+
assert dimensions.data.length > 0
|
25
|
+
assert dimensions.data.first.name != ''
|
26
|
+
assert dimensions.data.first.display_name != ''
|
27
|
+
puts "list-realtime-dimensions OK ✅"
|
28
|
+
|
29
|
+
# ========== list-realtime-metrics ==========
|
30
|
+
metrics = rt_api.list_realtime_metrics
|
31
|
+
assert metrics != nil
|
32
|
+
assert metrics.data != nil
|
33
|
+
assert metrics.data.length > 0
|
34
|
+
assert metrics.data.first.name != ''
|
35
|
+
assert metrics.data.first.display_name != ''
|
36
|
+
puts "list-realtime-metrics OK ✅"
|
37
|
+
|
38
|
+
# ========== get-realtime-breakdown ==========
|
39
|
+
breakdown = rt_api.get_realtime_breakdown('current-rebuffering-percentage', {:dimension => 'asn'})
|
40
|
+
assert breakdown != nil
|
41
|
+
assert breakdown.data != nil
|
42
|
+
puts "get-realtime-breakdown OK ✅"
|
43
|
+
|
44
|
+
# ========== get-realtime-histogram-timeseries ==========
|
45
|
+
histogram_timeseries = rt_api.get_realtime_histogram_timeseries('video-startup-time')
|
46
|
+
assert histogram_timeseries != nil
|
47
|
+
assert histogram_timeseries.meta != nil
|
48
|
+
assert histogram_timeseries.meta.buckets != nil
|
49
|
+
assert histogram_timeseries.meta.buckets.length > 0
|
50
|
+
assert histogram_timeseries.data != nil
|
51
|
+
assert histogram_timeseries.data.length > 0
|
52
|
+
puts "get-realtime-histogram-timeseries OK ✅"
|
53
|
+
|
54
|
+
# ========== get-realtime-timeseries ==========
|
55
|
+
timeseries = rt_api.get_realtime_timeseries('current-rebuffering-percentage')
|
56
|
+
assert timeseries != nil
|
57
|
+
assert timeseries.data != nil
|
58
|
+
assert timeseries.data.length > 0
|
59
|
+
assert timeseries.data.first.date != ''
|
60
|
+
puts "get-realtime-timeseries OK ✅"
|
@@ -13,6 +13,7 @@ end
|
|
13
13
|
|
14
14
|
# API Client Initialization
|
15
15
|
assets_api = MuxRuby::AssetsApi.new
|
16
|
+
playback_ids_api = MuxRuby::PlaybackIDApi.new
|
16
17
|
|
17
18
|
# ========== create-asset ==========
|
18
19
|
car = MuxRuby::CreateAssetRequest.new
|
@@ -52,6 +53,20 @@ end
|
|
52
53
|
puts "get-asset OK ✅"
|
53
54
|
puts "get-asset-input-info OK ✅"
|
54
55
|
|
56
|
+
# ========== clipping ==========
|
57
|
+
clip_request = MuxRuby::CreateAssetRequest.new
|
58
|
+
clip_request.input = [
|
59
|
+
{
|
60
|
+
url: "mux://assets/#{create_response.data.id}",
|
61
|
+
start_time: 0.0,
|
62
|
+
end_time: 5.0
|
63
|
+
}
|
64
|
+
]
|
65
|
+
create_clip_response = assets_api.create_asset(clip_request)
|
66
|
+
assert create_clip_response != nil
|
67
|
+
assert create_clip_response.data.id != nil
|
68
|
+
puts "clipping OK ✅"
|
69
|
+
|
55
70
|
# ========== create-asset-playback-id ==========
|
56
71
|
cpbr = MuxRuby::CreatePlaybackIDRequest.new
|
57
72
|
cpbr.policy = MuxRuby::PlaybackPolicy::PUBLIC
|
@@ -67,6 +82,12 @@ assert pb_id.data != nil
|
|
67
82
|
assert pb_id.data.id == pb_id_c.data.id
|
68
83
|
puts "get-asset-playback-id OK ✅"
|
69
84
|
|
85
|
+
# ========== get-asset-or-livestream-id ==========
|
86
|
+
get_playback_id_resp = playback_ids_api.get_asset_or_livestream_id(pb_id.data.id).data
|
87
|
+
assert get_playback_id_resp.object.id == create_response.data.id
|
88
|
+
assert get_playback_id_resp.object.type == "asset"
|
89
|
+
puts "get-asset-or-livestream-id OK ✅"
|
90
|
+
|
70
91
|
# ========== update-asset-mp4-support ==========
|
71
92
|
mp4_req = MuxRuby::UpdateAssetMP4SupportRequest.new
|
72
93
|
mp4_req.mp4_support = 'standard'
|
@@ -13,6 +13,7 @@ end
|
|
13
13
|
|
14
14
|
# API Client Initialization
|
15
15
|
live_api = MuxRuby::LiveStreamsApi.new
|
16
|
+
playback_ids_api = MuxRuby::PlaybackIDApi.new
|
16
17
|
|
17
18
|
# ========== create-live-stream ==========
|
18
19
|
create_asset_request = MuxRuby::CreateAssetRequest.new
|
@@ -41,6 +42,13 @@ assert stream_get.data != nil
|
|
41
42
|
assert stream_get.data.id == stream.data.id
|
42
43
|
puts "get-live-stream OK ✅"
|
43
44
|
|
45
|
+
# ========== get-asset-or-livestream-id ==========
|
46
|
+
playback_id = stream.data.playback_ids.first.id
|
47
|
+
get_playback_id_resp = playback_ids_api.get_asset_or_livestream_id(playback_id).data
|
48
|
+
assert get_playback_id_resp.object.id == stream.data.id
|
49
|
+
assert get_playback_id_resp.object.type == "live_stream"
|
50
|
+
puts "get-asset-or-livestream-id OK ✅"
|
51
|
+
|
44
52
|
# ========== create-live-stream-simulcast-target ==========
|
45
53
|
create_simulcast_target = MuxRuby::CreateSimulcastTargetRequest.new
|
46
54
|
create_simulcast_target.passthrough = 'foo'
|
@@ -104,6 +112,28 @@ rescue MuxRuby::ApiError => e
|
|
104
112
|
end
|
105
113
|
puts "signal-live-stream-complete OK ✅"
|
106
114
|
|
115
|
+
# ========== disable-live-stream ==========
|
116
|
+
begin
|
117
|
+
live_api.disable_live_stream(stream.data.id)
|
118
|
+
disabled_live_stream = live_api.get_live_stream(stream.data.id)
|
119
|
+
assert disabled_live_stream.data.status == 'disabled'
|
120
|
+
rescue MuxRuby::ApiError => e
|
121
|
+
puts "Should not have errored when disabling stream"
|
122
|
+
exit 1
|
123
|
+
end
|
124
|
+
puts "disable-live-stream OK ✅"
|
125
|
+
|
126
|
+
# ========== enable-live-stream ==========
|
127
|
+
begin
|
128
|
+
live_api.enable_live_stream(stream.data.id)
|
129
|
+
enabled_live_stream = live_api.get_live_stream(stream.data.id)
|
130
|
+
assert enabled_live_stream.data.status == 'idle'
|
131
|
+
rescue MuxRuby::ApiError => e
|
132
|
+
puts "Should not have errored when enabling stream"
|
133
|
+
exit 1
|
134
|
+
end
|
135
|
+
puts "enable-live-stream OK ✅"
|
136
|
+
|
107
137
|
# ========== delete-live-stream ==========
|
108
138
|
live_api.delete_live_stream(stream.data.id)
|
109
139
|
begin
|
data/lib/mux_ruby.rb
CHANGED
@@ -14,6 +14,8 @@ require 'mux_ruby/models/abridged_video_view'
|
|
14
14
|
require 'mux_ruby/models/asset'
|
15
15
|
require 'mux_ruby/models/asset_errors'
|
16
16
|
require 'mux_ruby/models/asset_master'
|
17
|
+
require 'mux_ruby/models/asset_non_standard_input_reasons'
|
18
|
+
require 'mux_ruby/models/asset_recording_times'
|
17
19
|
require 'mux_ruby/models/asset_response'
|
18
20
|
require 'mux_ruby/models/asset_static_renditions'
|
19
21
|
require 'mux_ruby/models/asset_static_renditions_files'
|
@@ -27,12 +29,27 @@ require 'mux_ruby/models/create_track_request'
|
|
27
29
|
require 'mux_ruby/models/create_track_response'
|
28
30
|
require 'mux_ruby/models/create_upload_request'
|
29
31
|
require 'mux_ruby/models/delivery_report'
|
32
|
+
require 'mux_ruby/models/dimension_value'
|
33
|
+
require 'mux_ruby/models/disable_live_stream_response'
|
34
|
+
require 'mux_ruby/models/enable_live_stream_response'
|
30
35
|
require 'mux_ruby/models/error'
|
31
36
|
require 'mux_ruby/models/filter_value'
|
32
37
|
require 'mux_ruby/models/get_asset_input_info_response'
|
38
|
+
require 'mux_ruby/models/get_asset_or_live_stream_id_response'
|
39
|
+
require 'mux_ruby/models/get_asset_or_live_stream_id_response_data'
|
40
|
+
require 'mux_ruby/models/get_asset_or_live_stream_id_response_data_object'
|
33
41
|
require 'mux_ruby/models/get_asset_playback_id_response'
|
34
42
|
require 'mux_ruby/models/get_metric_timeseries_data_response'
|
35
43
|
require 'mux_ruby/models/get_overall_values_response'
|
44
|
+
require 'mux_ruby/models/get_real_time_breakdown_response'
|
45
|
+
require 'mux_ruby/models/get_real_time_histogram_timeseries_response'
|
46
|
+
require 'mux_ruby/models/get_real_time_histogram_timeseries_response_meta'
|
47
|
+
require 'mux_ruby/models/get_real_time_timeseries_response'
|
48
|
+
require 'mux_ruby/models/incident'
|
49
|
+
require 'mux_ruby/models/incident_breakdown'
|
50
|
+
require 'mux_ruby/models/incident_notification'
|
51
|
+
require 'mux_ruby/models/incident_notification_rule'
|
52
|
+
require 'mux_ruby/models/incident_response'
|
36
53
|
require 'mux_ruby/models/input_file'
|
37
54
|
require 'mux_ruby/models/input_info'
|
38
55
|
require 'mux_ruby/models/input_settings'
|
@@ -43,22 +60,35 @@ require 'mux_ruby/models/list_all_metric_values_response'
|
|
43
60
|
require 'mux_ruby/models/list_assets_response'
|
44
61
|
require 'mux_ruby/models/list_breakdown_values_response'
|
45
62
|
require 'mux_ruby/models/list_delivery_usage_response'
|
63
|
+
require 'mux_ruby/models/list_dimension_values_response'
|
64
|
+
require 'mux_ruby/models/list_dimensions_response'
|
46
65
|
require 'mux_ruby/models/list_errors_response'
|
47
66
|
require 'mux_ruby/models/list_exports_response'
|
48
67
|
require 'mux_ruby/models/list_filter_values_response'
|
49
68
|
require 'mux_ruby/models/list_filters_response'
|
50
69
|
require 'mux_ruby/models/list_filters_response_data'
|
70
|
+
require 'mux_ruby/models/list_incidents_response'
|
51
71
|
require 'mux_ruby/models/list_insights_response'
|
52
72
|
require 'mux_ruby/models/list_live_streams_response'
|
73
|
+
require 'mux_ruby/models/list_real_time_dimensions_response'
|
74
|
+
require 'mux_ruby/models/list_real_time_dimensions_response_data'
|
75
|
+
require 'mux_ruby/models/list_real_time_metrics_response'
|
76
|
+
require 'mux_ruby/models/list_related_incidents_response'
|
53
77
|
require 'mux_ruby/models/list_signing_keys_response'
|
54
78
|
require 'mux_ruby/models/list_uploads_response'
|
55
79
|
require 'mux_ruby/models/list_video_views_response'
|
56
80
|
require 'mux_ruby/models/live_stream'
|
57
81
|
require 'mux_ruby/models/live_stream_response'
|
58
82
|
require 'mux_ruby/models/metric'
|
83
|
+
require 'mux_ruby/models/notification_rule'
|
59
84
|
require 'mux_ruby/models/overall_values'
|
60
85
|
require 'mux_ruby/models/playback_id'
|
61
86
|
require 'mux_ruby/models/playback_policy'
|
87
|
+
require 'mux_ruby/models/real_time_breakdown_value'
|
88
|
+
require 'mux_ruby/models/real_time_histogram_timeseries_bucket'
|
89
|
+
require 'mux_ruby/models/real_time_histogram_timeseries_bucket_values'
|
90
|
+
require 'mux_ruby/models/real_time_histogram_timeseries_datapoint'
|
91
|
+
require 'mux_ruby/models/real_time_timeseries_datapoint'
|
62
92
|
require 'mux_ruby/models/score'
|
63
93
|
require 'mux_ruby/models/signal_live_stream_complete_response'
|
64
94
|
require 'mux_ruby/models/signing_key'
|
@@ -78,12 +108,16 @@ require 'mux_ruby/models/video_view_response'
|
|
78
108
|
# APIs
|
79
109
|
require 'mux_ruby/api/assets_api'
|
80
110
|
require 'mux_ruby/api/delivery_usage_api'
|
111
|
+
require 'mux_ruby/api/dimensions_api'
|
81
112
|
require 'mux_ruby/api/direct_uploads_api'
|
82
113
|
require 'mux_ruby/api/errors_api'
|
83
114
|
require 'mux_ruby/api/exports_api'
|
84
115
|
require 'mux_ruby/api/filters_api'
|
116
|
+
require 'mux_ruby/api/incidents_api'
|
85
117
|
require 'mux_ruby/api/live_streams_api'
|
86
118
|
require 'mux_ruby/api/metrics_api'
|
119
|
+
require 'mux_ruby/api/playback_id_api'
|
120
|
+
require 'mux_ruby/api/real_time_api'
|
87
121
|
require 'mux_ruby/api/url_signing_keys_api'
|
88
122
|
require 'mux_ruby/api/video_views_api'
|
89
123
|
|
@@ -186,6 +186,7 @@ module MuxRuby
|
|
186
186
|
end
|
187
187
|
|
188
188
|
# Delete an asset
|
189
|
+
# Deletes a video asset and all its data
|
189
190
|
# @param asset_id The asset ID.
|
190
191
|
# @param [Hash] opts the optional parameters
|
191
192
|
# @return [nil]
|
@@ -195,6 +196,7 @@ module MuxRuby
|
|
195
196
|
end
|
196
197
|
|
197
198
|
# Delete an asset
|
199
|
+
# Deletes a video asset and all its data
|
198
200
|
# @param asset_id The asset ID.
|
199
201
|
# @param [Hash] opts the optional parameters
|
200
202
|
# @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
|
@@ -505,6 +507,7 @@ module MuxRuby
|
|
505
507
|
end
|
506
508
|
|
507
509
|
# List assets
|
510
|
+
# List all Mux assets.
|
508
511
|
# @param [Hash] opts the optional parameters
|
509
512
|
# @option opts [Integer] :limit Number of items to include in the response (default to 25)
|
510
513
|
# @option opts [Integer] :page Offset by this many pages, of the size of `limit` (default to 1)
|
@@ -515,6 +518,7 @@ module MuxRuby
|
|
515
518
|
end
|
516
519
|
|
517
520
|
# List assets
|
521
|
+
# List all Mux assets.
|
518
522
|
# @param [Hash] opts the optional parameters
|
519
523
|
# @option opts [Integer] :limit Number of items to include in the response
|
520
524
|
# @option opts [Integer] :page Offset by this many pages, of the size of `limit`
|
@@ -0,0 +1,128 @@
|
|
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 'uri'
|
7
|
+
|
8
|
+
module MuxRuby
|
9
|
+
class DimensionsApi
|
10
|
+
attr_accessor :api_client
|
11
|
+
|
12
|
+
def initialize(api_client = ApiClient.default)
|
13
|
+
@api_client = api_client
|
14
|
+
end
|
15
|
+
# Lists the values for a specific dimension
|
16
|
+
# Lists the values for a dimension along with a total count of related views. Note: This API replaces the list-filter-values API call.
|
17
|
+
# @param dimension_id ID of the Dimension
|
18
|
+
# @param [Hash] opts the optional parameters
|
19
|
+
# @option opts [Integer] :limit Number of items to include in the response (default to 25)
|
20
|
+
# @option opts [Integer] :page Offset by this many pages, of the size of `limit` (default to 1)
|
21
|
+
# @option opts [Array<String>] :filters 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.
|
22
|
+
# @option opts [Array<String>] :timeframe 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.
|
23
|
+
# @return [ListDimensionValuesResponse]
|
24
|
+
def list_dimension_values(dimension_id, opts = {})
|
25
|
+
data, _status_code, _headers = list_dimension_values_with_http_info(dimension_id, opts)
|
26
|
+
data
|
27
|
+
end
|
28
|
+
|
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 `limit`
|
35
|
+
# @option opts [Array<String>] :filters 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.
|
36
|
+
# @option opts [Array<String>] :timeframe 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.
|
37
|
+
# @return [Array<(ListDimensionValuesResponse, Fixnum, Hash)>] ListDimensionValuesResponse data, response status code and response headers
|
38
|
+
def list_dimension_values_with_http_info(dimension_id, opts = {})
|
39
|
+
if @api_client.config.debugging
|
40
|
+
@api_client.config.logger.debug 'Calling API: DimensionsApi.list_dimension_values ...'
|
41
|
+
end
|
42
|
+
# verify the required parameter 'dimension_id' is set
|
43
|
+
if @api_client.config.client_side_validation && dimension_id.nil?
|
44
|
+
fail ArgumentError, "Missing the required parameter 'dimension_id' when calling DimensionsApi.list_dimension_values"
|
45
|
+
end
|
46
|
+
# resource path
|
47
|
+
local_var_path = '/data/v1/dimensions/{DIMENSION_ID}'.sub('{' + 'DIMENSION_ID' + '}', dimension_id.to_s)
|
48
|
+
|
49
|
+
# query parameters
|
50
|
+
query_params = {}
|
51
|
+
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
52
|
+
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
53
|
+
query_params[:'filters[]'] = @api_client.build_collection_param(opts[:'filters'], :multi) if !opts[:'filters'].nil?
|
54
|
+
query_params[:'timeframe[]'] = @api_client.build_collection_param(opts[:'timeframe'], :multi) if !opts[:'timeframe'].nil?
|
55
|
+
|
56
|
+
# header parameters
|
57
|
+
header_params = {}
|
58
|
+
# HTTP header 'Accept' (if needed)
|
59
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
60
|
+
|
61
|
+
# form parameters
|
62
|
+
form_params = {}
|
63
|
+
|
64
|
+
# http body (model)
|
65
|
+
post_body = nil
|
66
|
+
auth_names = ['accessToken']
|
67
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
68
|
+
:header_params => header_params,
|
69
|
+
:query_params => query_params,
|
70
|
+
:form_params => form_params,
|
71
|
+
:body => post_body,
|
72
|
+
:auth_names => auth_names,
|
73
|
+
:return_type => 'ListDimensionValuesResponse')
|
74
|
+
if @api_client.config.debugging
|
75
|
+
@api_client.config.logger.debug "API called: DimensionsApi#list_dimension_values\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
76
|
+
end
|
77
|
+
return data, status_code, headers
|
78
|
+
end
|
79
|
+
|
80
|
+
# List Dimensions
|
81
|
+
# List all available dimensions. Note: This API replaces the list-filters API call.
|
82
|
+
# @param [Hash] opts the optional parameters
|
83
|
+
# @return [ListDimensionsResponse]
|
84
|
+
def list_dimensions(opts = {})
|
85
|
+
data, _status_code, _headers = list_dimensions_with_http_info(opts)
|
86
|
+
data
|
87
|
+
end
|
88
|
+
|
89
|
+
# List Dimensions
|
90
|
+
# List all available dimensions. Note: This API replaces the list-filters API call.
|
91
|
+
# @param [Hash] opts the optional parameters
|
92
|
+
# @return [Array<(ListDimensionsResponse, Fixnum, Hash)>] ListDimensionsResponse data, response status code and response headers
|
93
|
+
def list_dimensions_with_http_info(opts = {})
|
94
|
+
if @api_client.config.debugging
|
95
|
+
@api_client.config.logger.debug 'Calling API: DimensionsApi.list_dimensions ...'
|
96
|
+
end
|
97
|
+
# resource path
|
98
|
+
local_var_path = '/data/v1/dimensions'
|
99
|
+
|
100
|
+
# query parameters
|
101
|
+
query_params = {}
|
102
|
+
|
103
|
+
# header parameters
|
104
|
+
header_params = {}
|
105
|
+
# HTTP header 'Accept' (if needed)
|
106
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
107
|
+
|
108
|
+
# form parameters
|
109
|
+
form_params = {}
|
110
|
+
|
111
|
+
# http body (model)
|
112
|
+
post_body = nil
|
113
|
+
auth_names = ['accessToken']
|
114
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
|
115
|
+
:header_params => header_params,
|
116
|
+
:query_params => query_params,
|
117
|
+
:form_params => form_params,
|
118
|
+
:body => post_body,
|
119
|
+
:auth_names => auth_names,
|
120
|
+
:return_type => 'ListDimensionsResponse')
|
121
|
+
if @api_client.config.debugging
|
122
|
+
@api_client.config.logger.debug "API called: DimensionsApi#list_dimensions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
123
|
+
end
|
124
|
+
return data, status_code, headers
|
125
|
+
end
|
126
|
+
|
127
|
+
end
|
128
|
+
end
|