mux_ruby 1.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.
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,1167 @@
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 VideoView
10
+ attr_accessor :view_total_upscaling
11
+
12
+ attr_accessor :preroll_ad_asset_hostname
13
+
14
+ attr_accessor :player_source_domain
15
+
16
+ attr_accessor :region
17
+
18
+ attr_accessor :viewer_user_agent
19
+
20
+ attr_accessor :preroll_requested
21
+
22
+ attr_accessor :page_type
23
+
24
+ attr_accessor :startup_score
25
+
26
+ attr_accessor :view_seek_duration
27
+
28
+ attr_accessor :country_name
29
+
30
+ attr_accessor :player_source_height
31
+
32
+ attr_accessor :longitude
33
+
34
+ attr_accessor :buffering_count
35
+
36
+ attr_accessor :video_duration
37
+
38
+ attr_accessor :player_source_type
39
+
40
+ attr_accessor :city
41
+
42
+ attr_accessor :view_id
43
+
44
+ attr_accessor :platform_description
45
+
46
+ attr_accessor :video_startup_preroll_request_time
47
+
48
+ attr_accessor :viewer_device_name
49
+
50
+ attr_accessor :video_series
51
+
52
+ attr_accessor :viewer_application_name
53
+
54
+ attr_accessor :updated_at
55
+
56
+ attr_accessor :view_total_content_playback_time
57
+
58
+ attr_accessor :cdn
59
+
60
+ attr_accessor :player_instance_id
61
+
62
+ attr_accessor :video_language
63
+
64
+ attr_accessor :player_source_width
65
+
66
+ attr_accessor :player_error_message
67
+
68
+ attr_accessor :player_mux_plugin_version
69
+
70
+ attr_accessor :watched
71
+
72
+ attr_accessor :playback_score
73
+
74
+ attr_accessor :page_url
75
+
76
+ attr_accessor :metro
77
+
78
+ attr_accessor :view_max_request_latency
79
+
80
+ attr_accessor :requests_for_first_preroll
81
+
82
+ attr_accessor :view_total_downscaling
83
+
84
+ attr_accessor :latitude
85
+
86
+ attr_accessor :player_source_host_name
87
+
88
+ attr_accessor :inserted_at
89
+
90
+ attr_accessor :view_end
91
+
92
+ attr_accessor :mux_embed_version
93
+
94
+ attr_accessor :player_language
95
+
96
+ attr_accessor :page_load_time
97
+
98
+ attr_accessor :viewer_device_category
99
+
100
+ attr_accessor :video_startup_preroll_load_time
101
+
102
+ attr_accessor :player_version
103
+
104
+ attr_accessor :watch_time
105
+
106
+ attr_accessor :player_source_stream_type
107
+
108
+ attr_accessor :preroll_ad_tag_hostname
109
+
110
+ attr_accessor :viewer_device_manufacturer
111
+
112
+ attr_accessor :rebuffering_score
113
+
114
+ attr_accessor :experiment_name
115
+
116
+ attr_accessor :viewer_os_version
117
+
118
+ attr_accessor :player_preload
119
+
120
+ attr_accessor :buffering_duration
121
+
122
+ attr_accessor :player_view_count
123
+
124
+ attr_accessor :player_software
125
+
126
+ attr_accessor :player_load_time
127
+
128
+ attr_accessor :platform_summary
129
+
130
+ attr_accessor :video_encoding_variant
131
+
132
+ attr_accessor :player_width
133
+
134
+ attr_accessor :view_seek_count
135
+
136
+ attr_accessor :viewer_experience_score
137
+
138
+ attr_accessor :view_error_id
139
+
140
+ attr_accessor :video_variant_name
141
+
142
+ attr_accessor :preroll_played
143
+
144
+ attr_accessor :viewer_application_engine
145
+
146
+ attr_accessor :viewer_os_architecture
147
+
148
+ attr_accessor :player_error_code
149
+
150
+ attr_accessor :buffering_rate
151
+
152
+ attr_accessor :events
153
+
154
+ attr_accessor :player_name
155
+
156
+ attr_accessor :view_start
157
+
158
+ attr_accessor :view_average_request_throughput
159
+
160
+ attr_accessor :video_producer
161
+
162
+ attr_accessor :error_type_id
163
+
164
+ attr_accessor :mux_viewer_id
165
+
166
+ attr_accessor :video_id
167
+
168
+ attr_accessor :continent_code
169
+
170
+ attr_accessor :session_id
171
+
172
+ attr_accessor :exit_before_video_start
173
+
174
+ attr_accessor :video_content_type
175
+
176
+ attr_accessor :viewer_os_family
177
+
178
+ attr_accessor :player_poster
179
+
180
+ attr_accessor :view_average_request_latency
181
+
182
+ attr_accessor :video_variant_id
183
+
184
+ attr_accessor :player_source_duration
185
+
186
+ attr_accessor :player_source_url
187
+
188
+ attr_accessor :mux_api_version
189
+
190
+ attr_accessor :video_title
191
+
192
+ attr_accessor :id
193
+
194
+ attr_accessor :short_time
195
+
196
+ attr_accessor :rebuffer_percentage
197
+
198
+ attr_accessor :time_to_first_frame
199
+
200
+ attr_accessor :viewer_user_id
201
+
202
+ attr_accessor :video_stream_type
203
+
204
+ attr_accessor :player_startup_time
205
+
206
+ attr_accessor :viewer_application_version
207
+
208
+ attr_accessor :view_max_downscale_percentage
209
+
210
+ attr_accessor :view_max_upscale_percentage
211
+
212
+ attr_accessor :country_code
213
+
214
+ attr_accessor :used_fullscreen
215
+
216
+ attr_accessor :isp
217
+
218
+ attr_accessor :property_id
219
+
220
+ attr_accessor :player_autoplay
221
+
222
+ attr_accessor :player_height
223
+
224
+ attr_accessor :asn
225
+
226
+ attr_accessor :quality_score
227
+
228
+ attr_accessor :player_software_version
229
+
230
+ # Attribute mapping from ruby-style variable name to JSON key.
231
+ def self.attribute_map
232
+ {
233
+ :'view_total_upscaling' => :'view_total_upscaling',
234
+ :'preroll_ad_asset_hostname' => :'preroll_ad_asset_hostname',
235
+ :'player_source_domain' => :'player_source_domain',
236
+ :'region' => :'region',
237
+ :'viewer_user_agent' => :'viewer_user_agent',
238
+ :'preroll_requested' => :'preroll_requested',
239
+ :'page_type' => :'page_type',
240
+ :'startup_score' => :'startup_score',
241
+ :'view_seek_duration' => :'view_seek_duration',
242
+ :'country_name' => :'country_name',
243
+ :'player_source_height' => :'player_source_height',
244
+ :'longitude' => :'longitude',
245
+ :'buffering_count' => :'buffering_count',
246
+ :'video_duration' => :'video_duration',
247
+ :'player_source_type' => :'player_source_type',
248
+ :'city' => :'city',
249
+ :'view_id' => :'view_id',
250
+ :'platform_description' => :'platform_description',
251
+ :'video_startup_preroll_request_time' => :'video_startup_preroll_request_time',
252
+ :'viewer_device_name' => :'viewer_device_name',
253
+ :'video_series' => :'video_series',
254
+ :'viewer_application_name' => :'viewer_application_name',
255
+ :'updated_at' => :'updated_at',
256
+ :'view_total_content_playback_time' => :'view_total_content_playback_time',
257
+ :'cdn' => :'cdn',
258
+ :'player_instance_id' => :'player_instance_id',
259
+ :'video_language' => :'video_language',
260
+ :'player_source_width' => :'player_source_width',
261
+ :'player_error_message' => :'player_error_message',
262
+ :'player_mux_plugin_version' => :'player_mux_plugin_version',
263
+ :'watched' => :'watched',
264
+ :'playback_score' => :'playback_score',
265
+ :'page_url' => :'page_url',
266
+ :'metro' => :'metro',
267
+ :'view_max_request_latency' => :'view_max_request_latency',
268
+ :'requests_for_first_preroll' => :'requests_for_first_preroll',
269
+ :'view_total_downscaling' => :'view_total_downscaling',
270
+ :'latitude' => :'latitude',
271
+ :'player_source_host_name' => :'player_source_host_name',
272
+ :'inserted_at' => :'inserted_at',
273
+ :'view_end' => :'view_end',
274
+ :'mux_embed_version' => :'mux_embed_version',
275
+ :'player_language' => :'player_language',
276
+ :'page_load_time' => :'page_load_time',
277
+ :'viewer_device_category' => :'viewer_device_category',
278
+ :'video_startup_preroll_load_time' => :'video_startup_preroll_load_time',
279
+ :'player_version' => :'player_version',
280
+ :'watch_time' => :'watch_time',
281
+ :'player_source_stream_type' => :'player_source_stream_type',
282
+ :'preroll_ad_tag_hostname' => :'preroll_ad_tag_hostname',
283
+ :'viewer_device_manufacturer' => :'viewer_device_manufacturer',
284
+ :'rebuffering_score' => :'rebuffering_score',
285
+ :'experiment_name' => :'experiment_name',
286
+ :'viewer_os_version' => :'viewer_os_version',
287
+ :'player_preload' => :'player_preload',
288
+ :'buffering_duration' => :'buffering_duration',
289
+ :'player_view_count' => :'player_view_count',
290
+ :'player_software' => :'player_software',
291
+ :'player_load_time' => :'player_load_time',
292
+ :'platform_summary' => :'platform_summary',
293
+ :'video_encoding_variant' => :'video_encoding_variant',
294
+ :'player_width' => :'player_width',
295
+ :'view_seek_count' => :'view_seek_count',
296
+ :'viewer_experience_score' => :'viewer_experience_score',
297
+ :'view_error_id' => :'view_error_id',
298
+ :'video_variant_name' => :'video_variant_name',
299
+ :'preroll_played' => :'preroll_played',
300
+ :'viewer_application_engine' => :'viewer_application_engine',
301
+ :'viewer_os_architecture' => :'viewer_os_architecture',
302
+ :'player_error_code' => :'player_error_code',
303
+ :'buffering_rate' => :'buffering_rate',
304
+ :'events' => :'events',
305
+ :'player_name' => :'player_name',
306
+ :'view_start' => :'view_start',
307
+ :'view_average_request_throughput' => :'view_average_request_throughput',
308
+ :'video_producer' => :'video_producer',
309
+ :'error_type_id' => :'error_type_id',
310
+ :'mux_viewer_id' => :'mux_viewer_id',
311
+ :'video_id' => :'video_id',
312
+ :'continent_code' => :'continent_code',
313
+ :'session_id' => :'session_id',
314
+ :'exit_before_video_start' => :'exit_before_video_start',
315
+ :'video_content_type' => :'video_content_type',
316
+ :'viewer_os_family' => :'viewer_os_family',
317
+ :'player_poster' => :'player_poster',
318
+ :'view_average_request_latency' => :'view_average_request_latency',
319
+ :'video_variant_id' => :'video_variant_id',
320
+ :'player_source_duration' => :'player_source_duration',
321
+ :'player_source_url' => :'player_source_url',
322
+ :'mux_api_version' => :'mux_api_version',
323
+ :'video_title' => :'video_title',
324
+ :'id' => :'id',
325
+ :'short_time' => :'short_time',
326
+ :'rebuffer_percentage' => :'rebuffer_percentage',
327
+ :'time_to_first_frame' => :'time_to_first_frame',
328
+ :'viewer_user_id' => :'viewer_user_id',
329
+ :'video_stream_type' => :'video_stream_type',
330
+ :'player_startup_time' => :'player_startup_time',
331
+ :'viewer_application_version' => :'viewer_application_version',
332
+ :'view_max_downscale_percentage' => :'view_max_downscale_percentage',
333
+ :'view_max_upscale_percentage' => :'view_max_upscale_percentage',
334
+ :'country_code' => :'country_code',
335
+ :'used_fullscreen' => :'used_fullscreen',
336
+ :'isp' => :'isp',
337
+ :'property_id' => :'property_id',
338
+ :'player_autoplay' => :'player_autoplay',
339
+ :'player_height' => :'player_height',
340
+ :'asn' => :'asn',
341
+ :'quality_score' => :'quality_score',
342
+ :'player_software_version' => :'player_software_version'
343
+ }
344
+ end
345
+
346
+ # Attribute type mapping.
347
+ def self.openapi_types
348
+ {
349
+ :'view_total_upscaling' => :'String',
350
+ :'preroll_ad_asset_hostname' => :'String',
351
+ :'player_source_domain' => :'String',
352
+ :'region' => :'String',
353
+ :'viewer_user_agent' => :'String',
354
+ :'preroll_requested' => :'BOOLEAN',
355
+ :'page_type' => :'String',
356
+ :'startup_score' => :'String',
357
+ :'view_seek_duration' => :'String',
358
+ :'country_name' => :'String',
359
+ :'player_source_height' => :'Integer',
360
+ :'longitude' => :'String',
361
+ :'buffering_count' => :'String',
362
+ :'video_duration' => :'String',
363
+ :'player_source_type' => :'String',
364
+ :'city' => :'String',
365
+ :'view_id' => :'String',
366
+ :'platform_description' => :'String',
367
+ :'video_startup_preroll_request_time' => :'String',
368
+ :'viewer_device_name' => :'String',
369
+ :'video_series' => :'String',
370
+ :'viewer_application_name' => :'String',
371
+ :'updated_at' => :'String',
372
+ :'view_total_content_playback_time' => :'String',
373
+ :'cdn' => :'String',
374
+ :'player_instance_id' => :'String',
375
+ :'video_language' => :'String',
376
+ :'player_source_width' => :'Integer',
377
+ :'player_error_message' => :'String',
378
+ :'player_mux_plugin_version' => :'String',
379
+ :'watched' => :'BOOLEAN',
380
+ :'playback_score' => :'String',
381
+ :'page_url' => :'String',
382
+ :'metro' => :'String',
383
+ :'view_max_request_latency' => :'String',
384
+ :'requests_for_first_preroll' => :'String',
385
+ :'view_total_downscaling' => :'String',
386
+ :'latitude' => :'String',
387
+ :'player_source_host_name' => :'String',
388
+ :'inserted_at' => :'String',
389
+ :'view_end' => :'String',
390
+ :'mux_embed_version' => :'String',
391
+ :'player_language' => :'String',
392
+ :'page_load_time' => :'Integer',
393
+ :'viewer_device_category' => :'String',
394
+ :'video_startup_preroll_load_time' => :'String',
395
+ :'player_version' => :'String',
396
+ :'watch_time' => :'Integer',
397
+ :'player_source_stream_type' => :'String',
398
+ :'preroll_ad_tag_hostname' => :'String',
399
+ :'viewer_device_manufacturer' => :'String',
400
+ :'rebuffering_score' => :'String',
401
+ :'experiment_name' => :'String',
402
+ :'viewer_os_version' => :'String',
403
+ :'player_preload' => :'BOOLEAN',
404
+ :'buffering_duration' => :'String',
405
+ :'player_view_count' => :'Integer',
406
+ :'player_software' => :'String',
407
+ :'player_load_time' => :'String',
408
+ :'platform_summary' => :'String',
409
+ :'video_encoding_variant' => :'String',
410
+ :'player_width' => :'Integer',
411
+ :'view_seek_count' => :'String',
412
+ :'viewer_experience_score' => :'String',
413
+ :'view_error_id' => :'Integer',
414
+ :'video_variant_name' => :'String',
415
+ :'preroll_played' => :'BOOLEAN',
416
+ :'viewer_application_engine' => :'String',
417
+ :'viewer_os_architecture' => :'String',
418
+ :'player_error_code' => :'String',
419
+ :'buffering_rate' => :'String',
420
+ :'events' => :'Array<VideoViewEvent>',
421
+ :'player_name' => :'String',
422
+ :'view_start' => :'String',
423
+ :'view_average_request_throughput' => :'String',
424
+ :'video_producer' => :'String',
425
+ :'error_type_id' => :'Integer',
426
+ :'mux_viewer_id' => :'String',
427
+ :'video_id' => :'String',
428
+ :'continent_code' => :'String',
429
+ :'session_id' => :'String',
430
+ :'exit_before_video_start' => :'BOOLEAN',
431
+ :'video_content_type' => :'String',
432
+ :'viewer_os_family' => :'String',
433
+ :'player_poster' => :'String',
434
+ :'view_average_request_latency' => :'String',
435
+ :'video_variant_id' => :'String',
436
+ :'player_source_duration' => :'Integer',
437
+ :'player_source_url' => :'String',
438
+ :'mux_api_version' => :'String',
439
+ :'video_title' => :'String',
440
+ :'id' => :'String',
441
+ :'short_time' => :'String',
442
+ :'rebuffer_percentage' => :'String',
443
+ :'time_to_first_frame' => :'String',
444
+ :'viewer_user_id' => :'String',
445
+ :'video_stream_type' => :'String',
446
+ :'player_startup_time' => :'Integer',
447
+ :'viewer_application_version' => :'String',
448
+ :'view_max_downscale_percentage' => :'String',
449
+ :'view_max_upscale_percentage' => :'String',
450
+ :'country_code' => :'String',
451
+ :'used_fullscreen' => :'BOOLEAN',
452
+ :'isp' => :'String',
453
+ :'property_id' => :'Integer',
454
+ :'player_autoplay' => :'BOOLEAN',
455
+ :'player_height' => :'Integer',
456
+ :'asn' => :'Integer',
457
+ :'quality_score' => :'String',
458
+ :'player_software_version' => :'String'
459
+ }
460
+ end
461
+
462
+ # Initializes the object
463
+ # @param [Hash] attributes Model attributes in the form of hash
464
+ def initialize(attributes = {})
465
+ return unless attributes.is_a?(Hash)
466
+
467
+ # convert string to symbol for hash key
468
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
469
+
470
+ if attributes.has_key?(:'view_total_upscaling')
471
+ self.view_total_upscaling = attributes[:'view_total_upscaling']
472
+ end
473
+
474
+ if attributes.has_key?(:'preroll_ad_asset_hostname')
475
+ self.preroll_ad_asset_hostname = attributes[:'preroll_ad_asset_hostname']
476
+ end
477
+
478
+ if attributes.has_key?(:'player_source_domain')
479
+ self.player_source_domain = attributes[:'player_source_domain']
480
+ end
481
+
482
+ if attributes.has_key?(:'region')
483
+ self.region = attributes[:'region']
484
+ end
485
+
486
+ if attributes.has_key?(:'viewer_user_agent')
487
+ self.viewer_user_agent = attributes[:'viewer_user_agent']
488
+ end
489
+
490
+ if attributes.has_key?(:'preroll_requested')
491
+ self.preroll_requested = attributes[:'preroll_requested']
492
+ end
493
+
494
+ if attributes.has_key?(:'page_type')
495
+ self.page_type = attributes[:'page_type']
496
+ end
497
+
498
+ if attributes.has_key?(:'startup_score')
499
+ self.startup_score = attributes[:'startup_score']
500
+ end
501
+
502
+ if attributes.has_key?(:'view_seek_duration')
503
+ self.view_seek_duration = attributes[:'view_seek_duration']
504
+ end
505
+
506
+ if attributes.has_key?(:'country_name')
507
+ self.country_name = attributes[:'country_name']
508
+ end
509
+
510
+ if attributes.has_key?(:'player_source_height')
511
+ self.player_source_height = attributes[:'player_source_height']
512
+ end
513
+
514
+ if attributes.has_key?(:'longitude')
515
+ self.longitude = attributes[:'longitude']
516
+ end
517
+
518
+ if attributes.has_key?(:'buffering_count')
519
+ self.buffering_count = attributes[:'buffering_count']
520
+ end
521
+
522
+ if attributes.has_key?(:'video_duration')
523
+ self.video_duration = attributes[:'video_duration']
524
+ end
525
+
526
+ if attributes.has_key?(:'player_source_type')
527
+ self.player_source_type = attributes[:'player_source_type']
528
+ end
529
+
530
+ if attributes.has_key?(:'city')
531
+ self.city = attributes[:'city']
532
+ end
533
+
534
+ if attributes.has_key?(:'view_id')
535
+ self.view_id = attributes[:'view_id']
536
+ end
537
+
538
+ if attributes.has_key?(:'platform_description')
539
+ self.platform_description = attributes[:'platform_description']
540
+ end
541
+
542
+ if attributes.has_key?(:'video_startup_preroll_request_time')
543
+ self.video_startup_preroll_request_time = attributes[:'video_startup_preroll_request_time']
544
+ end
545
+
546
+ if attributes.has_key?(:'viewer_device_name')
547
+ self.viewer_device_name = attributes[:'viewer_device_name']
548
+ end
549
+
550
+ if attributes.has_key?(:'video_series')
551
+ self.video_series = attributes[:'video_series']
552
+ end
553
+
554
+ if attributes.has_key?(:'viewer_application_name')
555
+ self.viewer_application_name = attributes[:'viewer_application_name']
556
+ end
557
+
558
+ if attributes.has_key?(:'updated_at')
559
+ self.updated_at = attributes[:'updated_at']
560
+ end
561
+
562
+ if attributes.has_key?(:'view_total_content_playback_time')
563
+ self.view_total_content_playback_time = attributes[:'view_total_content_playback_time']
564
+ end
565
+
566
+ if attributes.has_key?(:'cdn')
567
+ self.cdn = attributes[:'cdn']
568
+ end
569
+
570
+ if attributes.has_key?(:'player_instance_id')
571
+ self.player_instance_id = attributes[:'player_instance_id']
572
+ end
573
+
574
+ if attributes.has_key?(:'video_language')
575
+ self.video_language = attributes[:'video_language']
576
+ end
577
+
578
+ if attributes.has_key?(:'player_source_width')
579
+ self.player_source_width = attributes[:'player_source_width']
580
+ end
581
+
582
+ if attributes.has_key?(:'player_error_message')
583
+ self.player_error_message = attributes[:'player_error_message']
584
+ end
585
+
586
+ if attributes.has_key?(:'player_mux_plugin_version')
587
+ self.player_mux_plugin_version = attributes[:'player_mux_plugin_version']
588
+ end
589
+
590
+ if attributes.has_key?(:'watched')
591
+ self.watched = attributes[:'watched']
592
+ end
593
+
594
+ if attributes.has_key?(:'playback_score')
595
+ self.playback_score = attributes[:'playback_score']
596
+ end
597
+
598
+ if attributes.has_key?(:'page_url')
599
+ self.page_url = attributes[:'page_url']
600
+ end
601
+
602
+ if attributes.has_key?(:'metro')
603
+ self.metro = attributes[:'metro']
604
+ end
605
+
606
+ if attributes.has_key?(:'view_max_request_latency')
607
+ self.view_max_request_latency = attributes[:'view_max_request_latency']
608
+ end
609
+
610
+ if attributes.has_key?(:'requests_for_first_preroll')
611
+ self.requests_for_first_preroll = attributes[:'requests_for_first_preroll']
612
+ end
613
+
614
+ if attributes.has_key?(:'view_total_downscaling')
615
+ self.view_total_downscaling = attributes[:'view_total_downscaling']
616
+ end
617
+
618
+ if attributes.has_key?(:'latitude')
619
+ self.latitude = attributes[:'latitude']
620
+ end
621
+
622
+ if attributes.has_key?(:'player_source_host_name')
623
+ self.player_source_host_name = attributes[:'player_source_host_name']
624
+ end
625
+
626
+ if attributes.has_key?(:'inserted_at')
627
+ self.inserted_at = attributes[:'inserted_at']
628
+ end
629
+
630
+ if attributes.has_key?(:'view_end')
631
+ self.view_end = attributes[:'view_end']
632
+ end
633
+
634
+ if attributes.has_key?(:'mux_embed_version')
635
+ self.mux_embed_version = attributes[:'mux_embed_version']
636
+ end
637
+
638
+ if attributes.has_key?(:'player_language')
639
+ self.player_language = attributes[:'player_language']
640
+ end
641
+
642
+ if attributes.has_key?(:'page_load_time')
643
+ self.page_load_time = attributes[:'page_load_time']
644
+ end
645
+
646
+ if attributes.has_key?(:'viewer_device_category')
647
+ self.viewer_device_category = attributes[:'viewer_device_category']
648
+ end
649
+
650
+ if attributes.has_key?(:'video_startup_preroll_load_time')
651
+ self.video_startup_preroll_load_time = attributes[:'video_startup_preroll_load_time']
652
+ end
653
+
654
+ if attributes.has_key?(:'player_version')
655
+ self.player_version = attributes[:'player_version']
656
+ end
657
+
658
+ if attributes.has_key?(:'watch_time')
659
+ self.watch_time = attributes[:'watch_time']
660
+ end
661
+
662
+ if attributes.has_key?(:'player_source_stream_type')
663
+ self.player_source_stream_type = attributes[:'player_source_stream_type']
664
+ end
665
+
666
+ if attributes.has_key?(:'preroll_ad_tag_hostname')
667
+ self.preroll_ad_tag_hostname = attributes[:'preroll_ad_tag_hostname']
668
+ end
669
+
670
+ if attributes.has_key?(:'viewer_device_manufacturer')
671
+ self.viewer_device_manufacturer = attributes[:'viewer_device_manufacturer']
672
+ end
673
+
674
+ if attributes.has_key?(:'rebuffering_score')
675
+ self.rebuffering_score = attributes[:'rebuffering_score']
676
+ end
677
+
678
+ if attributes.has_key?(:'experiment_name')
679
+ self.experiment_name = attributes[:'experiment_name']
680
+ end
681
+
682
+ if attributes.has_key?(:'viewer_os_version')
683
+ self.viewer_os_version = attributes[:'viewer_os_version']
684
+ end
685
+
686
+ if attributes.has_key?(:'player_preload')
687
+ self.player_preload = attributes[:'player_preload']
688
+ end
689
+
690
+ if attributes.has_key?(:'buffering_duration')
691
+ self.buffering_duration = attributes[:'buffering_duration']
692
+ end
693
+
694
+ if attributes.has_key?(:'player_view_count')
695
+ self.player_view_count = attributes[:'player_view_count']
696
+ end
697
+
698
+ if attributes.has_key?(:'player_software')
699
+ self.player_software = attributes[:'player_software']
700
+ end
701
+
702
+ if attributes.has_key?(:'player_load_time')
703
+ self.player_load_time = attributes[:'player_load_time']
704
+ end
705
+
706
+ if attributes.has_key?(:'platform_summary')
707
+ self.platform_summary = attributes[:'platform_summary']
708
+ end
709
+
710
+ if attributes.has_key?(:'video_encoding_variant')
711
+ self.video_encoding_variant = attributes[:'video_encoding_variant']
712
+ end
713
+
714
+ if attributes.has_key?(:'player_width')
715
+ self.player_width = attributes[:'player_width']
716
+ end
717
+
718
+ if attributes.has_key?(:'view_seek_count')
719
+ self.view_seek_count = attributes[:'view_seek_count']
720
+ end
721
+
722
+ if attributes.has_key?(:'viewer_experience_score')
723
+ self.viewer_experience_score = attributes[:'viewer_experience_score']
724
+ end
725
+
726
+ if attributes.has_key?(:'view_error_id')
727
+ self.view_error_id = attributes[:'view_error_id']
728
+ end
729
+
730
+ if attributes.has_key?(:'video_variant_name')
731
+ self.video_variant_name = attributes[:'video_variant_name']
732
+ end
733
+
734
+ if attributes.has_key?(:'preroll_played')
735
+ self.preroll_played = attributes[:'preroll_played']
736
+ end
737
+
738
+ if attributes.has_key?(:'viewer_application_engine')
739
+ self.viewer_application_engine = attributes[:'viewer_application_engine']
740
+ end
741
+
742
+ if attributes.has_key?(:'viewer_os_architecture')
743
+ self.viewer_os_architecture = attributes[:'viewer_os_architecture']
744
+ end
745
+
746
+ if attributes.has_key?(:'player_error_code')
747
+ self.player_error_code = attributes[:'player_error_code']
748
+ end
749
+
750
+ if attributes.has_key?(:'buffering_rate')
751
+ self.buffering_rate = attributes[:'buffering_rate']
752
+ end
753
+
754
+ if attributes.has_key?(:'events')
755
+ if (value = attributes[:'events']).is_a?(Array)
756
+ self.events = value
757
+ end
758
+ end
759
+
760
+ if attributes.has_key?(:'player_name')
761
+ self.player_name = attributes[:'player_name']
762
+ end
763
+
764
+ if attributes.has_key?(:'view_start')
765
+ self.view_start = attributes[:'view_start']
766
+ end
767
+
768
+ if attributes.has_key?(:'view_average_request_throughput')
769
+ self.view_average_request_throughput = attributes[:'view_average_request_throughput']
770
+ end
771
+
772
+ if attributes.has_key?(:'video_producer')
773
+ self.video_producer = attributes[:'video_producer']
774
+ end
775
+
776
+ if attributes.has_key?(:'error_type_id')
777
+ self.error_type_id = attributes[:'error_type_id']
778
+ end
779
+
780
+ if attributes.has_key?(:'mux_viewer_id')
781
+ self.mux_viewer_id = attributes[:'mux_viewer_id']
782
+ end
783
+
784
+ if attributes.has_key?(:'video_id')
785
+ self.video_id = attributes[:'video_id']
786
+ end
787
+
788
+ if attributes.has_key?(:'continent_code')
789
+ self.continent_code = attributes[:'continent_code']
790
+ end
791
+
792
+ if attributes.has_key?(:'session_id')
793
+ self.session_id = attributes[:'session_id']
794
+ end
795
+
796
+ if attributes.has_key?(:'exit_before_video_start')
797
+ self.exit_before_video_start = attributes[:'exit_before_video_start']
798
+ end
799
+
800
+ if attributes.has_key?(:'video_content_type')
801
+ self.video_content_type = attributes[:'video_content_type']
802
+ end
803
+
804
+ if attributes.has_key?(:'viewer_os_family')
805
+ self.viewer_os_family = attributes[:'viewer_os_family']
806
+ end
807
+
808
+ if attributes.has_key?(:'player_poster')
809
+ self.player_poster = attributes[:'player_poster']
810
+ end
811
+
812
+ if attributes.has_key?(:'view_average_request_latency')
813
+ self.view_average_request_latency = attributes[:'view_average_request_latency']
814
+ end
815
+
816
+ if attributes.has_key?(:'video_variant_id')
817
+ self.video_variant_id = attributes[:'video_variant_id']
818
+ end
819
+
820
+ if attributes.has_key?(:'player_source_duration')
821
+ self.player_source_duration = attributes[:'player_source_duration']
822
+ end
823
+
824
+ if attributes.has_key?(:'player_source_url')
825
+ self.player_source_url = attributes[:'player_source_url']
826
+ end
827
+
828
+ if attributes.has_key?(:'mux_api_version')
829
+ self.mux_api_version = attributes[:'mux_api_version']
830
+ end
831
+
832
+ if attributes.has_key?(:'video_title')
833
+ self.video_title = attributes[:'video_title']
834
+ end
835
+
836
+ if attributes.has_key?(:'id')
837
+ self.id = attributes[:'id']
838
+ end
839
+
840
+ if attributes.has_key?(:'short_time')
841
+ self.short_time = attributes[:'short_time']
842
+ end
843
+
844
+ if attributes.has_key?(:'rebuffer_percentage')
845
+ self.rebuffer_percentage = attributes[:'rebuffer_percentage']
846
+ end
847
+
848
+ if attributes.has_key?(:'time_to_first_frame')
849
+ self.time_to_first_frame = attributes[:'time_to_first_frame']
850
+ end
851
+
852
+ if attributes.has_key?(:'viewer_user_id')
853
+ self.viewer_user_id = attributes[:'viewer_user_id']
854
+ end
855
+
856
+ if attributes.has_key?(:'video_stream_type')
857
+ self.video_stream_type = attributes[:'video_stream_type']
858
+ end
859
+
860
+ if attributes.has_key?(:'player_startup_time')
861
+ self.player_startup_time = attributes[:'player_startup_time']
862
+ end
863
+
864
+ if attributes.has_key?(:'viewer_application_version')
865
+ self.viewer_application_version = attributes[:'viewer_application_version']
866
+ end
867
+
868
+ if attributes.has_key?(:'view_max_downscale_percentage')
869
+ self.view_max_downscale_percentage = attributes[:'view_max_downscale_percentage']
870
+ end
871
+
872
+ if attributes.has_key?(:'view_max_upscale_percentage')
873
+ self.view_max_upscale_percentage = attributes[:'view_max_upscale_percentage']
874
+ end
875
+
876
+ if attributes.has_key?(:'country_code')
877
+ self.country_code = attributes[:'country_code']
878
+ end
879
+
880
+ if attributes.has_key?(:'used_fullscreen')
881
+ self.used_fullscreen = attributes[:'used_fullscreen']
882
+ end
883
+
884
+ if attributes.has_key?(:'isp')
885
+ self.isp = attributes[:'isp']
886
+ end
887
+
888
+ if attributes.has_key?(:'property_id')
889
+ self.property_id = attributes[:'property_id']
890
+ end
891
+
892
+ if attributes.has_key?(:'player_autoplay')
893
+ self.player_autoplay = attributes[:'player_autoplay']
894
+ end
895
+
896
+ if attributes.has_key?(:'player_height')
897
+ self.player_height = attributes[:'player_height']
898
+ end
899
+
900
+ if attributes.has_key?(:'asn')
901
+ self.asn = attributes[:'asn']
902
+ end
903
+
904
+ if attributes.has_key?(:'quality_score')
905
+ self.quality_score = attributes[:'quality_score']
906
+ end
907
+
908
+ if attributes.has_key?(:'player_software_version')
909
+ self.player_software_version = attributes[:'player_software_version']
910
+ end
911
+ end
912
+
913
+ # Show invalid properties with the reasons. Usually used together with valid?
914
+ # @return Array for valid properties with the reasons
915
+ def list_invalid_properties
916
+ invalid_properties = Array.new
917
+ invalid_properties
918
+ end
919
+
920
+ # Check to see if the all the properties in the model are valid
921
+ # @return true if the model is valid
922
+ def valid?
923
+ true
924
+ end
925
+
926
+ # Checks equality by comparing each attribute.
927
+ # @param [Object] Object to be compared
928
+ def ==(o)
929
+ return true if self.equal?(o)
930
+ self.class == o.class &&
931
+ view_total_upscaling == o.view_total_upscaling &&
932
+ preroll_ad_asset_hostname == o.preroll_ad_asset_hostname &&
933
+ player_source_domain == o.player_source_domain &&
934
+ region == o.region &&
935
+ viewer_user_agent == o.viewer_user_agent &&
936
+ preroll_requested == o.preroll_requested &&
937
+ page_type == o.page_type &&
938
+ startup_score == o.startup_score &&
939
+ view_seek_duration == o.view_seek_duration &&
940
+ country_name == o.country_name &&
941
+ player_source_height == o.player_source_height &&
942
+ longitude == o.longitude &&
943
+ buffering_count == o.buffering_count &&
944
+ video_duration == o.video_duration &&
945
+ player_source_type == o.player_source_type &&
946
+ city == o.city &&
947
+ view_id == o.view_id &&
948
+ platform_description == o.platform_description &&
949
+ video_startup_preroll_request_time == o.video_startup_preroll_request_time &&
950
+ viewer_device_name == o.viewer_device_name &&
951
+ video_series == o.video_series &&
952
+ viewer_application_name == o.viewer_application_name &&
953
+ updated_at == o.updated_at &&
954
+ view_total_content_playback_time == o.view_total_content_playback_time &&
955
+ cdn == o.cdn &&
956
+ player_instance_id == o.player_instance_id &&
957
+ video_language == o.video_language &&
958
+ player_source_width == o.player_source_width &&
959
+ player_error_message == o.player_error_message &&
960
+ player_mux_plugin_version == o.player_mux_plugin_version &&
961
+ watched == o.watched &&
962
+ playback_score == o.playback_score &&
963
+ page_url == o.page_url &&
964
+ metro == o.metro &&
965
+ view_max_request_latency == o.view_max_request_latency &&
966
+ requests_for_first_preroll == o.requests_for_first_preroll &&
967
+ view_total_downscaling == o.view_total_downscaling &&
968
+ latitude == o.latitude &&
969
+ player_source_host_name == o.player_source_host_name &&
970
+ inserted_at == o.inserted_at &&
971
+ view_end == o.view_end &&
972
+ mux_embed_version == o.mux_embed_version &&
973
+ player_language == o.player_language &&
974
+ page_load_time == o.page_load_time &&
975
+ viewer_device_category == o.viewer_device_category &&
976
+ video_startup_preroll_load_time == o.video_startup_preroll_load_time &&
977
+ player_version == o.player_version &&
978
+ watch_time == o.watch_time &&
979
+ player_source_stream_type == o.player_source_stream_type &&
980
+ preroll_ad_tag_hostname == o.preroll_ad_tag_hostname &&
981
+ viewer_device_manufacturer == o.viewer_device_manufacturer &&
982
+ rebuffering_score == o.rebuffering_score &&
983
+ experiment_name == o.experiment_name &&
984
+ viewer_os_version == o.viewer_os_version &&
985
+ player_preload == o.player_preload &&
986
+ buffering_duration == o.buffering_duration &&
987
+ player_view_count == o.player_view_count &&
988
+ player_software == o.player_software &&
989
+ player_load_time == o.player_load_time &&
990
+ platform_summary == o.platform_summary &&
991
+ video_encoding_variant == o.video_encoding_variant &&
992
+ player_width == o.player_width &&
993
+ view_seek_count == o.view_seek_count &&
994
+ viewer_experience_score == o.viewer_experience_score &&
995
+ view_error_id == o.view_error_id &&
996
+ video_variant_name == o.video_variant_name &&
997
+ preroll_played == o.preroll_played &&
998
+ viewer_application_engine == o.viewer_application_engine &&
999
+ viewer_os_architecture == o.viewer_os_architecture &&
1000
+ player_error_code == o.player_error_code &&
1001
+ buffering_rate == o.buffering_rate &&
1002
+ events == o.events &&
1003
+ player_name == o.player_name &&
1004
+ view_start == o.view_start &&
1005
+ view_average_request_throughput == o.view_average_request_throughput &&
1006
+ video_producer == o.video_producer &&
1007
+ error_type_id == o.error_type_id &&
1008
+ mux_viewer_id == o.mux_viewer_id &&
1009
+ video_id == o.video_id &&
1010
+ continent_code == o.continent_code &&
1011
+ session_id == o.session_id &&
1012
+ exit_before_video_start == o.exit_before_video_start &&
1013
+ video_content_type == o.video_content_type &&
1014
+ viewer_os_family == o.viewer_os_family &&
1015
+ player_poster == o.player_poster &&
1016
+ view_average_request_latency == o.view_average_request_latency &&
1017
+ video_variant_id == o.video_variant_id &&
1018
+ player_source_duration == o.player_source_duration &&
1019
+ player_source_url == o.player_source_url &&
1020
+ mux_api_version == o.mux_api_version &&
1021
+ video_title == o.video_title &&
1022
+ id == o.id &&
1023
+ short_time == o.short_time &&
1024
+ rebuffer_percentage == o.rebuffer_percentage &&
1025
+ time_to_first_frame == o.time_to_first_frame &&
1026
+ viewer_user_id == o.viewer_user_id &&
1027
+ video_stream_type == o.video_stream_type &&
1028
+ player_startup_time == o.player_startup_time &&
1029
+ viewer_application_version == o.viewer_application_version &&
1030
+ view_max_downscale_percentage == o.view_max_downscale_percentage &&
1031
+ view_max_upscale_percentage == o.view_max_upscale_percentage &&
1032
+ country_code == o.country_code &&
1033
+ used_fullscreen == o.used_fullscreen &&
1034
+ isp == o.isp &&
1035
+ property_id == o.property_id &&
1036
+ player_autoplay == o.player_autoplay &&
1037
+ player_height == o.player_height &&
1038
+ asn == o.asn &&
1039
+ quality_score == o.quality_score &&
1040
+ player_software_version == o.player_software_version
1041
+ end
1042
+
1043
+ # @see the `==` method
1044
+ # @param [Object] Object to be compared
1045
+ def eql?(o)
1046
+ self == o
1047
+ end
1048
+
1049
+ # Calculates hash code according to all attributes.
1050
+ # @return [Fixnum] Hash code
1051
+ def hash
1052
+ [view_total_upscaling, preroll_ad_asset_hostname, player_source_domain, region, viewer_user_agent, preroll_requested, page_type, startup_score, view_seek_duration, country_name, player_source_height, longitude, buffering_count, video_duration, player_source_type, city, view_id, platform_description, video_startup_preroll_request_time, viewer_device_name, video_series, viewer_application_name, updated_at, view_total_content_playback_time, cdn, player_instance_id, video_language, player_source_width, player_error_message, player_mux_plugin_version, watched, playback_score, page_url, metro, view_max_request_latency, requests_for_first_preroll, view_total_downscaling, latitude, player_source_host_name, inserted_at, view_end, mux_embed_version, player_language, page_load_time, viewer_device_category, video_startup_preroll_load_time, player_version, watch_time, player_source_stream_type, preroll_ad_tag_hostname, viewer_device_manufacturer, rebuffering_score, experiment_name, viewer_os_version, player_preload, buffering_duration, player_view_count, player_software, player_load_time, platform_summary, video_encoding_variant, player_width, view_seek_count, viewer_experience_score, view_error_id, video_variant_name, preroll_played, viewer_application_engine, viewer_os_architecture, player_error_code, buffering_rate, events, player_name, view_start, view_average_request_throughput, video_producer, error_type_id, mux_viewer_id, video_id, continent_code, session_id, exit_before_video_start, video_content_type, viewer_os_family, player_poster, view_average_request_latency, video_variant_id, player_source_duration, player_source_url, mux_api_version, video_title, id, short_time, rebuffer_percentage, time_to_first_frame, viewer_user_id, video_stream_type, player_startup_time, viewer_application_version, view_max_downscale_percentage, view_max_upscale_percentage, country_code, used_fullscreen, isp, property_id, player_autoplay, player_height, asn, quality_score, player_software_version].hash
1053
+ end
1054
+
1055
+ # Builds the object from hash
1056
+ # @param [Hash] attributes Model attributes in the form of hash
1057
+ # @return [Object] Returns the model itself
1058
+ def self.build_from_hash(attributes)
1059
+ new.build_from_hash(attributes)
1060
+ end
1061
+
1062
+ # Builds the object from hash
1063
+ # @param [Hash] attributes Model attributes in the form of hash
1064
+ # @return [Object] Returns the model itself
1065
+ def build_from_hash(attributes)
1066
+ return nil unless attributes.is_a?(Hash)
1067
+ self.class.openapi_types.each_pair do |key, type|
1068
+ if type =~ /\AArray<(.*)>/i
1069
+ # check to ensure the input is an array given that the attribute
1070
+ # is documented as an array but the input is not
1071
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
1072
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
1073
+ end
1074
+ elsif !attributes[self.class.attribute_map[key]].nil?
1075
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
1076
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
1077
+ end
1078
+
1079
+ self
1080
+ end
1081
+
1082
+ # Deserializes the data based on type
1083
+ # @param string type Data type
1084
+ # @param string value Value to be deserialized
1085
+ # @return [Object] Deserialized data
1086
+ def _deserialize(type, value)
1087
+ case type.to_sym
1088
+ when :DateTime
1089
+ DateTime.parse(value)
1090
+ when :Date
1091
+ Date.parse(value)
1092
+ when :String
1093
+ value.to_s
1094
+ when :Integer
1095
+ value.to_i
1096
+ when :Float
1097
+ value.to_f
1098
+ when :BOOLEAN
1099
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
1100
+ true
1101
+ else
1102
+ false
1103
+ end
1104
+ when :Object
1105
+ # generic object (usually a Hash), return directly
1106
+ value
1107
+ when /\AArray<(?<inner_type>.+)>\z/
1108
+ inner_type = Regexp.last_match[:inner_type]
1109
+ value.map { |v| _deserialize(inner_type, v) }
1110
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
1111
+ k_type = Regexp.last_match[:k_type]
1112
+ v_type = Regexp.last_match[:v_type]
1113
+ {}.tap do |hash|
1114
+ value.each do |k, v|
1115
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
1116
+ end
1117
+ end
1118
+ else # model
1119
+ MuxRuby.const_get(type).build_from_hash(value)
1120
+ end
1121
+ end
1122
+
1123
+ # Returns the string representation of the object
1124
+ # @return [String] String presentation of the object
1125
+ def to_s
1126
+ to_hash.to_s
1127
+ end
1128
+
1129
+ # to_body is an alias to to_hash (backward compatibility)
1130
+ # @return [Hash] Returns the object in the form of hash
1131
+ def to_body
1132
+ to_hash
1133
+ end
1134
+
1135
+ # Returns the object in the form of hash
1136
+ # @return [Hash] Returns the object in the form of hash
1137
+ def to_hash
1138
+ hash = {}
1139
+ self.class.attribute_map.each_pair do |attr, param|
1140
+ value = self.send(attr)
1141
+ next if value.nil?
1142
+ hash[param] = _to_hash(value)
1143
+ end
1144
+ hash
1145
+ end
1146
+
1147
+ # Outputs non-array value in the form of hash
1148
+ # For object, use to_hash. Otherwise, just return the value
1149
+ # @param [Object] value Any valid value
1150
+ # @return [Hash] Returns the value in the form of hash
1151
+ def _to_hash(value)
1152
+ if value.is_a?(Array)
1153
+ value.compact.map { |v| _to_hash(v) }
1154
+ elsif value.is_a?(Hash)
1155
+ {}.tap do |hash|
1156
+ value.each { |k, v| hash[k] = _to_hash(v) }
1157
+ end
1158
+ elsif value.respond_to? :to_hash
1159
+ value.to_hash
1160
+ else
1161
+ value
1162
+ end
1163
+ end
1164
+
1165
+ end
1166
+
1167
+ end