mux_ruby 1.8.1 → 2.0.0
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 -25
- data/docs/AssetErrors.md +15 -4
- data/docs/AssetMaster.md +15 -4
- data/docs/AssetNonStandardInputReasons.md +29 -11
- data/docs/AssetRecordingTimes.md +15 -4
- 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 +15 -4
- data/docs/DimensionsApi.md +72 -34
- data/docs/DirectUploadsApi.md +131 -56
- data/docs/DisableLiveStreamResponse.md +13 -3
- data/docs/EnableLiveStreamResponse.md +13 -3
- data/docs/Error.md +27 -10
- data/docs/ErrorsApi.md +38 -20
- data/docs/ExportDate.md +20 -0
- data/docs/ExportFile.md +22 -0
- data/docs/ExportsApi.md +99 -12
- data/docs/FilterValue.md +15 -4
- data/docs/FiltersApi.md +71 -33
- 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 +17 -5
- data/docs/GetRealTimeHistogramTimeseriesResponse.md +19 -6
- data/docs/GetRealTimeHistogramTimeseriesResponseMeta.md +13 -3
- data/docs/GetRealTimeTimeseriesResponse.md +17 -5
- data/docs/Incident.md +53 -23
- data/docs/IncidentBreakdown.md +17 -5
- data/docs/IncidentNotification.md +17 -5
- data/docs/IncidentNotificationRule.md +21 -7
- data/docs/IncidentResponse.md +15 -4
- data/docs/IncidentsApi.md +118 -62
- 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 +17 -5
- data/docs/ListDimensionsResponse.md +17 -5
- 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 +17 -5
- data/docs/ListInsightsResponse.md +17 -5
- data/docs/ListLiveStreamsResponse.md +13 -3
- data/docs/ListRealTimeDimensionsResponse.md +17 -5
- data/docs/ListRealTimeDimensionsResponseData.md +15 -4
- data/docs/ListRealTimeMetricsResponse.md +17 -5
- data/docs/ListRelatedIncidentsResponse.md +17 -5
- data/docs/ListSigningKeysResponse.md +13 -3
- data/docs/ListUploadsResponse.md +13 -3
- data/docs/ListVideoViewExportsResponse.md +22 -0
- data/docs/ListVideoViewsResponse.md +17 -5
- data/docs/LiveStream.md +39 -15
- data/docs/LiveStreamResponse.md +13 -3
- data/docs/LiveStreamsApi.md +418 -170
- data/docs/Metric.md +21 -7
- data/docs/MetricsApi.md +211 -117
- data/docs/NotificationRule.md +17 -5
- 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 +177 -81
- data/docs/RealTimeBreakdownValue.md +21 -7
- data/docs/RealTimeHistogramTimeseriesBucket.md +15 -4
- data/docs/RealTimeHistogramTimeseriesBucketValues.md +15 -4
- data/docs/RealTimeHistogramTimeseriesDatapoint.md +25 -9
- data/docs/RealTimeTimeseriesDatapoint.md +17 -5
- 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/video/exercise-assets.rb +21 -0
- data/examples/video/exercise-live-streams.rb +8 -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 +16 -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 +55 -29
- 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 +86 -13
- data/lib/mux_ruby/api/filters_api.rb +53 -27
- data/lib/mux_ruby/api/incidents_api.rb +94 -52
- data/lib/mux_ruby/api/live_streams_api.rb +299 -157
- data/lib/mux_ruby/api/metrics_api.rb +193 -122
- data/lib/mux_ruby/api/playback_id_api.rb +85 -0
- data/lib/mux_ruby/api/real_time_api.rb +149 -87
- 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 +129 -58
- 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 +78 -43
- data/lib/mux_ruby/models/asset_recording_times.rb +52 -18
- 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 +49 -15
- data/lib/mux_ruby/models/disable_live_stream_response.rb +48 -14
- data/lib/mux_ruby/models/enable_live_stream_response.rb +48 -14
- data/lib/mux_ruby/models/error.rb +63 -21
- data/lib/mux_ruby/models/export_date.rb +229 -0
- data/lib/mux_ruby/models/export_file.rb +236 -0
- 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 +50 -16
- data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response.rb +51 -17
- data/lib/mux_ruby/models/get_real_time_histogram_timeseries_response_meta.rb +48 -14
- data/lib/mux_ruby/models/get_real_time_timeseries_response.rb +50 -16
- data/lib/mux_ruby/models/incident.rb +68 -34
- data/lib/mux_ruby/models/incident_breakdown.rb +50 -16
- data/lib/mux_ruby/models/incident_notification.rb +50 -16
- data/lib/mux_ruby/models/incident_notification_rule.rb +52 -18
- data/lib/mux_ruby/models/incident_response.rb +49 -15
- 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 +50 -16
- data/lib/mux_ruby/models/list_dimensions_response.rb +50 -16
- 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 +50 -16
- 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 +50 -16
- data/lib/mux_ruby/models/list_real_time_dimensions_response_data.rb +49 -15
- data/lib/mux_ruby/models/list_real_time_metrics_response.rb +50 -16
- data/lib/mux_ruby/models/list_related_incidents_response.rb +50 -16
- 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_view_exports_response.rb +240 -0
- 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 +50 -16
- 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 +52 -18
- data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket.rb +50 -16
- data/lib/mux_ruby/models/real_time_histogram_timeseries_bucket_values.rb +49 -15
- data/lib/mux_ruby/models/real_time_histogram_timeseries_datapoint.rb +54 -20
- data/lib/mux_ruby/models/real_time_timeseries_datapoint.rb +50 -16
- 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/playback_id_api_spec.rb +40 -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_spec.rb +10 -0
- data/spec/models/export_date_spec.rb +40 -0
- data/spec/models/export_file_spec.rb +46 -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/input_settings_spec.rb +12 -0
- data/spec/models/list_video_view_exports_response_spec.rb +46 -0
- data/spec/models/track_spec.rb +4 -0
- data/spec/spec_helper.rb +9 -2
- metadata +161 -235
@@ -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,6 +64,10 @@ 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
|
@@ -52,6 +77,7 @@ module MuxRuby
|
|
52
77
|
|
53
78
|
attr_accessor :non_standard_input_reasons
|
54
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.
|
55
81
|
attr_accessor :test
|
56
82
|
|
57
83
|
class EnumAttributeValidator
|
@@ -81,7 +107,6 @@ module MuxRuby
|
|
81
107
|
{
|
82
108
|
:'id' => :'id',
|
83
109
|
:'created_at' => :'created_at',
|
84
|
-
:'deleted_at' => :'deleted_at',
|
85
110
|
:'status' => :'status',
|
86
111
|
:'duration' => :'duration',
|
87
112
|
:'max_stored_resolution' => :'max_stored_resolution',
|
@@ -91,12 +116,14 @@ module MuxRuby
|
|
91
116
|
:'tracks' => :'tracks',
|
92
117
|
:'errors' => :'errors',
|
93
118
|
:'per_title_encode' => :'per_title_encode',
|
119
|
+
:'upload_id' => :'upload_id',
|
94
120
|
:'is_live' => :'is_live',
|
95
121
|
:'passthrough' => :'passthrough',
|
96
122
|
:'live_stream_id' => :'live_stream_id',
|
97
123
|
:'master' => :'master',
|
98
124
|
:'master_access' => :'master_access',
|
99
125
|
:'mp4_support' => :'mp4_support',
|
126
|
+
:'source_asset_id' => :'source_asset_id',
|
100
127
|
:'normalize_audio' => :'normalize_audio',
|
101
128
|
:'static_renditions' => :'static_renditions',
|
102
129
|
:'recording_times' => :'recording_times',
|
@@ -105,12 +132,16 @@ module MuxRuby
|
|
105
132
|
}
|
106
133
|
end
|
107
134
|
|
135
|
+
# Returns all the JSON keys this model knows about
|
136
|
+
def self.acceptable_attributes
|
137
|
+
attribute_map.values
|
138
|
+
end
|
139
|
+
|
108
140
|
# Attribute type mapping.
|
109
141
|
def self.openapi_types
|
110
142
|
{
|
111
143
|
:'id' => :'String',
|
112
144
|
:'created_at' => :'String',
|
113
|
-
:'deleted_at' => :'String',
|
114
145
|
:'status' => :'String',
|
115
146
|
:'duration' => :'Float',
|
116
147
|
:'max_stored_resolution' => :'String',
|
@@ -119,130 +150,149 @@ module MuxRuby
|
|
119
150
|
:'playback_ids' => :'Array<PlaybackID>',
|
120
151
|
:'tracks' => :'Array<Track>',
|
121
152
|
:'errors' => :'AssetErrors',
|
122
|
-
:'per_title_encode' => :'
|
123
|
-
:'
|
153
|
+
:'per_title_encode' => :'Boolean',
|
154
|
+
:'upload_id' => :'String',
|
155
|
+
:'is_live' => :'Boolean',
|
124
156
|
:'passthrough' => :'String',
|
125
157
|
:'live_stream_id' => :'String',
|
126
158
|
:'master' => :'AssetMaster',
|
127
159
|
:'master_access' => :'String',
|
128
160
|
:'mp4_support' => :'String',
|
129
|
-
:'
|
161
|
+
:'source_asset_id' => :'String',
|
162
|
+
:'normalize_audio' => :'Boolean',
|
130
163
|
:'static_renditions' => :'AssetStaticRenditions',
|
131
164
|
:'recording_times' => :'Array<AssetRecordingTimes>',
|
132
165
|
:'non_standard_input_reasons' => :'AssetNonStandardInputReasons',
|
133
|
-
:'test' => :'
|
166
|
+
:'test' => :'Boolean'
|
134
167
|
}
|
135
168
|
end
|
136
169
|
|
170
|
+
# List of attributes with nullable: true
|
171
|
+
def self.openapi_nullable
|
172
|
+
Set.new([
|
173
|
+
])
|
174
|
+
end
|
175
|
+
|
137
176
|
# Initializes the object
|
138
177
|
# @param [Hash] attributes Model attributes in the form of hash
|
139
178
|
def initialize(attributes = {})
|
140
|
-
|
179
|
+
if (!attributes.is_a?(Hash))
|
180
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::Asset` initialize method"
|
181
|
+
end
|
141
182
|
|
142
|
-
# convert string to symbol for hash key
|
143
|
-
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
|
+
}
|
144
190
|
|
145
|
-
if attributes.
|
191
|
+
if attributes.key?(:'id')
|
146
192
|
self.id = attributes[:'id']
|
147
193
|
end
|
148
194
|
|
149
|
-
if attributes.
|
195
|
+
if attributes.key?(:'created_at')
|
150
196
|
self.created_at = attributes[:'created_at']
|
151
197
|
end
|
152
198
|
|
153
|
-
if attributes.
|
154
|
-
self.deleted_at = attributes[:'deleted_at']
|
155
|
-
end
|
156
|
-
|
157
|
-
if attributes.has_key?(:'status')
|
199
|
+
if attributes.key?(:'status')
|
158
200
|
self.status = attributes[:'status']
|
159
201
|
end
|
160
202
|
|
161
|
-
if attributes.
|
203
|
+
if attributes.key?(:'duration')
|
162
204
|
self.duration = attributes[:'duration']
|
163
205
|
end
|
164
206
|
|
165
|
-
if attributes.
|
207
|
+
if attributes.key?(:'max_stored_resolution')
|
166
208
|
self.max_stored_resolution = attributes[:'max_stored_resolution']
|
167
209
|
end
|
168
210
|
|
169
|
-
if attributes.
|
211
|
+
if attributes.key?(:'max_stored_frame_rate')
|
170
212
|
self.max_stored_frame_rate = attributes[:'max_stored_frame_rate']
|
171
213
|
end
|
172
214
|
|
173
|
-
if attributes.
|
215
|
+
if attributes.key?(:'aspect_ratio')
|
174
216
|
self.aspect_ratio = attributes[:'aspect_ratio']
|
175
217
|
end
|
176
218
|
|
177
|
-
if attributes.
|
219
|
+
if attributes.key?(:'playback_ids')
|
178
220
|
if (value = attributes[:'playback_ids']).is_a?(Array)
|
179
221
|
self.playback_ids = value
|
180
222
|
end
|
181
223
|
end
|
182
224
|
|
183
|
-
if attributes.
|
225
|
+
if attributes.key?(:'tracks')
|
184
226
|
if (value = attributes[:'tracks']).is_a?(Array)
|
185
227
|
self.tracks = value
|
186
228
|
end
|
187
229
|
end
|
188
230
|
|
189
|
-
if attributes.
|
231
|
+
if attributes.key?(:'errors')
|
190
232
|
self.errors = attributes[:'errors']
|
191
233
|
end
|
192
234
|
|
193
|
-
if attributes.
|
235
|
+
if attributes.key?(:'per_title_encode')
|
194
236
|
self.per_title_encode = attributes[:'per_title_encode']
|
195
237
|
end
|
196
238
|
|
197
|
-
if attributes.
|
239
|
+
if attributes.key?(:'upload_id')
|
240
|
+
self.upload_id = attributes[:'upload_id']
|
241
|
+
end
|
242
|
+
|
243
|
+
if attributes.key?(:'is_live')
|
198
244
|
self.is_live = attributes[:'is_live']
|
199
245
|
end
|
200
246
|
|
201
|
-
if attributes.
|
247
|
+
if attributes.key?(:'passthrough')
|
202
248
|
self.passthrough = attributes[:'passthrough']
|
203
249
|
end
|
204
250
|
|
205
|
-
if attributes.
|
251
|
+
if attributes.key?(:'live_stream_id')
|
206
252
|
self.live_stream_id = attributes[:'live_stream_id']
|
207
253
|
end
|
208
254
|
|
209
|
-
if attributes.
|
255
|
+
if attributes.key?(:'master')
|
210
256
|
self.master = attributes[:'master']
|
211
257
|
end
|
212
258
|
|
213
|
-
if attributes.
|
259
|
+
if attributes.key?(:'master_access')
|
214
260
|
self.master_access = attributes[:'master_access']
|
215
261
|
else
|
216
262
|
self.master_access = 'none'
|
217
263
|
end
|
218
264
|
|
219
|
-
if attributes.
|
265
|
+
if attributes.key?(:'mp4_support')
|
220
266
|
self.mp4_support = attributes[:'mp4_support']
|
221
267
|
else
|
222
268
|
self.mp4_support = 'none'
|
223
269
|
end
|
224
270
|
|
225
|
-
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')
|
226
276
|
self.normalize_audio = attributes[:'normalize_audio']
|
227
277
|
else
|
228
278
|
self.normalize_audio = false
|
229
279
|
end
|
230
280
|
|
231
|
-
if attributes.
|
281
|
+
if attributes.key?(:'static_renditions')
|
232
282
|
self.static_renditions = attributes[:'static_renditions']
|
233
283
|
end
|
234
284
|
|
235
|
-
if attributes.
|
285
|
+
if attributes.key?(:'recording_times')
|
236
286
|
if (value = attributes[:'recording_times']).is_a?(Array)
|
237
287
|
self.recording_times = value
|
238
288
|
end
|
239
289
|
end
|
240
290
|
|
241
|
-
if attributes.
|
291
|
+
if attributes.key?(:'non_standard_input_reasons')
|
242
292
|
self.non_standard_input_reasons = attributes[:'non_standard_input_reasons']
|
243
293
|
end
|
244
294
|
|
245
|
-
if attributes.
|
295
|
+
if attributes.key?(:'test')
|
246
296
|
self.test = attributes[:'test']
|
247
297
|
end
|
248
298
|
end
|
@@ -257,21 +307,33 @@ module MuxRuby
|
|
257
307
|
# Check to see if the all the properties in the model are valid
|
258
308
|
# @return true if the model is valid
|
259
309
|
def valid?
|
260
|
-
|
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"])
|
261
313
|
return false unless max_stored_resolution_validator.valid?(@max_stored_resolution)
|
262
|
-
master_access_validator = EnumAttributeValidator.new('String', [
|
314
|
+
master_access_validator = EnumAttributeValidator.new('String', ["temporary", "none"])
|
263
315
|
return false unless master_access_validator.valid?(@master_access)
|
264
|
-
mp4_support_validator = EnumAttributeValidator.new('String', [
|
316
|
+
mp4_support_validator = EnumAttributeValidator.new('String', ["standard", "none"])
|
265
317
|
return false unless mp4_support_validator.valid?(@mp4_support)
|
266
318
|
true
|
267
319
|
end
|
268
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
|
+
|
269
331
|
# Custom attribute writer method checking allowed values (enum).
|
270
332
|
# @param [Object] max_stored_resolution Object to be assigned
|
271
333
|
def max_stored_resolution=(max_stored_resolution)
|
272
|
-
validator = EnumAttributeValidator.new('String', [
|
334
|
+
validator = EnumAttributeValidator.new('String', ["Audio only", "SD", "HD", "FHD", "UHD"])
|
273
335
|
unless validator.valid?(max_stored_resolution)
|
274
|
-
fail ArgumentError,
|
336
|
+
fail ArgumentError, "invalid value for \"max_stored_resolution\", must be one of #{validator.allowable_values}."
|
275
337
|
end
|
276
338
|
@max_stored_resolution = max_stored_resolution
|
277
339
|
end
|
@@ -279,9 +341,9 @@ module MuxRuby
|
|
279
341
|
# Custom attribute writer method checking allowed values (enum).
|
280
342
|
# @param [Object] master_access Object to be assigned
|
281
343
|
def master_access=(master_access)
|
282
|
-
validator = EnumAttributeValidator.new('String', [
|
344
|
+
validator = EnumAttributeValidator.new('String', ["temporary", "none"])
|
283
345
|
unless validator.valid?(master_access)
|
284
|
-
fail ArgumentError,
|
346
|
+
fail ArgumentError, "invalid value for \"master_access\", must be one of #{validator.allowable_values}."
|
285
347
|
end
|
286
348
|
@master_access = master_access
|
287
349
|
end
|
@@ -289,9 +351,9 @@ module MuxRuby
|
|
289
351
|
# Custom attribute writer method checking allowed values (enum).
|
290
352
|
# @param [Object] mp4_support Object to be assigned
|
291
353
|
def mp4_support=(mp4_support)
|
292
|
-
validator = EnumAttributeValidator.new('String', [
|
354
|
+
validator = EnumAttributeValidator.new('String', ["standard", "none"])
|
293
355
|
unless validator.valid?(mp4_support)
|
294
|
-
fail ArgumentError,
|
356
|
+
fail ArgumentError, "invalid value for \"mp4_support\", must be one of #{validator.allowable_values}."
|
295
357
|
end
|
296
358
|
@mp4_support = mp4_support
|
297
359
|
end
|
@@ -303,7 +365,6 @@ module MuxRuby
|
|
303
365
|
self.class == o.class &&
|
304
366
|
id == o.id &&
|
305
367
|
created_at == o.created_at &&
|
306
|
-
deleted_at == o.deleted_at &&
|
307
368
|
status == o.status &&
|
308
369
|
duration == o.duration &&
|
309
370
|
max_stored_resolution == o.max_stored_resolution &&
|
@@ -313,12 +374,14 @@ module MuxRuby
|
|
313
374
|
tracks == o.tracks &&
|
314
375
|
errors == o.errors &&
|
315
376
|
per_title_encode == o.per_title_encode &&
|
377
|
+
upload_id == o.upload_id &&
|
316
378
|
is_live == o.is_live &&
|
317
379
|
passthrough == o.passthrough &&
|
318
380
|
live_stream_id == o.live_stream_id &&
|
319
381
|
master == o.master &&
|
320
382
|
master_access == o.master_access &&
|
321
383
|
mp4_support == o.mp4_support &&
|
384
|
+
source_asset_id == o.source_asset_id &&
|
322
385
|
normalize_audio == o.normalize_audio &&
|
323
386
|
static_renditions == o.static_renditions &&
|
324
387
|
recording_times == o.recording_times &&
|
@@ -333,9 +396,9 @@ module MuxRuby
|
|
333
396
|
end
|
334
397
|
|
335
398
|
# Calculates hash code according to all attributes.
|
336
|
-
# @return [
|
399
|
+
# @return [Integer] Hash code
|
337
400
|
def hash
|
338
|
-
[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
|
339
402
|
end
|
340
403
|
|
341
404
|
# Builds the object from hash
|
@@ -351,7 +414,9 @@ module MuxRuby
|
|
351
414
|
def build_from_hash(attributes)
|
352
415
|
return nil unless attributes.is_a?(Hash)
|
353
416
|
self.class.openapi_types.each_pair do |key, type|
|
354
|
-
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
|
355
420
|
# check to ensure the input is an array given that the attribute
|
356
421
|
# is documented as an array but the input is not
|
357
422
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
@@ -359,7 +424,7 @@ module MuxRuby
|
|
359
424
|
end
|
360
425
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
361
426
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
362
|
-
end
|
427
|
+
end
|
363
428
|
end
|
364
429
|
|
365
430
|
self
|
@@ -371,8 +436,8 @@ module MuxRuby
|
|
371
436
|
# @return [Object] Deserialized data
|
372
437
|
def _deserialize(type, value)
|
373
438
|
case type.to_sym
|
374
|
-
when :
|
375
|
-
|
439
|
+
when :Time
|
440
|
+
Time.parse(value)
|
376
441
|
when :Date
|
377
442
|
Date.parse(value)
|
378
443
|
when :String
|
@@ -381,7 +446,7 @@ module MuxRuby
|
|
381
446
|
value.to_i
|
382
447
|
when :Float
|
383
448
|
value.to_f
|
384
|
-
when :
|
449
|
+
when :Boolean
|
385
450
|
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
386
451
|
true
|
387
452
|
else
|
@@ -402,7 +467,9 @@ module MuxRuby
|
|
402
467
|
end
|
403
468
|
end
|
404
469
|
else # model
|
405
|
-
|
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)
|
406
473
|
end
|
407
474
|
end
|
408
475
|
|
@@ -424,7 +491,11 @@ module MuxRuby
|
|
424
491
|
hash = {}
|
425
492
|
self.class.attribute_map.each_pair do |attr, param|
|
426
493
|
value = self.send(attr)
|
427
|
-
|
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
|
+
|
428
499
|
hash[param] = _to_hash(value)
|
429
500
|
end
|
430
501
|
hash
|