mux_ruby 1.6.0 → 2.0.0.pre.rc.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -1
- data/Gemfile.lock +26 -37
- data/README.md +37 -13
- data/docs/AbridgedVideoView.md +33 -13
- data/docs/Asset.md +59 -23
- data/docs/AssetErrors.md +15 -4
- data/docs/AssetMaster.md +15 -4
- data/docs/AssetNonStandardInputReasons.md +34 -0
- data/docs/AssetRecordingTimes.md +20 -0
- data/docs/AssetResponse.md +13 -3
- data/docs/AssetStaticRenditions.md +15 -4
- data/docs/AssetStaticRenditionsFiles.md +23 -8
- data/docs/AssetsApi.md +396 -161
- data/docs/BreakdownValue.md +21 -7
- data/docs/CreateAssetRequest.md +27 -10
- data/docs/CreateLiveStreamRequest.md +27 -9
- data/docs/CreatePlaybackIDRequest.md +13 -3
- data/docs/CreatePlaybackIDResponse.md +13 -3
- data/docs/CreateSimulcastTargetRequest.md +17 -5
- data/docs/CreateTrackRequest.md +25 -9
- data/docs/CreateTrackResponse.md +13 -3
- data/docs/CreateUploadRequest.md +19 -6
- data/docs/DeliveryReport.md +27 -9
- data/docs/DeliveryUsageApi.md +41 -23
- data/docs/DimensionValue.md +20 -0
- data/docs/DimensionsApi.md +156 -0
- data/docs/DirectUploadsApi.md +131 -56
- data/docs/DisableLiveStreamResponse.md +18 -0
- data/docs/EnableLiveStreamResponse.md +18 -0
- data/docs/Error.md +27 -10
- data/docs/ErrorsApi.md +38 -20
- data/docs/ExportsApi.md +33 -14
- data/docs/FilterValue.md +15 -4
- data/docs/FiltersApi.md +73 -35
- data/docs/GetAssetInputInfoResponse.md +13 -3
- data/docs/GetAssetOrLiveStreamIdResponse.md +18 -0
- data/docs/GetAssetOrLiveStreamIdResponseData.md +22 -0
- data/docs/GetAssetOrLiveStreamIdResponseDataObject.md +20 -0
- data/docs/GetAssetPlaybackIDResponse.md +13 -3
- data/docs/GetMetricTimeseriesDataResponse.md +17 -5
- data/docs/GetOverallValuesResponse.md +17 -5
- data/docs/GetRealTimeBreakdownResponse.md +22 -0
- data/docs/GetRealTimeHistogramTimeseriesResponse.md +24 -0
- data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +18 -0
- data/docs/GetRealTimeTimeseriesResponse.md +22 -0
- data/docs/Incident.md +58 -0
- data/docs/IncidentBreakdown.md +22 -0
- data/docs/IncidentNotification.md +22 -0
- data/docs/IncidentNotificationRule.md +26 -0
- data/docs/IncidentResponse.md +20 -0
- data/docs/IncidentsApi.md +242 -0
- data/docs/InputFile.md +15 -4
- data/docs/InputInfo.md +15 -4
- data/docs/InputSettings.md +31 -10
- data/docs/InputSettingsOverlaySettings.md +25 -9
- data/docs/InputTrack.md +29 -11
- data/docs/Insight.md +23 -8
- data/docs/ListAllMetricValuesResponse.md +17 -5
- data/docs/ListAssetsResponse.md +13 -3
- data/docs/ListBreakdownValuesResponse.md +17 -5
- data/docs/ListDeliveryUsageResponse.md +19 -6
- data/docs/ListDimensionValuesResponse.md +22 -0
- data/docs/ListDimensionsResponse.md +22 -0
- data/docs/ListErrorsResponse.md +17 -5
- data/docs/ListExportsResponse.md +17 -5
- data/docs/ListFilterValuesResponse.md +17 -5
- data/docs/ListFiltersResponse.md +17 -5
- data/docs/ListFiltersResponseData.md +15 -4
- data/docs/ListIncidentsResponse.md +22 -0
- data/docs/ListInsightsResponse.md +17 -5
- data/docs/ListLiveStreamsResponse.md +13 -3
- data/docs/ListRealTimeDimensionsResponse.md +22 -0
- data/docs/ListRealTimeDimensionsResponseData.md +20 -0
- data/docs/ListRealTimeMetricsResponse.md +22 -0
- data/docs/ListRelatedIncidentsResponse.md +22 -0
- data/docs/ListSigningKeysResponse.md +13 -3
- data/docs/ListUploadsResponse.md +13 -3
- data/docs/ListVideoViewsResponse.md +17 -5
- data/docs/LiveStream.md +39 -15
- data/docs/LiveStreamResponse.md +13 -3
- data/docs/LiveStreamsApi.md +497 -145
- data/docs/Metric.md +21 -7
- data/docs/MetricsApi.md +211 -117
- data/docs/NotificationRule.md +22 -0
- data/docs/OverallValues.md +19 -6
- data/docs/PlaybackID.md +15 -4
- data/docs/PlaybackIDApi.md +78 -0
- data/docs/PlaybackPolicy.md +10 -2
- data/docs/RealTimeApi.md +376 -0
- data/docs/RealTimeBreakdownValue.md +26 -0
- data/docs/RealTimeHistogramTimeseriesBucket.md +20 -0
- data/docs/RealTimeHistogramTimeseriesBucketValues.md +20 -0
- data/docs/RealTimeHistogramTimeseriesDatapoint.md +30 -0
- data/docs/RealTimeTimeseriesDatapoint.md +22 -0
- data/docs/Score.md +23 -8
- data/docs/SignalLiveStreamCompleteResponse.md +13 -3
- data/docs/SigningKey.md +17 -5
- data/docs/SigningKeyResponse.md +13 -3
- data/docs/SimulcastTarget.md +21 -7
- data/docs/SimulcastTargetResponse.md +13 -3
- data/docs/Track.md +37 -15
- data/docs/URLSigningKeysApi.md +130 -54
- data/docs/UpdateAssetMP4SupportRequest.md +13 -3
- data/docs/UpdateAssetMasterAccessRequest.md +13 -3
- data/docs/Upload.md +29 -11
- data/docs/UploadError.md +15 -4
- data/docs/UploadResponse.md +13 -3
- data/docs/VideoView.md +251 -114
- data/docs/VideoViewEvent.md +19 -6
- data/docs/VideoViewResponse.md +15 -4
- data/docs/VideoViewsApi.md +78 -41
- 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/gen/.gitignore +7 -0
- data/gen/Makefile +31 -0
- data/gen/generator-config.json +11 -0
- data/gen/openapitools.json +7 -0
- data/gen/package.json +17 -0
- data/gen/templates/Gemfile.mustache +11 -0
- data/gen/templates/README.mustache +158 -0
- data/gen/templates/Rakefile.mustache +10 -0
- data/gen/templates/api.mustache +206 -0
- data/gen/templates/api_client.mustache +264 -0
- data/gen/templates/api_client_faraday_partial.mustache +138 -0
- data/gen/templates/api_client_spec.mustache +220 -0
- data/gen/templates/api_client_typhoeus_partial.mustache +183 -0
- data/gen/templates/api_doc.mustache +118 -0
- data/gen/templates/api_error.mustache +67 -0
- data/gen/templates/api_info.mustache +12 -0
- data/gen/templates/api_test.mustache +47 -0
- data/gen/templates/base_object.mustache +120 -0
- data/gen/templates/configuration.mustache +349 -0
- data/gen/templates/configuration_spec.mustache +34 -0
- data/gen/templates/configuration_tls_faraday_partial.mustache +29 -0
- data/gen/templates/configuration_tls_typhoeus_partial.mustache +34 -0
- data/gen/templates/gem.mustache +40 -0
- data/gen/templates/gemspec.mustache +35 -0
- data/gen/templates/gitignore.mustache +39 -0
- data/gen/templates/model.mustache +26 -0
- data/gen/templates/model_doc.mustache +12 -0
- data/gen/templates/model_test.mustache +77 -0
- data/gen/templates/partial_model_enum_class.mustache +20 -0
- data/gen/templates/partial_model_generic.mustache +371 -0
- data/gen/templates/partial_model_generic_doc.mustache +28 -0
- data/gen/templates/partial_oneof_module.mustache +137 -0
- data/gen/templates/partial_oneof_module_doc.mustache +92 -0
- data/gen/templates/rspec.mustache +2 -0
- data/gen/templates/rubocop.mustache +148 -0
- data/gen/templates/spec_helper.mustache +103 -0
- data/gen/templates/version.mustache +7 -0
- data/gen/yarn.lock +1878 -0
- data/lib/mux_ruby.rb +43 -2
- data/lib/mux_ruby/api/assets_api.rb +291 -152
- data/lib/mux_ruby/api/delivery_usage_api.rb +32 -16
- data/lib/mux_ruby/api/dimensions_api.rb +154 -0
- data/lib/mux_ruby/api/direct_uploads_api.rb +90 -44
- data/lib/mux_ruby/api/errors_api.rb +34 -18
- data/lib/mux_ruby/api/exports_api.rb +30 -14
- data/lib/mux_ruby/api/filters_api.rb +57 -31
- data/lib/mux_ruby/api/incidents_api.rb +259 -0
- data/lib/mux_ruby/api/live_streams_api.rb +381 -133
- data/lib/mux_ruby/api/metrics_api.rb +185 -114
- data/lib/mux_ruby/api/playback_id_api.rb +85 -0
- data/lib/mux_ruby/api/real_time_api.rb +373 -0
- data/lib/mux_ruby/api/url_signing_keys_api.rb +95 -48
- data/lib/mux_ruby/api/video_views_api.rb +60 -33
- data/lib/mux_ruby/api_client.rb +106 -91
- data/lib/mux_ruby/api_error.rb +35 -7
- data/lib/mux_ruby/configuration.rb +50 -14
- data/lib/mux_ruby/models/abridged_video_view.rb +58 -24
- data/lib/mux_ruby/models/asset.rb +157 -53
- data/lib/mux_ruby/models/asset_errors.rb +52 -15
- data/lib/mux_ruby/models/asset_master.rb +85 -15
- data/lib/mux_ruby/models/asset_non_standard_input_reasons.rb +370 -0
- data/lib/mux_ruby/models/asset_recording_times.rb +229 -0
- data/lib/mux_ruby/models/asset_response.rb +48 -14
- data/lib/mux_ruby/models/asset_static_renditions.rb +55 -19
- data/lib/mux_ruby/models/asset_static_renditions_files.rb +60 -25
- data/lib/mux_ruby/models/breakdown_value.rb +52 -18
- data/lib/mux_ruby/models/create_asset_request.rb +70 -30
- data/lib/mux_ruby/models/create_live_stream_request.rb +68 -23
- data/lib/mux_ruby/models/create_playback_id_request.rb +48 -14
- data/lib/mux_ruby/models/create_playback_id_response.rb +48 -14
- data/lib/mux_ruby/models/create_simulcast_target_request.rb +50 -16
- data/lib/mux_ruby/models/create_track_request.rb +65 -27
- data/lib/mux_ruby/models/create_track_response.rb +48 -14
- data/lib/mux_ruby/models/create_upload_request.rb +52 -18
- data/lib/mux_ruby/models/delivery_report.rb +106 -21
- data/lib/mux_ruby/models/dimension_value.rb +227 -0
- data/lib/mux_ruby/models/disable_live_stream_response.rb +218 -0
- data/lib/mux_ruby/models/enable_live_stream_response.rb +218 -0
- data/lib/mux_ruby/models/error.rb +63 -21
- data/lib/mux_ruby/models/filter_value.rb +49 -15
- data/lib/mux_ruby/models/get_asset_input_info_response.rb +48 -14
- data/lib/mux_ruby/models/get_asset_or_live_stream_id_response.rb +218 -0
- data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data.rb +237 -0
- data/lib/mux_ruby/models/get_asset_or_live_stream_id_response_data_object.rb +264 -0
- data/lib/mux_ruby/models/get_asset_playback_id_response.rb +48 -14
- data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +50 -16
- data/lib/mux_ruby/models/get_overall_values_response.rb +50 -16
- data/lib/mux_ruby/models/get_real_time_breakdown_response.rb +240 -0
- data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +249 -0
- data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +220 -0
- data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +240 -0
- data/lib/mux_ruby/models/incident.rb +404 -0
- data/lib/mux_ruby/models/incident_breakdown.rb +236 -0
- data/lib/mux_ruby/models/incident_notification.rb +236 -0
- data/lib/mux_ruby/models/incident_notification_rule.rb +256 -0
- data/lib/mux_ruby/models/incident_response.rb +229 -0
- data/lib/mux_ruby/models/input_file.rb +49 -15
- data/lib/mux_ruby/models/input_info.rb +49 -15
- data/lib/mux_ruby/models/input_settings.rb +91 -30
- data/lib/mux_ruby/models/input_settings_overlay_settings.rb +68 -26
- data/lib/mux_ruby/models/input_track.rb +56 -22
- data/lib/mux_ruby/models/insight.rb +53 -19
- data/lib/mux_ruby/models/list_all_metric_values_response.rb +50 -16
- data/lib/mux_ruby/models/list_assets_response.rb +48 -14
- data/lib/mux_ruby/models/list_breakdown_values_response.rb +50 -16
- data/lib/mux_ruby/models/list_delivery_usage_response.rb +51 -17
- data/lib/mux_ruby/models/list_dimension_values_response.rb +240 -0
- data/lib/mux_ruby/models/list_dimensions_response.rb +238 -0
- data/lib/mux_ruby/models/list_errors_response.rb +50 -16
- data/lib/mux_ruby/models/list_exports_response.rb +50 -16
- data/lib/mux_ruby/models/list_filter_values_response.rb +50 -16
- data/lib/mux_ruby/models/list_filters_response.rb +50 -16
- data/lib/mux_ruby/models/list_filters_response_data.rb +49 -15
- data/lib/mux_ruby/models/list_incidents_response.rb +240 -0
- data/lib/mux_ruby/models/list_insights_response.rb +50 -16
- data/lib/mux_ruby/models/list_live_streams_response.rb +48 -14
- data/lib/mux_ruby/models/list_real_time_dimensions_response.rb +240 -0
- data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +227 -0
- data/lib/mux_ruby/models/list_real_time_metrics_response.rb +240 -0
- data/lib/mux_ruby/models/list_related_incidents_response.rb +240 -0
- data/lib/mux_ruby/models/list_signing_keys_response.rb +48 -14
- data/lib/mux_ruby/models/list_uploads_response.rb +48 -14
- data/lib/mux_ruby/models/list_video_views_response.rb +50 -16
- data/lib/mux_ruby/models/live_stream.rb +121 -29
- data/lib/mux_ruby/models/live_stream_response.rb +48 -14
- data/lib/mux_ruby/models/metric.rb +52 -18
- data/lib/mux_ruby/models/notification_rule.rb +236 -0
- data/lib/mux_ruby/models/overall_values.rb +51 -17
- data/lib/mux_ruby/models/playback_id.rb +50 -15
- data/lib/mux_ruby/models/playback_policy.rb +12 -6
- data/lib/mux_ruby/models/real_time_breakdown_value.rb +254 -0
- data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +227 -0
- data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +227 -0
- data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +274 -0
- data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +236 -0
- data/lib/mux_ruby/models/score.rb +53 -19
- data/lib/mux_ruby/models/signal_live_stream_complete_response.rb +48 -14
- data/lib/mux_ruby/models/signing_key.rb +53 -16
- data/lib/mux_ruby/models/signing_key_response.rb +48 -14
- data/lib/mux_ruby/models/simulcast_target.rb +55 -21
- data/lib/mux_ruby/models/simulcast_target_response.rb +48 -14
- data/lib/mux_ruby/models/track.rb +92 -33
- data/lib/mux_ruby/models/update_asset_master_access_request.rb +51 -17
- data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +51 -17
- data/lib/mux_ruby/models/upload.rb +62 -26
- data/lib/mux_ruby/models/upload_error.rb +51 -15
- data/lib/mux_ruby/models/upload_response.rb +48 -14
- data/lib/mux_ruby/models/video_view.rb +242 -136
- data/lib/mux_ruby/models/video_view_event.rb +51 -17
- data/lib/mux_ruby/models/video_view_response.rb +49 -15
- data/lib/mux_ruby/version.rb +10 -3
- data/mux_ruby.gemspec +15 -15
- 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/api_client_spec.rb +10 -3
- data/spec/configuration_spec.rb +9 -2
- 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/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/spec_helper.rb +9 -2
- metadata +246 -209
@@ -1,9 +1,17 @@
|
|
1
1
|
=begin
|
2
|
-
#
|
3
|
-
|
2
|
+
#Mux API
|
3
|
+
|
4
|
+
#Mux is how developers build online video. This API encompasses both Mux Video and Mux Data functionality to help you build your video-related projects better and faster than ever before.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: v1
|
7
|
+
Contact: devex@mux.com
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 5.0.1
|
10
|
+
|
4
11
|
=end
|
5
12
|
|
6
13
|
require 'date'
|
14
|
+
require 'time'
|
7
15
|
|
8
16
|
module MuxRuby
|
9
17
|
class AbridgedVideoView
|
@@ -46,6 +54,11 @@ module MuxRuby
|
|
46
54
|
}
|
47
55
|
end
|
48
56
|
|
57
|
+
# Returns all the JSON keys this model knows about
|
58
|
+
def self.acceptable_attributes
|
59
|
+
attribute_map.values
|
60
|
+
end
|
61
|
+
|
49
62
|
# Attribute type mapping.
|
50
63
|
def self.openapi_types
|
51
64
|
{
|
@@ -63,55 +76,68 @@ module MuxRuby
|
|
63
76
|
}
|
64
77
|
end
|
65
78
|
|
79
|
+
# List of attributes with nullable: true
|
80
|
+
def self.openapi_nullable
|
81
|
+
Set.new([
|
82
|
+
])
|
83
|
+
end
|
84
|
+
|
66
85
|
# Initializes the object
|
67
86
|
# @param [Hash] attributes Model attributes in the form of hash
|
68
87
|
def initialize(attributes = {})
|
69
|
-
|
88
|
+
if (!attributes.is_a?(Hash))
|
89
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AbridgedVideoView` initialize method"
|
90
|
+
end
|
70
91
|
|
71
|
-
# convert string to symbol for hash key
|
72
|
-
attributes = attributes.each_with_object({}) { |(k, v), h|
|
92
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
93
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
94
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
95
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AbridgedVideoView`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
96
|
+
end
|
97
|
+
h[k.to_sym] = v
|
98
|
+
}
|
73
99
|
|
74
|
-
if attributes.
|
100
|
+
if attributes.key?(:'id')
|
75
101
|
self.id = attributes[:'id']
|
76
102
|
end
|
77
103
|
|
78
|
-
if attributes.
|
104
|
+
if attributes.key?(:'viewer_os_family')
|
79
105
|
self.viewer_os_family = attributes[:'viewer_os_family']
|
80
106
|
end
|
81
107
|
|
82
|
-
if attributes.
|
108
|
+
if attributes.key?(:'viewer_application_name')
|
83
109
|
self.viewer_application_name = attributes[:'viewer_application_name']
|
84
110
|
end
|
85
111
|
|
86
|
-
if attributes.
|
112
|
+
if attributes.key?(:'video_title')
|
87
113
|
self.video_title = attributes[:'video_title']
|
88
114
|
end
|
89
115
|
|
90
|
-
if attributes.
|
116
|
+
if attributes.key?(:'total_row_count')
|
91
117
|
self.total_row_count = attributes[:'total_row_count']
|
92
118
|
end
|
93
119
|
|
94
|
-
if attributes.
|
120
|
+
if attributes.key?(:'player_error_message')
|
95
121
|
self.player_error_message = attributes[:'player_error_message']
|
96
122
|
end
|
97
123
|
|
98
|
-
if attributes.
|
124
|
+
if attributes.key?(:'player_error_code')
|
99
125
|
self.player_error_code = attributes[:'player_error_code']
|
100
126
|
end
|
101
127
|
|
102
|
-
if attributes.
|
128
|
+
if attributes.key?(:'error_type_id')
|
103
129
|
self.error_type_id = attributes[:'error_type_id']
|
104
130
|
end
|
105
131
|
|
106
|
-
if attributes.
|
132
|
+
if attributes.key?(:'country_code')
|
107
133
|
self.country_code = attributes[:'country_code']
|
108
134
|
end
|
109
135
|
|
110
|
-
if attributes.
|
136
|
+
if attributes.key?(:'view_start')
|
111
137
|
self.view_start = attributes[:'view_start']
|
112
138
|
end
|
113
139
|
|
114
|
-
if attributes.
|
140
|
+
if attributes.key?(:'view_end')
|
115
141
|
self.view_end = attributes[:'view_end']
|
116
142
|
end
|
117
143
|
end
|
@@ -154,7 +180,7 @@ module MuxRuby
|
|
154
180
|
end
|
155
181
|
|
156
182
|
# Calculates hash code according to all attributes.
|
157
|
-
# @return [
|
183
|
+
# @return [Integer] Hash code
|
158
184
|
def hash
|
159
185
|
[id, viewer_os_family, viewer_application_name, video_title, total_row_count, player_error_message, player_error_code, error_type_id, country_code, view_start, view_end].hash
|
160
186
|
end
|
@@ -172,7 +198,9 @@ module MuxRuby
|
|
172
198
|
def build_from_hash(attributes)
|
173
199
|
return nil unless attributes.is_a?(Hash)
|
174
200
|
self.class.openapi_types.each_pair do |key, type|
|
175
|
-
if
|
201
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
202
|
+
self.send("#{key}=", nil)
|
203
|
+
elsif type =~ /\AArray<(.*)>/i
|
176
204
|
# check to ensure the input is an array given that the attribute
|
177
205
|
# is documented as an array but the input is not
|
178
206
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
@@ -180,7 +208,7 @@ module MuxRuby
|
|
180
208
|
end
|
181
209
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
182
210
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
183
|
-
end
|
211
|
+
end
|
184
212
|
end
|
185
213
|
|
186
214
|
self
|
@@ -192,8 +220,8 @@ module MuxRuby
|
|
192
220
|
# @return [Object] Deserialized data
|
193
221
|
def _deserialize(type, value)
|
194
222
|
case type.to_sym
|
195
|
-
when :
|
196
|
-
|
223
|
+
when :Time
|
224
|
+
Time.parse(value)
|
197
225
|
when :Date
|
198
226
|
Date.parse(value)
|
199
227
|
when :String
|
@@ -202,7 +230,7 @@ module MuxRuby
|
|
202
230
|
value.to_i
|
203
231
|
when :Float
|
204
232
|
value.to_f
|
205
|
-
when :
|
233
|
+
when :Boolean
|
206
234
|
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
207
235
|
true
|
208
236
|
else
|
@@ -223,7 +251,9 @@ module MuxRuby
|
|
223
251
|
end
|
224
252
|
end
|
225
253
|
else # model
|
226
|
-
|
254
|
+
# models (e.g. Pet) or oneOf
|
255
|
+
klass = MuxRuby.const_get(type)
|
256
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
227
257
|
end
|
228
258
|
end
|
229
259
|
|
@@ -245,7 +275,11 @@ module MuxRuby
|
|
245
275
|
hash = {}
|
246
276
|
self.class.attribute_map.each_pair do |attr, param|
|
247
277
|
value = self.send(attr)
|
248
|
-
|
278
|
+
if value.nil?
|
279
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
280
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
281
|
+
end
|
282
|
+
|
249
283
|
hash[param] = _to_hash(value)
|
250
284
|
end
|
251
285
|
hash
|
@@ -1,40 +1,61 @@
|
|
1
1
|
=begin
|
2
|
-
#
|
3
|
-
|
2
|
+
#Mux API
|
3
|
+
|
4
|
+
#Mux is how developers build online video. This API encompasses both Mux Video and Mux Data functionality to help you build your video-related projects better and faster than ever before.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: v1
|
7
|
+
Contact: devex@mux.com
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 5.0.1
|
10
|
+
|
4
11
|
=end
|
5
12
|
|
6
13
|
require 'date'
|
14
|
+
require 'time'
|
7
15
|
|
8
16
|
module MuxRuby
|
9
17
|
class Asset
|
18
|
+
# Unique identifier for the Asset. Max 255 characters.
|
10
19
|
attr_accessor :id
|
11
20
|
|
21
|
+
# Time the Asset was created, defined as a Unix timestamp (seconds since epoch).
|
12
22
|
attr_accessor :created_at
|
13
23
|
|
14
|
-
|
15
|
-
|
24
|
+
# The status of the asset.
|
16
25
|
attr_accessor :status
|
17
26
|
|
27
|
+
# The duration of the asset in seconds (max duration for a single asset is 12 hours).
|
18
28
|
attr_accessor :duration
|
19
29
|
|
30
|
+
# The maximum resolution that has been stored for the asset. The asset may be delivered at lower resolutions depending on the device and bandwidth, however it cannot be delivered at a higher value than is stored.
|
20
31
|
attr_accessor :max_stored_resolution
|
21
32
|
|
33
|
+
# The maximum frame rate that has been stored for the asset. The asset may be delivered at lower frame rates depending on the device and bandwidth, however it cannot be delivered at a higher value than is stored. This field may return -1 if the frame rate of the input cannot be reliably determined.
|
22
34
|
attr_accessor :max_stored_frame_rate
|
23
35
|
|
36
|
+
# The aspect ratio of the asset in the form of `width:height`, for example `16:9`.
|
24
37
|
attr_accessor :aspect_ratio
|
25
38
|
|
39
|
+
# An array of Playback ID objects. Use these to create HLS playback URLs. See [Play your videos](https://docs.mux.com/guides/video/play-your-videos) for more details.
|
26
40
|
attr_accessor :playback_ids
|
27
41
|
|
42
|
+
# The individual media tracks that make up an asset.
|
28
43
|
attr_accessor :tracks
|
29
44
|
|
30
45
|
attr_accessor :errors
|
31
46
|
|
32
47
|
attr_accessor :per_title_encode
|
33
48
|
|
49
|
+
# Unique identifier for the Direct Upload. This is an optional parameter added when the asset is created from a direct upload.
|
50
|
+
attr_accessor :upload_id
|
51
|
+
|
52
|
+
# Whether the asset is created from a live stream and the live stream is currently `active` and not in `idle` state.
|
34
53
|
attr_accessor :is_live
|
35
54
|
|
55
|
+
# Arbitrary metadata set for the asset. Max 255 characters.
|
36
56
|
attr_accessor :passthrough
|
37
57
|
|
58
|
+
# Unique identifier for the live stream. This is an optional parameter added when the asset is created from a live stream.
|
38
59
|
attr_accessor :live_stream_id
|
39
60
|
|
40
61
|
attr_accessor :master
|
@@ -43,10 +64,20 @@ module MuxRuby
|
|
43
64
|
|
44
65
|
attr_accessor :mp4_support
|
45
66
|
|
67
|
+
# Asset Identifier of the video used as the source for creating the clip.
|
68
|
+
attr_accessor :source_asset_id
|
69
|
+
|
70
|
+
# Normalize the audio track loudness level. This parameter is only applicable to on-demand (not live) assets.
|
46
71
|
attr_accessor :normalize_audio
|
47
72
|
|
48
73
|
attr_accessor :static_renditions
|
49
74
|
|
75
|
+
# An array of individual live stream recording sessions. A recording session is created on each encoder connection during the live stream
|
76
|
+
attr_accessor :recording_times
|
77
|
+
|
78
|
+
attr_accessor :non_standard_input_reasons
|
79
|
+
|
80
|
+
# True means this live stream is a test asset. A test asset can help evaluate the Mux Video APIs without incurring any cost. There is no limit on number of test assets created. Test assets are watermarked with the Mux logo, limited to 10 seconds, and deleted after 24 hrs.
|
50
81
|
attr_accessor :test
|
51
82
|
|
52
83
|
class EnumAttributeValidator
|
@@ -76,7 +107,6 @@ module MuxRuby
|
|
76
107
|
{
|
77
108
|
:'id' => :'id',
|
78
109
|
:'created_at' => :'created_at',
|
79
|
-
:'deleted_at' => :'deleted_at',
|
80
110
|
:'status' => :'status',
|
81
111
|
:'duration' => :'duration',
|
82
112
|
:'max_stored_resolution' => :'max_stored_resolution',
|
@@ -86,24 +116,32 @@ module MuxRuby
|
|
86
116
|
:'tracks' => :'tracks',
|
87
117
|
:'errors' => :'errors',
|
88
118
|
:'per_title_encode' => :'per_title_encode',
|
119
|
+
:'upload_id' => :'upload_id',
|
89
120
|
:'is_live' => :'is_live',
|
90
121
|
:'passthrough' => :'passthrough',
|
91
122
|
:'live_stream_id' => :'live_stream_id',
|
92
123
|
:'master' => :'master',
|
93
124
|
:'master_access' => :'master_access',
|
94
125
|
:'mp4_support' => :'mp4_support',
|
126
|
+
:'source_asset_id' => :'source_asset_id',
|
95
127
|
:'normalize_audio' => :'normalize_audio',
|
96
128
|
:'static_renditions' => :'static_renditions',
|
129
|
+
:'recording_times' => :'recording_times',
|
130
|
+
:'non_standard_input_reasons' => :'non_standard_input_reasons',
|
97
131
|
:'test' => :'test'
|
98
132
|
}
|
99
133
|
end
|
100
134
|
|
135
|
+
# Returns all the JSON keys this model knows about
|
136
|
+
def self.acceptable_attributes
|
137
|
+
attribute_map.values
|
138
|
+
end
|
139
|
+
|
101
140
|
# Attribute type mapping.
|
102
141
|
def self.openapi_types
|
103
142
|
{
|
104
143
|
:'id' => :'String',
|
105
144
|
:'created_at' => :'String',
|
106
|
-
:'deleted_at' => :'String',
|
107
145
|
:'status' => :'String',
|
108
146
|
:'duration' => :'Float',
|
109
147
|
:'max_stored_resolution' => :'String',
|
@@ -112,118 +150,149 @@ module MuxRuby
|
|
112
150
|
:'playback_ids' => :'Array<PlaybackID>',
|
113
151
|
:'tracks' => :'Array<Track>',
|
114
152
|
:'errors' => :'AssetErrors',
|
115
|
-
:'per_title_encode' => :'
|
116
|
-
:'
|
153
|
+
:'per_title_encode' => :'Boolean',
|
154
|
+
:'upload_id' => :'String',
|
155
|
+
:'is_live' => :'Boolean',
|
117
156
|
:'passthrough' => :'String',
|
118
157
|
:'live_stream_id' => :'String',
|
119
158
|
:'master' => :'AssetMaster',
|
120
159
|
:'master_access' => :'String',
|
121
160
|
:'mp4_support' => :'String',
|
122
|
-
:'
|
161
|
+
:'source_asset_id' => :'String',
|
162
|
+
:'normalize_audio' => :'Boolean',
|
123
163
|
:'static_renditions' => :'AssetStaticRenditions',
|
124
|
-
:'
|
164
|
+
:'recording_times' => :'Array<AssetRecordingTimes>',
|
165
|
+
:'non_standard_input_reasons' => :'AssetNonStandardInputReasons',
|
166
|
+
:'test' => :'Boolean'
|
125
167
|
}
|
126
168
|
end
|
127
169
|
|
170
|
+
# List of attributes with nullable: true
|
171
|
+
def self.openapi_nullable
|
172
|
+
Set.new([
|
173
|
+
])
|
174
|
+
end
|
175
|
+
|
128
176
|
# Initializes the object
|
129
177
|
# @param [Hash] attributes Model attributes in the form of hash
|
130
178
|
def initialize(attributes = {})
|
131
|
-
|
179
|
+
if (!attributes.is_a?(Hash))
|
180
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::Asset` initialize method"
|
181
|
+
end
|
132
182
|
|
133
|
-
# convert string to symbol for hash key
|
134
|
-
attributes = attributes.each_with_object({}) { |(k, v), h|
|
183
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
184
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
185
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
186
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::Asset`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
187
|
+
end
|
188
|
+
h[k.to_sym] = v
|
189
|
+
}
|
135
190
|
|
136
|
-
if attributes.
|
191
|
+
if attributes.key?(:'id')
|
137
192
|
self.id = attributes[:'id']
|
138
193
|
end
|
139
194
|
|
140
|
-
if attributes.
|
195
|
+
if attributes.key?(:'created_at')
|
141
196
|
self.created_at = attributes[:'created_at']
|
142
197
|
end
|
143
198
|
|
144
|
-
if attributes.
|
145
|
-
self.deleted_at = attributes[:'deleted_at']
|
146
|
-
end
|
147
|
-
|
148
|
-
if attributes.has_key?(:'status')
|
199
|
+
if attributes.key?(:'status')
|
149
200
|
self.status = attributes[:'status']
|
150
201
|
end
|
151
202
|
|
152
|
-
if attributes.
|
203
|
+
if attributes.key?(:'duration')
|
153
204
|
self.duration = attributes[:'duration']
|
154
205
|
end
|
155
206
|
|
156
|
-
if attributes.
|
207
|
+
if attributes.key?(:'max_stored_resolution')
|
157
208
|
self.max_stored_resolution = attributes[:'max_stored_resolution']
|
158
209
|
end
|
159
210
|
|
160
|
-
if attributes.
|
211
|
+
if attributes.key?(:'max_stored_frame_rate')
|
161
212
|
self.max_stored_frame_rate = attributes[:'max_stored_frame_rate']
|
162
213
|
end
|
163
214
|
|
164
|
-
if attributes.
|
215
|
+
if attributes.key?(:'aspect_ratio')
|
165
216
|
self.aspect_ratio = attributes[:'aspect_ratio']
|
166
217
|
end
|
167
218
|
|
168
|
-
if attributes.
|
219
|
+
if attributes.key?(:'playback_ids')
|
169
220
|
if (value = attributes[:'playback_ids']).is_a?(Array)
|
170
221
|
self.playback_ids = value
|
171
222
|
end
|
172
223
|
end
|
173
224
|
|
174
|
-
if attributes.
|
225
|
+
if attributes.key?(:'tracks')
|
175
226
|
if (value = attributes[:'tracks']).is_a?(Array)
|
176
227
|
self.tracks = value
|
177
228
|
end
|
178
229
|
end
|
179
230
|
|
180
|
-
if attributes.
|
231
|
+
if attributes.key?(:'errors')
|
181
232
|
self.errors = attributes[:'errors']
|
182
233
|
end
|
183
234
|
|
184
|
-
if attributes.
|
235
|
+
if attributes.key?(:'per_title_encode')
|
185
236
|
self.per_title_encode = attributes[:'per_title_encode']
|
186
237
|
end
|
187
238
|
|
188
|
-
if attributes.
|
239
|
+
if attributes.key?(:'upload_id')
|
240
|
+
self.upload_id = attributes[:'upload_id']
|
241
|
+
end
|
242
|
+
|
243
|
+
if attributes.key?(:'is_live')
|
189
244
|
self.is_live = attributes[:'is_live']
|
190
245
|
end
|
191
246
|
|
192
|
-
if attributes.
|
247
|
+
if attributes.key?(:'passthrough')
|
193
248
|
self.passthrough = attributes[:'passthrough']
|
194
249
|
end
|
195
250
|
|
196
|
-
if attributes.
|
251
|
+
if attributes.key?(:'live_stream_id')
|
197
252
|
self.live_stream_id = attributes[:'live_stream_id']
|
198
253
|
end
|
199
254
|
|
200
|
-
if attributes.
|
255
|
+
if attributes.key?(:'master')
|
201
256
|
self.master = attributes[:'master']
|
202
257
|
end
|
203
258
|
|
204
|
-
if attributes.
|
259
|
+
if attributes.key?(:'master_access')
|
205
260
|
self.master_access = attributes[:'master_access']
|
206
261
|
else
|
207
262
|
self.master_access = 'none'
|
208
263
|
end
|
209
264
|
|
210
|
-
if attributes.
|
265
|
+
if attributes.key?(:'mp4_support')
|
211
266
|
self.mp4_support = attributes[:'mp4_support']
|
212
267
|
else
|
213
268
|
self.mp4_support = 'none'
|
214
269
|
end
|
215
270
|
|
216
|
-
if attributes.
|
271
|
+
if attributes.key?(:'source_asset_id')
|
272
|
+
self.source_asset_id = attributes[:'source_asset_id']
|
273
|
+
end
|
274
|
+
|
275
|
+
if attributes.key?(:'normalize_audio')
|
217
276
|
self.normalize_audio = attributes[:'normalize_audio']
|
218
277
|
else
|
219
278
|
self.normalize_audio = false
|
220
279
|
end
|
221
280
|
|
222
|
-
if attributes.
|
281
|
+
if attributes.key?(:'static_renditions')
|
223
282
|
self.static_renditions = attributes[:'static_renditions']
|
224
283
|
end
|
225
284
|
|
226
|
-
if attributes.
|
285
|
+
if attributes.key?(:'recording_times')
|
286
|
+
if (value = attributes[:'recording_times']).is_a?(Array)
|
287
|
+
self.recording_times = value
|
288
|
+
end
|
289
|
+
end
|
290
|
+
|
291
|
+
if attributes.key?(:'non_standard_input_reasons')
|
292
|
+
self.non_standard_input_reasons = attributes[:'non_standard_input_reasons']
|
293
|
+
end
|
294
|
+
|
295
|
+
if attributes.key?(:'test')
|
227
296
|
self.test = attributes[:'test']
|
228
297
|
end
|
229
298
|
end
|
@@ -238,19 +307,43 @@ module MuxRuby
|
|
238
307
|
# Check to see if the all the properties in the model are valid
|
239
308
|
# @return true if the model is valid
|
240
309
|
def valid?
|
241
|
-
|
310
|
+
status_validator = EnumAttributeValidator.new('String', ["preparing", "ready", "errored"])
|
311
|
+
return false unless status_validator.valid?(@status)
|
312
|
+
max_stored_resolution_validator = EnumAttributeValidator.new('String', ["Audio only", "SD", "HD", "FHD", "UHD"])
|
313
|
+
return false unless max_stored_resolution_validator.valid?(@max_stored_resolution)
|
314
|
+
master_access_validator = EnumAttributeValidator.new('String', ["temporary", "none"])
|
242
315
|
return false unless master_access_validator.valid?(@master_access)
|
243
|
-
mp4_support_validator = EnumAttributeValidator.new('String', [
|
316
|
+
mp4_support_validator = EnumAttributeValidator.new('String', ["standard", "none"])
|
244
317
|
return false unless mp4_support_validator.valid?(@mp4_support)
|
245
318
|
true
|
246
319
|
end
|
247
320
|
|
321
|
+
# Custom attribute writer method checking allowed values (enum).
|
322
|
+
# @param [Object] status Object to be assigned
|
323
|
+
def status=(status)
|
324
|
+
validator = EnumAttributeValidator.new('String', ["preparing", "ready", "errored"])
|
325
|
+
unless validator.valid?(status)
|
326
|
+
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
|
327
|
+
end
|
328
|
+
@status = status
|
329
|
+
end
|
330
|
+
|
331
|
+
# Custom attribute writer method checking allowed values (enum).
|
332
|
+
# @param [Object] max_stored_resolution Object to be assigned
|
333
|
+
def max_stored_resolution=(max_stored_resolution)
|
334
|
+
validator = EnumAttributeValidator.new('String', ["Audio only", "SD", "HD", "FHD", "UHD"])
|
335
|
+
unless validator.valid?(max_stored_resolution)
|
336
|
+
fail ArgumentError, "invalid value for \"max_stored_resolution\", must be one of #{validator.allowable_values}."
|
337
|
+
end
|
338
|
+
@max_stored_resolution = max_stored_resolution
|
339
|
+
end
|
340
|
+
|
248
341
|
# Custom attribute writer method checking allowed values (enum).
|
249
342
|
# @param [Object] master_access Object to be assigned
|
250
343
|
def master_access=(master_access)
|
251
|
-
validator = EnumAttributeValidator.new('String', [
|
344
|
+
validator = EnumAttributeValidator.new('String', ["temporary", "none"])
|
252
345
|
unless validator.valid?(master_access)
|
253
|
-
fail ArgumentError,
|
346
|
+
fail ArgumentError, "invalid value for \"master_access\", must be one of #{validator.allowable_values}."
|
254
347
|
end
|
255
348
|
@master_access = master_access
|
256
349
|
end
|
@@ -258,9 +351,9 @@ module MuxRuby
|
|
258
351
|
# Custom attribute writer method checking allowed values (enum).
|
259
352
|
# @param [Object] mp4_support Object to be assigned
|
260
353
|
def mp4_support=(mp4_support)
|
261
|
-
validator = EnumAttributeValidator.new('String', [
|
354
|
+
validator = EnumAttributeValidator.new('String', ["standard", "none"])
|
262
355
|
unless validator.valid?(mp4_support)
|
263
|
-
fail ArgumentError,
|
356
|
+
fail ArgumentError, "invalid value for \"mp4_support\", must be one of #{validator.allowable_values}."
|
264
357
|
end
|
265
358
|
@mp4_support = mp4_support
|
266
359
|
end
|
@@ -272,7 +365,6 @@ module MuxRuby
|
|
272
365
|
self.class == o.class &&
|
273
366
|
id == o.id &&
|
274
367
|
created_at == o.created_at &&
|
275
|
-
deleted_at == o.deleted_at &&
|
276
368
|
status == o.status &&
|
277
369
|
duration == o.duration &&
|
278
370
|
max_stored_resolution == o.max_stored_resolution &&
|
@@ -282,14 +374,18 @@ module MuxRuby
|
|
282
374
|
tracks == o.tracks &&
|
283
375
|
errors == o.errors &&
|
284
376
|
per_title_encode == o.per_title_encode &&
|
377
|
+
upload_id == o.upload_id &&
|
285
378
|
is_live == o.is_live &&
|
286
379
|
passthrough == o.passthrough &&
|
287
380
|
live_stream_id == o.live_stream_id &&
|
288
381
|
master == o.master &&
|
289
382
|
master_access == o.master_access &&
|
290
383
|
mp4_support == o.mp4_support &&
|
384
|
+
source_asset_id == o.source_asset_id &&
|
291
385
|
normalize_audio == o.normalize_audio &&
|
292
386
|
static_renditions == o.static_renditions &&
|
387
|
+
recording_times == o.recording_times &&
|
388
|
+
non_standard_input_reasons == o.non_standard_input_reasons &&
|
293
389
|
test == o.test
|
294
390
|
end
|
295
391
|
|
@@ -300,9 +396,9 @@ module MuxRuby
|
|
300
396
|
end
|
301
397
|
|
302
398
|
# Calculates hash code according to all attributes.
|
303
|
-
# @return [
|
399
|
+
# @return [Integer] Hash code
|
304
400
|
def hash
|
305
|
-
[id, created_at,
|
401
|
+
[id, created_at, status, duration, max_stored_resolution, max_stored_frame_rate, aspect_ratio, playback_ids, tracks, errors, per_title_encode, upload_id, is_live, passthrough, live_stream_id, master, master_access, mp4_support, source_asset_id, normalize_audio, static_renditions, recording_times, non_standard_input_reasons, test].hash
|
306
402
|
end
|
307
403
|
|
308
404
|
# Builds the object from hash
|
@@ -318,7 +414,9 @@ module MuxRuby
|
|
318
414
|
def build_from_hash(attributes)
|
319
415
|
return nil unless attributes.is_a?(Hash)
|
320
416
|
self.class.openapi_types.each_pair do |key, type|
|
321
|
-
if
|
417
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
418
|
+
self.send("#{key}=", nil)
|
419
|
+
elsif type =~ /\AArray<(.*)>/i
|
322
420
|
# check to ensure the input is an array given that the attribute
|
323
421
|
# is documented as an array but the input is not
|
324
422
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
@@ -326,7 +424,7 @@ module MuxRuby
|
|
326
424
|
end
|
327
425
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
328
426
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
329
|
-
end
|
427
|
+
end
|
330
428
|
end
|
331
429
|
|
332
430
|
self
|
@@ -338,8 +436,8 @@ module MuxRuby
|
|
338
436
|
# @return [Object] Deserialized data
|
339
437
|
def _deserialize(type, value)
|
340
438
|
case type.to_sym
|
341
|
-
when :
|
342
|
-
|
439
|
+
when :Time
|
440
|
+
Time.parse(value)
|
343
441
|
when :Date
|
344
442
|
Date.parse(value)
|
345
443
|
when :String
|
@@ -348,7 +446,7 @@ module MuxRuby
|
|
348
446
|
value.to_i
|
349
447
|
when :Float
|
350
448
|
value.to_f
|
351
|
-
when :
|
449
|
+
when :Boolean
|
352
450
|
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
353
451
|
true
|
354
452
|
else
|
@@ -369,7 +467,9 @@ module MuxRuby
|
|
369
467
|
end
|
370
468
|
end
|
371
469
|
else # model
|
372
|
-
|
470
|
+
# models (e.g. Pet) or oneOf
|
471
|
+
klass = MuxRuby.const_get(type)
|
472
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
373
473
|
end
|
374
474
|
end
|
375
475
|
|
@@ -391,7 +491,11 @@ module MuxRuby
|
|
391
491
|
hash = {}
|
392
492
|
self.class.attribute_map.each_pair do |attr, param|
|
393
493
|
value = self.send(attr)
|
394
|
-
|
494
|
+
if value.nil?
|
495
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
496
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
497
|
+
end
|
498
|
+
|
395
499
|
hash[param] = _to_hash(value)
|
396
500
|
end
|
397
501
|
hash
|