mux_ruby 1.8.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,14 +1,25 @@
|
|
|
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
|
|
17
|
+
# Object that describes any errors that happened when processing this asset.
|
|
9
18
|
class AssetErrors
|
|
19
|
+
# The type of error that occurred for this asset.
|
|
10
20
|
attr_accessor :type
|
|
11
21
|
|
|
22
|
+
# Error messages with more details.
|
|
12
23
|
attr_accessor :messages
|
|
13
24
|
|
|
14
25
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -19,6 +30,11 @@ module MuxRuby
|
|
|
19
30
|
}
|
|
20
31
|
end
|
|
21
32
|
|
|
33
|
+
# Returns all the JSON keys this model knows about
|
|
34
|
+
def self.acceptable_attributes
|
|
35
|
+
attribute_map.values
|
|
36
|
+
end
|
|
37
|
+
|
|
22
38
|
# Attribute type mapping.
|
|
23
39
|
def self.openapi_types
|
|
24
40
|
{
|
|
@@ -27,19 +43,32 @@ module MuxRuby
|
|
|
27
43
|
}
|
|
28
44
|
end
|
|
29
45
|
|
|
46
|
+
# List of attributes with nullable: true
|
|
47
|
+
def self.openapi_nullable
|
|
48
|
+
Set.new([
|
|
49
|
+
])
|
|
50
|
+
end
|
|
51
|
+
|
|
30
52
|
# Initializes the object
|
|
31
53
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
32
54
|
def initialize(attributes = {})
|
|
33
|
-
|
|
55
|
+
if (!attributes.is_a?(Hash))
|
|
56
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AssetErrors` initialize method"
|
|
57
|
+
end
|
|
34
58
|
|
|
35
|
-
# convert string to symbol for hash key
|
|
36
|
-
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
59
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
60
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
61
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
62
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AssetErrors`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
|
63
|
+
end
|
|
64
|
+
h[k.to_sym] = v
|
|
65
|
+
}
|
|
37
66
|
|
|
38
|
-
if attributes.
|
|
67
|
+
if attributes.key?(:'type')
|
|
39
68
|
self.type = attributes[:'type']
|
|
40
69
|
end
|
|
41
70
|
|
|
42
|
-
if attributes.
|
|
71
|
+
if attributes.key?(:'messages')
|
|
43
72
|
if (value = attributes[:'messages']).is_a?(Array)
|
|
44
73
|
self.messages = value
|
|
45
74
|
end
|
|
@@ -75,7 +104,7 @@ module MuxRuby
|
|
|
75
104
|
end
|
|
76
105
|
|
|
77
106
|
# Calculates hash code according to all attributes.
|
|
78
|
-
# @return [
|
|
107
|
+
# @return [Integer] Hash code
|
|
79
108
|
def hash
|
|
80
109
|
[type, messages].hash
|
|
81
110
|
end
|
|
@@ -93,7 +122,9 @@ module MuxRuby
|
|
|
93
122
|
def build_from_hash(attributes)
|
|
94
123
|
return nil unless attributes.is_a?(Hash)
|
|
95
124
|
self.class.openapi_types.each_pair do |key, type|
|
|
96
|
-
if
|
|
125
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
126
|
+
self.send("#{key}=", nil)
|
|
127
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
97
128
|
# check to ensure the input is an array given that the attribute
|
|
98
129
|
# is documented as an array but the input is not
|
|
99
130
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
@@ -101,7 +132,7 @@ module MuxRuby
|
|
|
101
132
|
end
|
|
102
133
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
103
134
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
104
|
-
end
|
|
135
|
+
end
|
|
105
136
|
end
|
|
106
137
|
|
|
107
138
|
self
|
|
@@ -113,8 +144,8 @@ module MuxRuby
|
|
|
113
144
|
# @return [Object] Deserialized data
|
|
114
145
|
def _deserialize(type, value)
|
|
115
146
|
case type.to_sym
|
|
116
|
-
when :
|
|
117
|
-
|
|
147
|
+
when :Time
|
|
148
|
+
Time.parse(value)
|
|
118
149
|
when :Date
|
|
119
150
|
Date.parse(value)
|
|
120
151
|
when :String
|
|
@@ -123,7 +154,7 @@ module MuxRuby
|
|
|
123
154
|
value.to_i
|
|
124
155
|
when :Float
|
|
125
156
|
value.to_f
|
|
126
|
-
when :
|
|
157
|
+
when :Boolean
|
|
127
158
|
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
128
159
|
true
|
|
129
160
|
else
|
|
@@ -144,7 +175,9 @@ module MuxRuby
|
|
|
144
175
|
end
|
|
145
176
|
end
|
|
146
177
|
else # model
|
|
147
|
-
|
|
178
|
+
# models (e.g. Pet) or oneOf
|
|
179
|
+
klass = MuxRuby.const_get(type)
|
|
180
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
148
181
|
end
|
|
149
182
|
end
|
|
150
183
|
|
|
@@ -166,7 +199,11 @@ module MuxRuby
|
|
|
166
199
|
hash = {}
|
|
167
200
|
self.class.attribute_map.each_pair do |attr, param|
|
|
168
201
|
value = self.send(attr)
|
|
169
|
-
|
|
202
|
+
if value.nil?
|
|
203
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
204
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
205
|
+
end
|
|
206
|
+
|
|
170
207
|
hash[param] = _to_hash(value)
|
|
171
208
|
end
|
|
172
209
|
hash
|
|
@@ -1,16 +1,48 @@
|
|
|
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
|
|
17
|
+
# An object containing the current status of Master Access and the link to the Master MP4 file when ready. This object does not exist if `master_acess` is set to `none` and when the temporary URL expires.
|
|
9
18
|
class AssetMaster
|
|
10
19
|
attr_accessor :status
|
|
11
20
|
|
|
21
|
+
# The temporary URL to the master version of the video, as an MP4 file. This URL will expire after 24 hours.
|
|
12
22
|
attr_accessor :url
|
|
13
23
|
|
|
24
|
+
class EnumAttributeValidator
|
|
25
|
+
attr_reader :datatype
|
|
26
|
+
attr_reader :allowable_values
|
|
27
|
+
|
|
28
|
+
def initialize(datatype, allowable_values)
|
|
29
|
+
@allowable_values = allowable_values.map do |value|
|
|
30
|
+
case datatype.to_s
|
|
31
|
+
when /Integer/i
|
|
32
|
+
value.to_i
|
|
33
|
+
when /Float/i
|
|
34
|
+
value.to_f
|
|
35
|
+
else
|
|
36
|
+
value
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def valid?(value)
|
|
42
|
+
!value || allowable_values.include?(value)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
14
46
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
15
47
|
def self.attribute_map
|
|
16
48
|
{
|
|
@@ -19,6 +51,11 @@ module MuxRuby
|
|
|
19
51
|
}
|
|
20
52
|
end
|
|
21
53
|
|
|
54
|
+
# Returns all the JSON keys this model knows about
|
|
55
|
+
def self.acceptable_attributes
|
|
56
|
+
attribute_map.values
|
|
57
|
+
end
|
|
58
|
+
|
|
22
59
|
# Attribute type mapping.
|
|
23
60
|
def self.openapi_types
|
|
24
61
|
{
|
|
@@ -27,19 +64,32 @@ module MuxRuby
|
|
|
27
64
|
}
|
|
28
65
|
end
|
|
29
66
|
|
|
67
|
+
# List of attributes with nullable: true
|
|
68
|
+
def self.openapi_nullable
|
|
69
|
+
Set.new([
|
|
70
|
+
])
|
|
71
|
+
end
|
|
72
|
+
|
|
30
73
|
# Initializes the object
|
|
31
74
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
32
75
|
def initialize(attributes = {})
|
|
33
|
-
|
|
76
|
+
if (!attributes.is_a?(Hash))
|
|
77
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AssetMaster` initialize method"
|
|
78
|
+
end
|
|
34
79
|
|
|
35
|
-
# convert string to symbol for hash key
|
|
36
|
-
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
80
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
81
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
82
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
83
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AssetMaster`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
|
84
|
+
end
|
|
85
|
+
h[k.to_sym] = v
|
|
86
|
+
}
|
|
37
87
|
|
|
38
|
-
if attributes.
|
|
88
|
+
if attributes.key?(:'status')
|
|
39
89
|
self.status = attributes[:'status']
|
|
40
90
|
end
|
|
41
91
|
|
|
42
|
-
if attributes.
|
|
92
|
+
if attributes.key?(:'url')
|
|
43
93
|
self.url = attributes[:'url']
|
|
44
94
|
end
|
|
45
95
|
end
|
|
@@ -54,9 +104,21 @@ module MuxRuby
|
|
|
54
104
|
# Check to see if the all the properties in the model are valid
|
|
55
105
|
# @return true if the model is valid
|
|
56
106
|
def valid?
|
|
107
|
+
status_validator = EnumAttributeValidator.new('String', ["ready", "preparing", "errored"])
|
|
108
|
+
return false unless status_validator.valid?(@status)
|
|
57
109
|
true
|
|
58
110
|
end
|
|
59
111
|
|
|
112
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
113
|
+
# @param [Object] status Object to be assigned
|
|
114
|
+
def status=(status)
|
|
115
|
+
validator = EnumAttributeValidator.new('String', ["ready", "preparing", "errored"])
|
|
116
|
+
unless validator.valid?(status)
|
|
117
|
+
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
|
|
118
|
+
end
|
|
119
|
+
@status = status
|
|
120
|
+
end
|
|
121
|
+
|
|
60
122
|
# Checks equality by comparing each attribute.
|
|
61
123
|
# @param [Object] Object to be compared
|
|
62
124
|
def ==(o)
|
|
@@ -73,7 +135,7 @@ module MuxRuby
|
|
|
73
135
|
end
|
|
74
136
|
|
|
75
137
|
# Calculates hash code according to all attributes.
|
|
76
|
-
# @return [
|
|
138
|
+
# @return [Integer] Hash code
|
|
77
139
|
def hash
|
|
78
140
|
[status, url].hash
|
|
79
141
|
end
|
|
@@ -91,7 +153,9 @@ module MuxRuby
|
|
|
91
153
|
def build_from_hash(attributes)
|
|
92
154
|
return nil unless attributes.is_a?(Hash)
|
|
93
155
|
self.class.openapi_types.each_pair do |key, type|
|
|
94
|
-
if
|
|
156
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
157
|
+
self.send("#{key}=", nil)
|
|
158
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
95
159
|
# check to ensure the input is an array given that the attribute
|
|
96
160
|
# is documented as an array but the input is not
|
|
97
161
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
@@ -99,7 +163,7 @@ module MuxRuby
|
|
|
99
163
|
end
|
|
100
164
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
101
165
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
102
|
-
end
|
|
166
|
+
end
|
|
103
167
|
end
|
|
104
168
|
|
|
105
169
|
self
|
|
@@ -111,8 +175,8 @@ module MuxRuby
|
|
|
111
175
|
# @return [Object] Deserialized data
|
|
112
176
|
def _deserialize(type, value)
|
|
113
177
|
case type.to_sym
|
|
114
|
-
when :
|
|
115
|
-
|
|
178
|
+
when :Time
|
|
179
|
+
Time.parse(value)
|
|
116
180
|
when :Date
|
|
117
181
|
Date.parse(value)
|
|
118
182
|
when :String
|
|
@@ -121,7 +185,7 @@ module MuxRuby
|
|
|
121
185
|
value.to_i
|
|
122
186
|
when :Float
|
|
123
187
|
value.to_f
|
|
124
|
-
when :
|
|
188
|
+
when :Boolean
|
|
125
189
|
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
126
190
|
true
|
|
127
191
|
else
|
|
@@ -142,7 +206,9 @@ module MuxRuby
|
|
|
142
206
|
end
|
|
143
207
|
end
|
|
144
208
|
else # model
|
|
145
|
-
|
|
209
|
+
# models (e.g. Pet) or oneOf
|
|
210
|
+
klass = MuxRuby.const_get(type)
|
|
211
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
146
212
|
end
|
|
147
213
|
end
|
|
148
214
|
|
|
@@ -164,7 +230,11 @@ module MuxRuby
|
|
|
164
230
|
hash = {}
|
|
165
231
|
self.class.attribute_map.each_pair do |attr, param|
|
|
166
232
|
value = self.send(attr)
|
|
167
|
-
|
|
233
|
+
if value.nil?
|
|
234
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
235
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
236
|
+
end
|
|
237
|
+
|
|
168
238
|
hash[param] = _to_hash(value)
|
|
169
239
|
end
|
|
170
240
|
hash
|
|
@@ -1,37 +1,46 @@
|
|
|
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
|
|
17
|
+
# An object containing one or more reasons the input file is non-standard. See [the guide on minimizing processing time](https://docs.mux.com/guides/video/minimize-processing-time) for more information on what a standard input is defined as. This object only exists on on-demand assets that have non-standard inputs, so if missing you can assume the input qualifies as standard.
|
|
9
18
|
class AssetNonStandardInputReasons
|
|
10
|
-
# The video codec used on the input file
|
|
19
|
+
# The video codec used on the input file. For example, the input file encoded with `hevc` video codec is non-standard and the value of this parameter is `hevc`.
|
|
11
20
|
attr_accessor :video_codec
|
|
12
21
|
|
|
13
|
-
# The audio codec used on the input file
|
|
22
|
+
# The audio codec used on the input file. Non-AAC audio codecs are non-standard.
|
|
14
23
|
attr_accessor :audio_codec
|
|
15
24
|
|
|
16
|
-
# The video key frame Interval (also called as Group of Picture or GOP) of the input file
|
|
25
|
+
# The video key frame Interval (also called as Group of Picture or GOP) of the input file is `high`. This parameter is present when the gop is greater than 10 seconds.
|
|
17
26
|
attr_accessor :video_gop_size
|
|
18
27
|
|
|
19
|
-
# The video frame rate of the input file
|
|
28
|
+
# The video frame rate of the input file. Video with average frames per second (fps) less than 10 or greater than 120 is non-standard. A `-1` frame rate value indicates Mux could not determine the frame rate of the video track.
|
|
20
29
|
attr_accessor :video_frame_rate
|
|
21
30
|
|
|
22
|
-
# The video resolution of the input file
|
|
31
|
+
# The video resolution of the input file. Video resolution higher than 2048 pixels on any one dimension (height or width) is considered non-standard, The resolution value is presented as `width` x `height` in pixels.
|
|
23
32
|
attr_accessor :video_resolution
|
|
24
33
|
|
|
25
|
-
# The video pixel aspect ratio of the input file
|
|
34
|
+
# The video pixel aspect ratio of the input file.
|
|
26
35
|
attr_accessor :pixel_aspect_ratio
|
|
27
36
|
|
|
28
|
-
# Video Edit List reason indicates that the input file's video track contains a complex Edit Decision List
|
|
37
|
+
# Video Edit List reason indicates that the input file's video track contains a complex Edit Decision List.
|
|
29
38
|
attr_accessor :video_edit_list
|
|
30
39
|
|
|
31
|
-
# Audio Edit List reason indicates that the input file's audio track contains a complex Edit Decision List
|
|
40
|
+
# Audio Edit List reason indicates that the input file's audio track contains a complex Edit Decision List.
|
|
32
41
|
attr_accessor :audio_edit_list
|
|
33
42
|
|
|
34
|
-
# A catch-all reason when the input file in created with non-standard encoding parameters
|
|
43
|
+
# A catch-all reason when the input file in created with non-standard encoding parameters.
|
|
35
44
|
attr_accessor :unexpected_media_file_parameters
|
|
36
45
|
|
|
37
46
|
class EnumAttributeValidator
|
|
@@ -71,6 +80,11 @@ module MuxRuby
|
|
|
71
80
|
}
|
|
72
81
|
end
|
|
73
82
|
|
|
83
|
+
# Returns all the JSON keys this model knows about
|
|
84
|
+
def self.acceptable_attributes
|
|
85
|
+
attribute_map.values
|
|
86
|
+
end
|
|
87
|
+
|
|
74
88
|
# Attribute type mapping.
|
|
75
89
|
def self.openapi_types
|
|
76
90
|
{
|
|
@@ -86,47 +100,60 @@ module MuxRuby
|
|
|
86
100
|
}
|
|
87
101
|
end
|
|
88
102
|
|
|
103
|
+
# List of attributes with nullable: true
|
|
104
|
+
def self.openapi_nullable
|
|
105
|
+
Set.new([
|
|
106
|
+
])
|
|
107
|
+
end
|
|
108
|
+
|
|
89
109
|
# Initializes the object
|
|
90
110
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
91
111
|
def initialize(attributes = {})
|
|
92
|
-
|
|
112
|
+
if (!attributes.is_a?(Hash))
|
|
113
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `MuxRuby::AssetNonStandardInputReasons` initialize method"
|
|
114
|
+
end
|
|
93
115
|
|
|
94
|
-
# convert string to symbol for hash key
|
|
95
|
-
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
116
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
117
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
118
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
119
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `MuxRuby::AssetNonStandardInputReasons`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
|
120
|
+
end
|
|
121
|
+
h[k.to_sym] = v
|
|
122
|
+
}
|
|
96
123
|
|
|
97
|
-
if attributes.
|
|
124
|
+
if attributes.key?(:'video_codec')
|
|
98
125
|
self.video_codec = attributes[:'video_codec']
|
|
99
126
|
end
|
|
100
127
|
|
|
101
|
-
if attributes.
|
|
128
|
+
if attributes.key?(:'audio_codec')
|
|
102
129
|
self.audio_codec = attributes[:'audio_codec']
|
|
103
130
|
end
|
|
104
131
|
|
|
105
|
-
if attributes.
|
|
132
|
+
if attributes.key?(:'video_gop_size')
|
|
106
133
|
self.video_gop_size = attributes[:'video_gop_size']
|
|
107
134
|
end
|
|
108
135
|
|
|
109
|
-
if attributes.
|
|
136
|
+
if attributes.key?(:'video_frame_rate')
|
|
110
137
|
self.video_frame_rate = attributes[:'video_frame_rate']
|
|
111
138
|
end
|
|
112
139
|
|
|
113
|
-
if attributes.
|
|
140
|
+
if attributes.key?(:'video_resolution')
|
|
114
141
|
self.video_resolution = attributes[:'video_resolution']
|
|
115
142
|
end
|
|
116
143
|
|
|
117
|
-
if attributes.
|
|
144
|
+
if attributes.key?(:'pixel_aspect_ratio')
|
|
118
145
|
self.pixel_aspect_ratio = attributes[:'pixel_aspect_ratio']
|
|
119
146
|
end
|
|
120
147
|
|
|
121
|
-
if attributes.
|
|
148
|
+
if attributes.key?(:'video_edit_list')
|
|
122
149
|
self.video_edit_list = attributes[:'video_edit_list']
|
|
123
150
|
end
|
|
124
151
|
|
|
125
|
-
if attributes.
|
|
152
|
+
if attributes.key?(:'audio_edit_list')
|
|
126
153
|
self.audio_edit_list = attributes[:'audio_edit_list']
|
|
127
154
|
end
|
|
128
155
|
|
|
129
|
-
if attributes.
|
|
156
|
+
if attributes.key?(:'unexpected_media_file_parameters')
|
|
130
157
|
self.unexpected_media_file_parameters = attributes[:'unexpected_media_file_parameters']
|
|
131
158
|
end
|
|
132
159
|
end
|
|
@@ -141,13 +168,13 @@ module MuxRuby
|
|
|
141
168
|
# Check to see if the all the properties in the model are valid
|
|
142
169
|
# @return true if the model is valid
|
|
143
170
|
def valid?
|
|
144
|
-
video_gop_size_validator = EnumAttributeValidator.new('String', [
|
|
171
|
+
video_gop_size_validator = EnumAttributeValidator.new('String', ["high"])
|
|
145
172
|
return false unless video_gop_size_validator.valid?(@video_gop_size)
|
|
146
|
-
video_edit_list_validator = EnumAttributeValidator.new('String', [
|
|
173
|
+
video_edit_list_validator = EnumAttributeValidator.new('String', ["non-standard"])
|
|
147
174
|
return false unless video_edit_list_validator.valid?(@video_edit_list)
|
|
148
|
-
audio_edit_list_validator = EnumAttributeValidator.new('String', [
|
|
175
|
+
audio_edit_list_validator = EnumAttributeValidator.new('String', ["non-standard"])
|
|
149
176
|
return false unless audio_edit_list_validator.valid?(@audio_edit_list)
|
|
150
|
-
unexpected_media_file_parameters_validator = EnumAttributeValidator.new('String', [
|
|
177
|
+
unexpected_media_file_parameters_validator = EnumAttributeValidator.new('String', ["non-standard"])
|
|
151
178
|
return false unless unexpected_media_file_parameters_validator.valid?(@unexpected_media_file_parameters)
|
|
152
179
|
true
|
|
153
180
|
end
|
|
@@ -155,9 +182,9 @@ module MuxRuby
|
|
|
155
182
|
# Custom attribute writer method checking allowed values (enum).
|
|
156
183
|
# @param [Object] video_gop_size Object to be assigned
|
|
157
184
|
def video_gop_size=(video_gop_size)
|
|
158
|
-
validator = EnumAttributeValidator.new('String', [
|
|
185
|
+
validator = EnumAttributeValidator.new('String', ["high"])
|
|
159
186
|
unless validator.valid?(video_gop_size)
|
|
160
|
-
fail ArgumentError,
|
|
187
|
+
fail ArgumentError, "invalid value for \"video_gop_size\", must be one of #{validator.allowable_values}."
|
|
161
188
|
end
|
|
162
189
|
@video_gop_size = video_gop_size
|
|
163
190
|
end
|
|
@@ -165,9 +192,9 @@ module MuxRuby
|
|
|
165
192
|
# Custom attribute writer method checking allowed values (enum).
|
|
166
193
|
# @param [Object] video_edit_list Object to be assigned
|
|
167
194
|
def video_edit_list=(video_edit_list)
|
|
168
|
-
validator = EnumAttributeValidator.new('String', [
|
|
195
|
+
validator = EnumAttributeValidator.new('String', ["non-standard"])
|
|
169
196
|
unless validator.valid?(video_edit_list)
|
|
170
|
-
fail ArgumentError,
|
|
197
|
+
fail ArgumentError, "invalid value for \"video_edit_list\", must be one of #{validator.allowable_values}."
|
|
171
198
|
end
|
|
172
199
|
@video_edit_list = video_edit_list
|
|
173
200
|
end
|
|
@@ -175,9 +202,9 @@ module MuxRuby
|
|
|
175
202
|
# Custom attribute writer method checking allowed values (enum).
|
|
176
203
|
# @param [Object] audio_edit_list Object to be assigned
|
|
177
204
|
def audio_edit_list=(audio_edit_list)
|
|
178
|
-
validator = EnumAttributeValidator.new('String', [
|
|
205
|
+
validator = EnumAttributeValidator.new('String', ["non-standard"])
|
|
179
206
|
unless validator.valid?(audio_edit_list)
|
|
180
|
-
fail ArgumentError,
|
|
207
|
+
fail ArgumentError, "invalid value for \"audio_edit_list\", must be one of #{validator.allowable_values}."
|
|
181
208
|
end
|
|
182
209
|
@audio_edit_list = audio_edit_list
|
|
183
210
|
end
|
|
@@ -185,9 +212,9 @@ module MuxRuby
|
|
|
185
212
|
# Custom attribute writer method checking allowed values (enum).
|
|
186
213
|
# @param [Object] unexpected_media_file_parameters Object to be assigned
|
|
187
214
|
def unexpected_media_file_parameters=(unexpected_media_file_parameters)
|
|
188
|
-
validator = EnumAttributeValidator.new('String', [
|
|
215
|
+
validator = EnumAttributeValidator.new('String', ["non-standard"])
|
|
189
216
|
unless validator.valid?(unexpected_media_file_parameters)
|
|
190
|
-
fail ArgumentError,
|
|
217
|
+
fail ArgumentError, "invalid value for \"unexpected_media_file_parameters\", must be one of #{validator.allowable_values}."
|
|
191
218
|
end
|
|
192
219
|
@unexpected_media_file_parameters = unexpected_media_file_parameters
|
|
193
220
|
end
|
|
@@ -215,7 +242,7 @@ module MuxRuby
|
|
|
215
242
|
end
|
|
216
243
|
|
|
217
244
|
# Calculates hash code according to all attributes.
|
|
218
|
-
# @return [
|
|
245
|
+
# @return [Integer] Hash code
|
|
219
246
|
def hash
|
|
220
247
|
[video_codec, audio_codec, video_gop_size, video_frame_rate, video_resolution, pixel_aspect_ratio, video_edit_list, audio_edit_list, unexpected_media_file_parameters].hash
|
|
221
248
|
end
|
|
@@ -233,7 +260,9 @@ module MuxRuby
|
|
|
233
260
|
def build_from_hash(attributes)
|
|
234
261
|
return nil unless attributes.is_a?(Hash)
|
|
235
262
|
self.class.openapi_types.each_pair do |key, type|
|
|
236
|
-
if
|
|
263
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
264
|
+
self.send("#{key}=", nil)
|
|
265
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
237
266
|
# check to ensure the input is an array given that the attribute
|
|
238
267
|
# is documented as an array but the input is not
|
|
239
268
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
@@ -241,7 +270,7 @@ module MuxRuby
|
|
|
241
270
|
end
|
|
242
271
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
243
272
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
244
|
-
end
|
|
273
|
+
end
|
|
245
274
|
end
|
|
246
275
|
|
|
247
276
|
self
|
|
@@ -253,8 +282,8 @@ module MuxRuby
|
|
|
253
282
|
# @return [Object] Deserialized data
|
|
254
283
|
def _deserialize(type, value)
|
|
255
284
|
case type.to_sym
|
|
256
|
-
when :
|
|
257
|
-
|
|
285
|
+
when :Time
|
|
286
|
+
Time.parse(value)
|
|
258
287
|
when :Date
|
|
259
288
|
Date.parse(value)
|
|
260
289
|
when :String
|
|
@@ -263,7 +292,7 @@ module MuxRuby
|
|
|
263
292
|
value.to_i
|
|
264
293
|
when :Float
|
|
265
294
|
value.to_f
|
|
266
|
-
when :
|
|
295
|
+
when :Boolean
|
|
267
296
|
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
268
297
|
true
|
|
269
298
|
else
|
|
@@ -284,7 +313,9 @@ module MuxRuby
|
|
|
284
313
|
end
|
|
285
314
|
end
|
|
286
315
|
else # model
|
|
287
|
-
|
|
316
|
+
# models (e.g. Pet) or oneOf
|
|
317
|
+
klass = MuxRuby.const_get(type)
|
|
318
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
288
319
|
end
|
|
289
320
|
end
|
|
290
321
|
|
|
@@ -306,7 +337,11 @@ module MuxRuby
|
|
|
306
337
|
hash = {}
|
|
307
338
|
self.class.attribute_map.each_pair do |attr, param|
|
|
308
339
|
value = self.send(attr)
|
|
309
|
-
|
|
340
|
+
if value.nil?
|
|
341
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
342
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
343
|
+
end
|
|
344
|
+
|
|
310
345
|
hash[param] = _to_hash(value)
|
|
311
346
|
end
|
|
312
347
|
hash
|