mux_ruby 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (224) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +8 -0
  3. data/Gemfile.lock +79 -0
  4. data/LICENSE +7 -0
  5. data/README.md +121 -0
  6. data/Rakefile +10 -0
  7. data/docs/AbridgedVideoView.md +18 -0
  8. data/docs/Asset.md +27 -0
  9. data/docs/AssetErrors.md +9 -0
  10. data/docs/AssetMaster.md +9 -0
  11. data/docs/AssetResponse.md +8 -0
  12. data/docs/AssetStaticRenditions.md +9 -0
  13. data/docs/AssetStaticRenditionsFiles.md +13 -0
  14. data/docs/AssetsApi.md +476 -0
  15. data/docs/BreakdownValue.md +12 -0
  16. data/docs/CreateAssetRequest.md +13 -0
  17. data/docs/CreateLiveStreamRequest.md +9 -0
  18. data/docs/CreatePlaybackIDRequest.md +8 -0
  19. data/docs/CreatePlaybackIDResponse.md +8 -0
  20. data/docs/CreateUploadRequest.md +10 -0
  21. data/docs/DirectUploadsApi.md +214 -0
  22. data/docs/Error.md +15 -0
  23. data/docs/ErrorsApi.md +64 -0
  24. data/docs/ExportsApi.md +56 -0
  25. data/docs/FilterValue.md +9 -0
  26. data/docs/FiltersApi.md +118 -0
  27. data/docs/GetAssetInputInfoResponse.md +8 -0
  28. data/docs/GetAssetPlaybackIDResponse.md +8 -0
  29. data/docs/GetMetricTimeseriesDataResponse.md +10 -0
  30. data/docs/GetOverallValuesResponse.md +10 -0
  31. data/docs/InputFile.md +9 -0
  32. data/docs/InputInfo.md +9 -0
  33. data/docs/InputSettings.md +10 -0
  34. data/docs/InputSettingsOverlaySettings.md +14 -0
  35. data/docs/InputTrack.md +18 -0
  36. data/docs/Insight.md +13 -0
  37. data/docs/ListAllMetricValuesResponse.md +10 -0
  38. data/docs/ListAssetsResponse.md +8 -0
  39. data/docs/ListBreakdownValuesResponse.md +10 -0
  40. data/docs/ListErrorsResponse.md +10 -0
  41. data/docs/ListExportsResponse.md +10 -0
  42. data/docs/ListFilterValuesResponse.md +10 -0
  43. data/docs/ListFiltersResponse.md +10 -0
  44. data/docs/ListFiltersResponseData.md +9 -0
  45. data/docs/ListInsightsResponse.md +10 -0
  46. data/docs/ListLiveStreamsResponse.md +8 -0
  47. data/docs/ListSigningKeysResponse.md +8 -0
  48. data/docs/ListUploadsResponse.md +8 -0
  49. data/docs/ListVideoViewsResponse.md +10 -0
  50. data/docs/LiveStream.md +17 -0
  51. data/docs/LiveStreamResponse.md +8 -0
  52. data/docs/LiveStreamsApi.md +420 -0
  53. data/docs/Metric.md +12 -0
  54. data/docs/MetricsApi.md +322 -0
  55. data/docs/OverallValues.md +11 -0
  56. data/docs/PlaybackID.md +9 -0
  57. data/docs/PlaybackPolicy.md +7 -0
  58. data/docs/Score.md +13 -0
  59. data/docs/SignalLiveStreamCompleteResponse.md +8 -0
  60. data/docs/SigningKey.md +10 -0
  61. data/docs/SigningKeyResponse.md +8 -0
  62. data/docs/Track.md +17 -0
  63. data/docs/URLSigningKeysApi.md +215 -0
  64. data/docs/UpdateAssetMP4SupportRequest.md +8 -0
  65. data/docs/Upload.md +15 -0
  66. data/docs/UploadError.md +9 -0
  67. data/docs/UploadResponse.md +8 -0
  68. data/docs/VideoView.md +117 -0
  69. data/docs/VideoViewEvent.md +11 -0
  70. data/docs/VideoViewResponse.md +9 -0
  71. data/docs/VideoViewsApi.md +126 -0
  72. data/examples/data/exercise-errors.rb +23 -0
  73. data/examples/data/exercise-exports.rb +22 -0
  74. data/examples/data/exercise-filters.rb +29 -0
  75. data/examples/data/exercise-metrics.rb +52 -0
  76. data/examples/data/exercise-video-views.rb +30 -0
  77. data/examples/video/create-live-stream.rb +25 -0
  78. data/examples/video/exercise-assets.rb +95 -0
  79. data/examples/video/exercise-live-streams.rb +89 -0
  80. data/examples/video/exercise-signing-keys.rb +46 -0
  81. data/examples/video/exercise-uploads.rb +49 -0
  82. data/examples/video/ingest.rb +37 -0
  83. data/examples/video/list-everything.rb +48 -0
  84. data/github-ruby-sdk.png +0 -0
  85. data/lib/mux_ruby/api/assets_api.rb +507 -0
  86. data/lib/mux_ruby/api/direct_uploads_api.rb +224 -0
  87. data/lib/mux_ruby/api/errors_api.rb +69 -0
  88. data/lib/mux_ruby/api/exports_api.rb +63 -0
  89. data/lib/mux_ruby/api/filters_api.rb +128 -0
  90. data/lib/mux_ruby/api/live_streams_api.rb +440 -0
  91. data/lib/mux_ruby/api/metrics_api.rb +393 -0
  92. data/lib/mux_ruby/api/url_signing_keys_api.rb +219 -0
  93. data/lib/mux_ruby/api/video_views_api.rb +140 -0
  94. data/lib/mux_ruby/api_client.rb +400 -0
  95. data/lib/mux_ruby/api_error.rb +44 -0
  96. data/lib/mux_ruby/configuration.rb +244 -0
  97. data/lib/mux_ruby/models/abridged_video_view.rb +274 -0
  98. data/lib/mux_ruby/models/asset.rb +409 -0
  99. data/lib/mux_ruby/models/asset_errors.rb +195 -0
  100. data/lib/mux_ruby/models/asset_master.rb +193 -0
  101. data/lib/mux_ruby/models/asset_response.rb +184 -0
  102. data/lib/mux_ruby/models/asset_static_renditions.rb +232 -0
  103. data/lib/mux_ruby/models/asset_static_renditions_files.rb +279 -0
  104. data/lib/mux_ruby/models/breakdown_value.rb +220 -0
  105. data/lib/mux_ruby/models/create_asset_request.rb +267 -0
  106. data/lib/mux_ruby/models/create_live_stream_request.rb +195 -0
  107. data/lib/mux_ruby/models/create_playback_id_request.rb +184 -0
  108. data/lib/mux_ruby/models/create_playback_id_response.rb +184 -0
  109. data/lib/mux_ruby/models/create_upload_request.rb +235 -0
  110. data/lib/mux_ruby/models/error.rb +247 -0
  111. data/lib/mux_ruby/models/filter_value.rb +193 -0
  112. data/lib/mux_ruby/models/get_asset_input_info_response.rb +186 -0
  113. data/lib/mux_ruby/models/get_asset_playback_id_response.rb +184 -0
  114. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +206 -0
  115. data/lib/mux_ruby/models/get_overall_values_response.rb +204 -0
  116. data/lib/mux_ruby/models/input_file.rb +195 -0
  117. data/lib/mux_ruby/models/input_info.rb +193 -0
  118. data/lib/mux_ruby/models/input_settings.rb +203 -0
  119. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +238 -0
  120. data/lib/mux_ruby/models/input_track.rb +274 -0
  121. data/lib/mux_ruby/models/insight.rb +229 -0
  122. data/lib/mux_ruby/models/list_all_metric_values_response.rb +206 -0
  123. data/lib/mux_ruby/models/list_assets_response.rb +186 -0
  124. data/lib/mux_ruby/models/list_breakdown_values_response.rb +206 -0
  125. data/lib/mux_ruby/models/list_errors_response.rb +206 -0
  126. data/lib/mux_ruby/models/list_exports_response.rb +206 -0
  127. data/lib/mux_ruby/models/list_filter_values_response.rb +206 -0
  128. data/lib/mux_ruby/models/list_filters_response.rb +204 -0
  129. data/lib/mux_ruby/models/list_filters_response_data.rb +197 -0
  130. data/lib/mux_ruby/models/list_insights_response.rb +206 -0
  131. data/lib/mux_ruby/models/list_live_streams_response.rb +186 -0
  132. data/lib/mux_ruby/models/list_signing_keys_response.rb +186 -0
  133. data/lib/mux_ruby/models/list_uploads_response.rb +186 -0
  134. data/lib/mux_ruby/models/list_video_views_response.rb +206 -0
  135. data/lib/mux_ruby/models/live_stream.rb +269 -0
  136. data/lib/mux_ruby/models/live_stream_response.rb +184 -0
  137. data/lib/mux_ruby/models/metric.rb +220 -0
  138. data/lib/mux_ruby/models/overall_values.rb +211 -0
  139. data/lib/mux_ruby/models/playback_id.rb +193 -0
  140. data/lib/mux_ruby/models/playback_policy.rb +31 -0
  141. data/lib/mux_ruby/models/score.rb +231 -0
  142. data/lib/mux_ruby/models/signal_live_stream_complete_response.rb +184 -0
  143. data/lib/mux_ruby/models/signing_key.rb +202 -0
  144. data/lib/mux_ruby/models/signing_key_response.rb +184 -0
  145. data/lib/mux_ruby/models/track.rb +265 -0
  146. data/lib/mux_ruby/models/update_asset_mp4_support_request.rb +219 -0
  147. data/lib/mux_ruby/models/upload.rb +311 -0
  148. data/lib/mux_ruby/models/upload_error.rb +194 -0
  149. data/lib/mux_ruby/models/upload_response.rb +184 -0
  150. data/lib/mux_ruby/models/video_view.rb +1167 -0
  151. data/lib/mux_ruby/models/video_view_event.rb +211 -0
  152. data/lib/mux_ruby/models/video_view_response.rb +195 -0
  153. data/lib/mux_ruby/version.rb +8 -0
  154. data/lib/mux_ruby.rb +97 -0
  155. data/mux_ruby.gemspec +38 -0
  156. data/spec/api/assets_api_spec.rb +136 -0
  157. data/spec/api/direct_uploads_api_spec.rb +74 -0
  158. data/spec/api/errors_api_spec.rb +41 -0
  159. data/spec/api/exports_api_spec.rb +39 -0
  160. data/spec/api/filters_api_spec.rb +55 -0
  161. data/spec/api/live_streams_api_spec.rb +122 -0
  162. data/spec/api/metrics_api_spec.rb +110 -0
  163. data/spec/api/url_signing_keys_api_spec.rb +76 -0
  164. data/spec/api/video_views_api_spec.rb +58 -0
  165. data/spec/api_client_spec.rb +219 -0
  166. data/spec/configuration_spec.rb +35 -0
  167. data/spec/models/abridged_video_view_spec.rb +94 -0
  168. data/spec/models/asset_errors_spec.rb +40 -0
  169. data/spec/models/asset_master_spec.rb +40 -0
  170. data/spec/models/asset_response_spec.rb +34 -0
  171. data/spec/models/asset_spec.rb +156 -0
  172. data/spec/models/asset_static_renditions_files_spec.rb +72 -0
  173. data/spec/models/asset_static_renditions_spec.rb +44 -0
  174. data/spec/models/breakdown_value_spec.rb +58 -0
  175. data/spec/models/create_asset_request_spec.rb +68 -0
  176. data/spec/models/create_live_stream_request_spec.rb +40 -0
  177. data/spec/models/create_playback_id_request_spec.rb +34 -0
  178. data/spec/models/create_playback_id_response_spec.rb +34 -0
  179. data/spec/models/create_upload_request_spec.rb +46 -0
  180. data/spec/models/error_spec.rb +76 -0
  181. data/spec/models/filter_value_spec.rb +40 -0
  182. data/spec/models/get_asset_input_info_response_spec.rb +34 -0
  183. data/spec/models/get_asset_playback_id_response_spec.rb +34 -0
  184. data/spec/models/get_metric_timeseries_data_response_spec.rb +46 -0
  185. data/spec/models/get_overall_values_response_spec.rb +46 -0
  186. data/spec/models/input_file_spec.rb +40 -0
  187. data/spec/models/input_info_spec.rb +40 -0
  188. data/spec/models/input_settings_overlay_settings_spec.rb +70 -0
  189. data/spec/models/input_settings_spec.rb +46 -0
  190. data/spec/models/input_track_spec.rb +94 -0
  191. data/spec/models/insight_spec.rb +64 -0
  192. data/spec/models/list_all_metric_values_response_spec.rb +46 -0
  193. data/spec/models/list_assets_response_spec.rb +34 -0
  194. data/spec/models/list_breakdown_values_response_spec.rb +46 -0
  195. data/spec/models/list_errors_response_spec.rb +46 -0
  196. data/spec/models/list_exports_response_spec.rb +46 -0
  197. data/spec/models/list_filter_values_response_spec.rb +46 -0
  198. data/spec/models/list_filters_response_data_spec.rb +40 -0
  199. data/spec/models/list_filters_response_spec.rb +46 -0
  200. data/spec/models/list_insights_response_spec.rb +46 -0
  201. data/spec/models/list_live_streams_response_spec.rb +34 -0
  202. data/spec/models/list_signing_keys_response_spec.rb +34 -0
  203. data/spec/models/list_uploads_response_spec.rb +34 -0
  204. data/spec/models/list_video_views_response_spec.rb +46 -0
  205. data/spec/models/live_stream_response_spec.rb +34 -0
  206. data/spec/models/live_stream_spec.rb +88 -0
  207. data/spec/models/metric_spec.rb +58 -0
  208. data/spec/models/overall_values_spec.rb +52 -0
  209. data/spec/models/playback_id_spec.rb +40 -0
  210. data/spec/models/playback_policy_spec.rb +28 -0
  211. data/spec/models/score_spec.rb +64 -0
  212. data/spec/models/signal_live_stream_complete_response_spec.rb +34 -0
  213. data/spec/models/signing_key_response_spec.rb +34 -0
  214. data/spec/models/signing_key_spec.rb +46 -0
  215. data/spec/models/track_spec.rb +88 -0
  216. data/spec/models/update_asset_mp4_support_request_spec.rb +38 -0
  217. data/spec/models/upload_error_spec.rb +40 -0
  218. data/spec/models/upload_response_spec.rb +34 -0
  219. data/spec/models/upload_spec.rb +80 -0
  220. data/spec/models/video_view_event_spec.rb +52 -0
  221. data/spec/models/video_view_response_spec.rb +40 -0
  222. data/spec/models/video_view_spec.rb +688 -0
  223. data/spec/spec_helper.rb +104 -0
  224. metadata +514 -0
@@ -0,0 +1,211 @@
1
+ =begin
2
+ # Mux Ruby - Copyright 2019 Mux Inc.
3
+ # NOTE: This file is auto generated. Do not edit this file manually.
4
+ =end
5
+
6
+ require 'date'
7
+
8
+ module MuxRuby
9
+ class VideoViewEvent
10
+ attr_accessor :viewer_time
11
+
12
+ attr_accessor :playback_time
13
+
14
+ attr_accessor :name
15
+
16
+ attr_accessor :event_time
17
+
18
+ # Attribute mapping from ruby-style variable name to JSON key.
19
+ def self.attribute_map
20
+ {
21
+ :'viewer_time' => :'viewer_time',
22
+ :'playback_time' => :'playback_time',
23
+ :'name' => :'name',
24
+ :'event_time' => :'event_time'
25
+ }
26
+ end
27
+
28
+ # Attribute type mapping.
29
+ def self.openapi_types
30
+ {
31
+ :'viewer_time' => :'Integer',
32
+ :'playback_time' => :'Integer',
33
+ :'name' => :'String',
34
+ :'event_time' => :'Integer'
35
+ }
36
+ end
37
+
38
+ # Initializes the object
39
+ # @param [Hash] attributes Model attributes in the form of hash
40
+ def initialize(attributes = {})
41
+ return unless attributes.is_a?(Hash)
42
+
43
+ # convert string to symbol for hash key
44
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
45
+
46
+ if attributes.has_key?(:'viewer_time')
47
+ self.viewer_time = attributes[:'viewer_time']
48
+ end
49
+
50
+ if attributes.has_key?(:'playback_time')
51
+ self.playback_time = attributes[:'playback_time']
52
+ end
53
+
54
+ if attributes.has_key?(:'name')
55
+ self.name = attributes[:'name']
56
+ end
57
+
58
+ if attributes.has_key?(:'event_time')
59
+ self.event_time = attributes[:'event_time']
60
+ end
61
+ end
62
+
63
+ # Show invalid properties with the reasons. Usually used together with valid?
64
+ # @return Array for valid properties with the reasons
65
+ def list_invalid_properties
66
+ invalid_properties = Array.new
67
+ invalid_properties
68
+ end
69
+
70
+ # Check to see if the all the properties in the model are valid
71
+ # @return true if the model is valid
72
+ def valid?
73
+ true
74
+ end
75
+
76
+ # Checks equality by comparing each attribute.
77
+ # @param [Object] Object to be compared
78
+ def ==(o)
79
+ return true if self.equal?(o)
80
+ self.class == o.class &&
81
+ viewer_time == o.viewer_time &&
82
+ playback_time == o.playback_time &&
83
+ name == o.name &&
84
+ event_time == o.event_time
85
+ end
86
+
87
+ # @see the `==` method
88
+ # @param [Object] Object to be compared
89
+ def eql?(o)
90
+ self == o
91
+ end
92
+
93
+ # Calculates hash code according to all attributes.
94
+ # @return [Fixnum] Hash code
95
+ def hash
96
+ [viewer_time, playback_time, name, event_time].hash
97
+ end
98
+
99
+ # Builds the object from hash
100
+ # @param [Hash] attributes Model attributes in the form of hash
101
+ # @return [Object] Returns the model itself
102
+ def self.build_from_hash(attributes)
103
+ new.build_from_hash(attributes)
104
+ end
105
+
106
+ # Builds the object from hash
107
+ # @param [Hash] attributes Model attributes in the form of hash
108
+ # @return [Object] Returns the model itself
109
+ def build_from_hash(attributes)
110
+ return nil unless attributes.is_a?(Hash)
111
+ self.class.openapi_types.each_pair do |key, type|
112
+ if type =~ /\AArray<(.*)>/i
113
+ # check to ensure the input is an array given that the attribute
114
+ # is documented as an array but the input is not
115
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
116
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
117
+ end
118
+ elsif !attributes[self.class.attribute_map[key]].nil?
119
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
120
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
121
+ end
122
+
123
+ self
124
+ end
125
+
126
+ # Deserializes the data based on type
127
+ # @param string type Data type
128
+ # @param string value Value to be deserialized
129
+ # @return [Object] Deserialized data
130
+ def _deserialize(type, value)
131
+ case type.to_sym
132
+ when :DateTime
133
+ DateTime.parse(value)
134
+ when :Date
135
+ Date.parse(value)
136
+ when :String
137
+ value.to_s
138
+ when :Integer
139
+ value.to_i
140
+ when :Float
141
+ value.to_f
142
+ when :BOOLEAN
143
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
144
+ true
145
+ else
146
+ false
147
+ end
148
+ when :Object
149
+ # generic object (usually a Hash), return directly
150
+ value
151
+ when /\AArray<(?<inner_type>.+)>\z/
152
+ inner_type = Regexp.last_match[:inner_type]
153
+ value.map { |v| _deserialize(inner_type, v) }
154
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
155
+ k_type = Regexp.last_match[:k_type]
156
+ v_type = Regexp.last_match[:v_type]
157
+ {}.tap do |hash|
158
+ value.each do |k, v|
159
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
160
+ end
161
+ end
162
+ else # model
163
+ MuxRuby.const_get(type).build_from_hash(value)
164
+ end
165
+ end
166
+
167
+ # Returns the string representation of the object
168
+ # @return [String] String presentation of the object
169
+ def to_s
170
+ to_hash.to_s
171
+ end
172
+
173
+ # to_body is an alias to to_hash (backward compatibility)
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_body
176
+ to_hash
177
+ end
178
+
179
+ # Returns the object in the form of hash
180
+ # @return [Hash] Returns the object in the form of hash
181
+ def to_hash
182
+ hash = {}
183
+ self.class.attribute_map.each_pair do |attr, param|
184
+ value = self.send(attr)
185
+ next if value.nil?
186
+ hash[param] = _to_hash(value)
187
+ end
188
+ hash
189
+ end
190
+
191
+ # Outputs non-array value in the form of hash
192
+ # For object, use to_hash. Otherwise, just return the value
193
+ # @param [Object] value Any valid value
194
+ # @return [Hash] Returns the value in the form of hash
195
+ def _to_hash(value)
196
+ if value.is_a?(Array)
197
+ value.compact.map { |v| _to_hash(v) }
198
+ elsif value.is_a?(Hash)
199
+ {}.tap do |hash|
200
+ value.each { |k, v| hash[k] = _to_hash(v) }
201
+ end
202
+ elsif value.respond_to? :to_hash
203
+ value.to_hash
204
+ else
205
+ value
206
+ end
207
+ end
208
+
209
+ end
210
+
211
+ end
@@ -0,0 +1,195 @@
1
+ =begin
2
+ # Mux Ruby - Copyright 2019 Mux Inc.
3
+ # NOTE: This file is auto generated. Do not edit this file manually.
4
+ =end
5
+
6
+ require 'date'
7
+
8
+ module MuxRuby
9
+ class VideoViewResponse
10
+ attr_accessor :data
11
+
12
+ attr_accessor :timeframe
13
+
14
+ # Attribute mapping from ruby-style variable name to JSON key.
15
+ def self.attribute_map
16
+ {
17
+ :'data' => :'data',
18
+ :'timeframe' => :'timeframe'
19
+ }
20
+ end
21
+
22
+ # Attribute type mapping.
23
+ def self.openapi_types
24
+ {
25
+ :'data' => :'VideoView',
26
+ :'timeframe' => :'Array<String>'
27
+ }
28
+ end
29
+
30
+ # Initializes the object
31
+ # @param [Hash] attributes Model attributes in the form of hash
32
+ def initialize(attributes = {})
33
+ return unless attributes.is_a?(Hash)
34
+
35
+ # convert string to symbol for hash key
36
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
37
+
38
+ if attributes.has_key?(:'data')
39
+ self.data = attributes[:'data']
40
+ end
41
+
42
+ if attributes.has_key?(:'timeframe')
43
+ if (value = attributes[:'timeframe']).is_a?(Array)
44
+ self.timeframe = value
45
+ end
46
+ end
47
+ end
48
+
49
+ # Show invalid properties with the reasons. Usually used together with valid?
50
+ # @return Array for valid properties with the reasons
51
+ def list_invalid_properties
52
+ invalid_properties = Array.new
53
+ invalid_properties
54
+ end
55
+
56
+ # Check to see if the all the properties in the model are valid
57
+ # @return true if the model is valid
58
+ def valid?
59
+ true
60
+ end
61
+
62
+ # Checks equality by comparing each attribute.
63
+ # @param [Object] Object to be compared
64
+ def ==(o)
65
+ return true if self.equal?(o)
66
+ self.class == o.class &&
67
+ data == o.data &&
68
+ timeframe == o.timeframe
69
+ end
70
+
71
+ # @see the `==` method
72
+ # @param [Object] Object to be compared
73
+ def eql?(o)
74
+ self == o
75
+ end
76
+
77
+ # Calculates hash code according to all attributes.
78
+ # @return [Fixnum] Hash code
79
+ def hash
80
+ [data, timeframe].hash
81
+ end
82
+
83
+ # Builds the object from hash
84
+ # @param [Hash] attributes Model attributes in the form of hash
85
+ # @return [Object] Returns the model itself
86
+ def self.build_from_hash(attributes)
87
+ new.build_from_hash(attributes)
88
+ end
89
+
90
+ # Builds the object from hash
91
+ # @param [Hash] attributes Model attributes in the form of hash
92
+ # @return [Object] Returns the model itself
93
+ def build_from_hash(attributes)
94
+ return nil unless attributes.is_a?(Hash)
95
+ self.class.openapi_types.each_pair do |key, type|
96
+ if type =~ /\AArray<(.*)>/i
97
+ # check to ensure the input is an array given that the attribute
98
+ # is documented as an array but the input is not
99
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
100
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
101
+ end
102
+ elsif !attributes[self.class.attribute_map[key]].nil?
103
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
104
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
105
+ end
106
+
107
+ self
108
+ end
109
+
110
+ # Deserializes the data based on type
111
+ # @param string type Data type
112
+ # @param string value Value to be deserialized
113
+ # @return [Object] Deserialized data
114
+ def _deserialize(type, value)
115
+ case type.to_sym
116
+ when :DateTime
117
+ DateTime.parse(value)
118
+ when :Date
119
+ Date.parse(value)
120
+ when :String
121
+ value.to_s
122
+ when :Integer
123
+ value.to_i
124
+ when :Float
125
+ value.to_f
126
+ when :BOOLEAN
127
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
128
+ true
129
+ else
130
+ false
131
+ end
132
+ when :Object
133
+ # generic object (usually a Hash), return directly
134
+ value
135
+ when /\AArray<(?<inner_type>.+)>\z/
136
+ inner_type = Regexp.last_match[:inner_type]
137
+ value.map { |v| _deserialize(inner_type, v) }
138
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
139
+ k_type = Regexp.last_match[:k_type]
140
+ v_type = Regexp.last_match[:v_type]
141
+ {}.tap do |hash|
142
+ value.each do |k, v|
143
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
144
+ end
145
+ end
146
+ else # model
147
+ MuxRuby.const_get(type).build_from_hash(value)
148
+ end
149
+ end
150
+
151
+ # Returns the string representation of the object
152
+ # @return [String] String presentation of the object
153
+ def to_s
154
+ to_hash.to_s
155
+ end
156
+
157
+ # to_body is an alias to to_hash (backward compatibility)
158
+ # @return [Hash] Returns the object in the form of hash
159
+ def to_body
160
+ to_hash
161
+ end
162
+
163
+ # Returns the object in the form of hash
164
+ # @return [Hash] Returns the object in the form of hash
165
+ def to_hash
166
+ hash = {}
167
+ self.class.attribute_map.each_pair do |attr, param|
168
+ value = self.send(attr)
169
+ next if value.nil?
170
+ hash[param] = _to_hash(value)
171
+ end
172
+ hash
173
+ end
174
+
175
+ # Outputs non-array value in the form of hash
176
+ # For object, use to_hash. Otherwise, just return the value
177
+ # @param [Object] value Any valid value
178
+ # @return [Hash] Returns the value in the form of hash
179
+ def _to_hash(value)
180
+ if value.is_a?(Array)
181
+ value.compact.map { |v| _to_hash(v) }
182
+ elsif value.is_a?(Hash)
183
+ {}.tap do |hash|
184
+ value.each { |k, v| hash[k] = _to_hash(v) }
185
+ end
186
+ elsif value.respond_to? :to_hash
187
+ value.to_hash
188
+ else
189
+ value
190
+ end
191
+ end
192
+
193
+ end
194
+
195
+ end
@@ -0,0 +1,8 @@
1
+ =begin
2
+ # Mux Ruby - Copyright 2019 Mux Inc.
3
+ # NOTE: This file is auto generated. Do not edit this file manually.
4
+ =end
5
+
6
+ module MuxRuby
7
+ VERSION = '1.0.0'
8
+ end
data/lib/mux_ruby.rb ADDED
@@ -0,0 +1,97 @@
1
+ =begin
2
+ # Mux Ruby - Copyright 2019 Mux Inc.
3
+ # NOTE: This file is auto generated. Do not edit this file manually.
4
+ =end
5
+
6
+ # Common files
7
+ require 'mux_ruby/api_client'
8
+ require 'mux_ruby/api_error'
9
+ require 'mux_ruby/version'
10
+ require 'mux_ruby/configuration'
11
+
12
+ # Models
13
+ require 'mux_ruby/models/abridged_video_view'
14
+ require 'mux_ruby/models/asset'
15
+ require 'mux_ruby/models/asset_errors'
16
+ require 'mux_ruby/models/asset_master'
17
+ require 'mux_ruby/models/asset_response'
18
+ require 'mux_ruby/models/asset_static_renditions'
19
+ require 'mux_ruby/models/asset_static_renditions_files'
20
+ require 'mux_ruby/models/breakdown_value'
21
+ require 'mux_ruby/models/create_asset_request'
22
+ require 'mux_ruby/models/create_live_stream_request'
23
+ require 'mux_ruby/models/create_playback_id_request'
24
+ require 'mux_ruby/models/create_playback_id_response'
25
+ require 'mux_ruby/models/create_upload_request'
26
+ require 'mux_ruby/models/error'
27
+ require 'mux_ruby/models/filter_value'
28
+ require 'mux_ruby/models/get_asset_input_info_response'
29
+ require 'mux_ruby/models/get_asset_playback_id_response'
30
+ require 'mux_ruby/models/get_metric_timeseries_data_response'
31
+ require 'mux_ruby/models/get_overall_values_response'
32
+ require 'mux_ruby/models/input_file'
33
+ require 'mux_ruby/models/input_info'
34
+ require 'mux_ruby/models/input_settings'
35
+ require 'mux_ruby/models/input_settings_overlay_settings'
36
+ require 'mux_ruby/models/input_track'
37
+ require 'mux_ruby/models/insight'
38
+ require 'mux_ruby/models/list_all_metric_values_response'
39
+ require 'mux_ruby/models/list_assets_response'
40
+ require 'mux_ruby/models/list_breakdown_values_response'
41
+ require 'mux_ruby/models/list_errors_response'
42
+ require 'mux_ruby/models/list_exports_response'
43
+ require 'mux_ruby/models/list_filter_values_response'
44
+ require 'mux_ruby/models/list_filters_response'
45
+ require 'mux_ruby/models/list_filters_response_data'
46
+ require 'mux_ruby/models/list_insights_response'
47
+ require 'mux_ruby/models/list_live_streams_response'
48
+ require 'mux_ruby/models/list_signing_keys_response'
49
+ require 'mux_ruby/models/list_uploads_response'
50
+ require 'mux_ruby/models/list_video_views_response'
51
+ require 'mux_ruby/models/live_stream'
52
+ require 'mux_ruby/models/live_stream_response'
53
+ require 'mux_ruby/models/metric'
54
+ require 'mux_ruby/models/overall_values'
55
+ require 'mux_ruby/models/playback_id'
56
+ require 'mux_ruby/models/playback_policy'
57
+ require 'mux_ruby/models/score'
58
+ require 'mux_ruby/models/signal_live_stream_complete_response'
59
+ require 'mux_ruby/models/signing_key'
60
+ require 'mux_ruby/models/signing_key_response'
61
+ require 'mux_ruby/models/track'
62
+ require 'mux_ruby/models/update_asset_mp4_support_request'
63
+ require 'mux_ruby/models/upload'
64
+ require 'mux_ruby/models/upload_error'
65
+ require 'mux_ruby/models/upload_response'
66
+ require 'mux_ruby/models/video_view'
67
+ require 'mux_ruby/models/video_view_event'
68
+ require 'mux_ruby/models/video_view_response'
69
+
70
+ # APIs
71
+ require 'mux_ruby/api/assets_api'
72
+ require 'mux_ruby/api/direct_uploads_api'
73
+ require 'mux_ruby/api/errors_api'
74
+ require 'mux_ruby/api/exports_api'
75
+ require 'mux_ruby/api/filters_api'
76
+ require 'mux_ruby/api/live_streams_api'
77
+ require 'mux_ruby/api/metrics_api'
78
+ require 'mux_ruby/api/url_signing_keys_api'
79
+ require 'mux_ruby/api/video_views_api'
80
+
81
+ module MuxRuby
82
+ class << self
83
+ # Customize default settings for the SDK using block.
84
+ # MuxRuby.configure do |config|
85
+ # config.username = "xxx"
86
+ # config.password = "xxx"
87
+ # end
88
+ # If no block given, return the default Configuration object.
89
+ def configure
90
+ if block_given?
91
+ yield(Configuration.default)
92
+ else
93
+ Configuration.default
94
+ end
95
+ end
96
+ end
97
+ end
data/mux_ruby.gemspec ADDED
@@ -0,0 +1,38 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ =begin
4
+ # Mux Ruby - Copyright 2019 Mux Inc.
5
+ # NOTE: This file is auto generated. Do not edit this file manually.
6
+ =end
7
+
8
+ $:.push File.expand_path("../lib", __FILE__)
9
+ require "mux_ruby/version"
10
+
11
+ Gem::Specification.new do |s|
12
+ s.name = "mux_ruby"
13
+ s.version = MuxRuby::VERSION
14
+ s.platform = Gem::Platform::RUBY
15
+ s.authors = ["Mux SDK Developers"]
16
+ s.email = ["sdks@mux.com"]
17
+ s.homepage = "https://mux.com"
18
+ s.summary = "Ruby API wrapper for Mux"
19
+ s.description = "Ruby API wrapper for Mux"
20
+ s.license = "MIT"
21
+ s.required_ruby_version = ">= 1.9"
22
+
23
+ s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
24
+ s.add_runtime_dependency 'json', '~> 2.1', '>= 2.1.0'
25
+
26
+ s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
27
+ s.add_development_dependency 'vcr', '~> 3.0', '>= 3.0.1'
28
+ s.add_development_dependency 'webmock', '~> 1.24', '>= 1.24.3'
29
+ s.add_development_dependency 'autotest', '~> 4.4', '>= 4.4.6'
30
+ s.add_development_dependency 'autotest-rails-pure', '~> 4.1', '>= 4.1.2'
31
+ s.add_development_dependency 'autotest-growl', '~> 0.2', '>= 0.2.16'
32
+ s.add_development_dependency 'autotest-fsevent', '~> 0.2', '>= 0.2.12'
33
+
34
+ s.files = `find *`.split("\n").uniq.sort.select { |f| !f.empty? }
35
+ s.test_files = `find spec/*`.split("\n")
36
+ s.executables = []
37
+ s.require_paths = ["lib"]
38
+ end
@@ -0,0 +1,136 @@
1
+ =begin
2
+ # Mux Ruby - Copyright 2019 Mux Inc.
3
+ # NOTE: This file is auto generated. Do not edit this file manually.
4
+ =end
5
+
6
+ require 'spec_helper'
7
+ require 'json'
8
+
9
+ # Unit tests for MuxRuby::AssetsApi
10
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
11
+ # Please update as you see appropriate
12
+ describe 'AssetsApi' do
13
+ before do
14
+ # run before each test
15
+ @instance = MuxRuby::AssetsApi.new
16
+ end
17
+
18
+ after do
19
+ # run after each test
20
+ end
21
+
22
+ describe 'test an instance of AssetsApi' do
23
+ it 'should create an instance of AssetsApi' do
24
+ expect(@instance).to be_instance_of(MuxRuby::AssetsApi)
25
+ end
26
+ end
27
+
28
+ # unit tests for create_asset
29
+ # Create an asset
30
+ # Create a new Mux Video asset.
31
+ # @param create_asset_request
32
+ # @param [Hash] opts the optional parameters
33
+ # @return [AssetResponse]
34
+ describe 'create_asset test' do
35
+ it 'should work' do
36
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
+ end
38
+ end
39
+
40
+ # unit tests for create_asset_playback_id
41
+ # Create a playback ID
42
+ # @param asset_id The asset ID.
43
+ # @param create_playback_id_request
44
+ # @param [Hash] opts the optional parameters
45
+ # @return [CreatePlaybackIDResponse]
46
+ describe 'create_asset_playback_id test' do
47
+ it 'should work' do
48
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
49
+ end
50
+ end
51
+
52
+ # unit tests for delete_asset
53
+ # Delete an asset
54
+ # @param asset_id The asset ID.
55
+ # @param [Hash] opts the optional parameters
56
+ # @return [nil]
57
+ describe 'delete_asset test' do
58
+ it 'should work' do
59
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
60
+ end
61
+ end
62
+
63
+ # unit tests for delete_asset_playback_id
64
+ # Delete a playback ID
65
+ # @param asset_id The asset ID.
66
+ # @param playback_id The live stream&#39;s playback ID.
67
+ # @param [Hash] opts the optional parameters
68
+ # @return [nil]
69
+ describe 'delete_asset_playback_id test' do
70
+ it 'should work' do
71
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
72
+ end
73
+ end
74
+
75
+ # unit tests for get_asset
76
+ # Retrieve an asset
77
+ # Retrieves the details of an asset that has previously been created. Supply the unique asset ID that was returned from your previous request, and Mux will return the corresponding asset information. The same information is returned when creating an asset.
78
+ # @param asset_id The asset ID.
79
+ # @param [Hash] opts the optional parameters
80
+ # @return [AssetResponse]
81
+ describe 'get_asset test' do
82
+ it 'should work' do
83
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
84
+ end
85
+ end
86
+
87
+ # unit tests for get_asset_input_info
88
+ # Retrieve asset input info
89
+ # Returns a list of the input objects that were used to create the asset along with any settings that were applied to each input.
90
+ # @param asset_id The asset ID.
91
+ # @param [Hash] opts the optional parameters
92
+ # @return [GetAssetInputInfoResponse]
93
+ describe 'get_asset_input_info test' do
94
+ it 'should work' do
95
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
96
+ end
97
+ end
98
+
99
+ # unit tests for get_asset_playback_id
100
+ # Retrieve a playback ID
101
+ # @param asset_id The asset ID.
102
+ # @param playback_id The live stream&#39;s playback ID.
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [GetAssetPlaybackIDResponse]
105
+ describe 'get_asset_playback_id test' do
106
+ it 'should work' do
107
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
108
+ end
109
+ end
110
+
111
+ # unit tests for list_assets
112
+ # List assets
113
+ # @param [Hash] opts the optional parameters
114
+ # @option opts [Integer] :limit Number of items to include in the response
115
+ # @option opts [Integer] :page Offset by this many pages, of the size of &#x60;limit&#x60;
116
+ # @return [ListAssetsResponse]
117
+ describe 'list_assets test' do
118
+ it 'should work' do
119
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
120
+ end
121
+ end
122
+
123
+ # unit tests for update_asset_mp4_support
124
+ # Update MP4 support
125
+ # Allows you add or remove mp4 support for assets that were created without it. Currently there are two values supported in this request, &#x60;standard&#x60; and &#x60;none&#x60;. &#x60;none&#x60; means that an asset *does not* have mp4 support, so submitting a request with &#x60;mp4_support&#x60; set to &#x60;none&#x60; will delete the mp4 assets from the asset in question.
126
+ # @param asset_id The asset ID.
127
+ # @param update_asset_mp4_support_request
128
+ # @param [Hash] opts the optional parameters
129
+ # @return [AssetResponse]
130
+ describe 'update_asset_mp4_support test' do
131
+ it 'should work' do
132
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
133
+ end
134
+ end
135
+
136
+ end