telestream_cloud 1.1.0 → 2.0.0.1

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 (306) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/README.md +16 -354
  4. data/flip/.gitignore +39 -0
  5. data/flip/.rspec +2 -0
  6. data/flip/.swagger-codegen-ignore +23 -0
  7. data/flip/.swagger-codegen/VERSION +1 -0
  8. data/flip/Gemfile +7 -0
  9. data/flip/README.md +130 -0
  10. data/flip/Rakefile +8 -0
  11. data/flip/docs/CanceledResponse.md +8 -0
  12. data/flip/docs/CloudNotificationSettings.md +11 -0
  13. data/flip/docs/CloudNotificationSettingsEvents.md +11 -0
  14. data/flip/docs/CopyProfileBody.md +9 -0
  15. data/flip/docs/CountResponse.md +8 -0
  16. data/flip/docs/CreateEncodingBody.md +10 -0
  17. data/flip/docs/CreateVideoBody.md +12 -0
  18. data/flip/docs/DeletedResponse.md +8 -0
  19. data/flip/docs/Encoding.md +38 -0
  20. data/flip/docs/EncodingSignedUrl.md +8 -0
  21. data/flip/docs/EncodingSignedUrls.md +8 -0
  22. data/flip/docs/Error.md +9 -0
  23. data/flip/docs/ExtraFile.md +10 -0
  24. data/flip/docs/Factory.md +25 -0
  25. data/flip/docs/FactoryBody.md +23 -0
  26. data/flip/docs/FactoryBodyStorageCredentialAttributes.md +11 -0
  27. data/flip/docs/FactorySync.md +8 -0
  28. data/flip/docs/FactorySyncBody.md +8 -0
  29. data/flip/docs/FlipApi.md +2179 -0
  30. data/flip/docs/PaginatedEncodingsCollection.md +11 -0
  31. data/flip/docs/PaginatedFactoryCollection.md +11 -0
  32. data/flip/docs/PaginatedProfilesCollection.md +11 -0
  33. data/flip/docs/PaginatedVideoCollection.md +11 -0
  34. data/flip/docs/PaginatedWorkflowsCollection.md +11 -0
  35. data/flip/docs/Profile.md +135 -0
  36. data/flip/docs/ProfileBody.md +137 -0
  37. data/flip/docs/ResubmitVideoBody.md +8 -0
  38. data/flip/docs/RetriedResponse.md +8 -0
  39. data/flip/docs/SignedVideoUrl.md +8 -0
  40. data/flip/docs/UpdateEncodingBody.md +9 -0
  41. data/flip/docs/UploadSession.md +13 -0
  42. data/flip/docs/Video.md +31 -0
  43. data/flip/docs/VideoMetadata.md +7 -0
  44. data/flip/docs/VideoUploadBody.md +24 -0
  45. data/flip/git_push.sh +55 -0
  46. data/flip/lib/telestream_cloud_flip.rb +79 -0
  47. data/flip/lib/telestream_cloud_flip/api/flip_api.rb +2385 -0
  48. data/flip/lib/telestream_cloud_flip/api_client.rb +389 -0
  49. data/flip/lib/telestream_cloud_flip/api_error.rb +38 -0
  50. data/flip/lib/telestream_cloud_flip/configuration.rb +209 -0
  51. data/flip/lib/telestream_cloud_flip/models/canceled_response.rb +189 -0
  52. data/flip/lib/telestream_cloud_flip/models/cloud_notification_settings.rb +237 -0
  53. data/flip/lib/telestream_cloud_flip/models/cloud_notification_settings_events.rb +239 -0
  54. data/flip/lib/telestream_cloud_flip/models/copy_profile_body.rb +209 -0
  55. data/flip/lib/telestream_cloud_flip/models/count_response.rb +189 -0
  56. data/flip/lib/telestream_cloud_flip/models/create_encoding_body.rb +214 -0
  57. data/flip/lib/telestream_cloud_flip/models/create_video_body.rb +231 -0
  58. data/flip/lib/telestream_cloud_flip/models/deleted_response.rb +189 -0
  59. data/flip/lib/telestream_cloud_flip/models/encoding.rb +486 -0
  60. data/flip/lib/telestream_cloud_flip/models/encoding_signed_url.rb +189 -0
  61. data/flip/lib/telestream_cloud_flip/models/encoding_signed_urls.rb +191 -0
  62. data/flip/lib/telestream_cloud_flip/models/error.rb +199 -0
  63. data/flip/lib/telestream_cloud_flip/models/extra_file.rb +221 -0
  64. data/flip/lib/telestream_cloud_flip/models/factory.rb +388 -0
  65. data/flip/lib/telestream_cloud_flip/models/factory_body.rb +374 -0
  66. data/flip/lib/telestream_cloud_flip/models/factory_body_storage_credential_attributes.rb +215 -0
  67. data/flip/lib/telestream_cloud_flip/models/factory_sync.rb +222 -0
  68. data/flip/lib/telestream_cloud_flip/models/factory_sync_body.rb +227 -0
  69. data/flip/lib/telestream_cloud_flip/models/paginated_encodings_collection.rb +240 -0
  70. data/flip/lib/telestream_cloud_flip/models/paginated_factory_collection.rb +220 -0
  71. data/flip/lib/telestream_cloud_flip/models/paginated_profiles_collection.rb +220 -0
  72. data/flip/lib/telestream_cloud_flip/models/paginated_video_collection.rb +220 -0
  73. data/flip/lib/telestream_cloud_flip/models/paginated_workflows_collection.rb +220 -0
  74. data/flip/lib/telestream_cloud_flip/models/profile.rb +1777 -0
  75. data/flip/lib/telestream_cloud_flip/models/profile_body.rb +1762 -0
  76. data/flip/lib/telestream_cloud_flip/models/resubmit_video_body.rb +189 -0
  77. data/flip/lib/telestream_cloud_flip/models/retried_response.rb +189 -0
  78. data/flip/lib/telestream_cloud_flip/models/signed_video_url.rb +189 -0
  79. data/flip/lib/telestream_cloud_flip/models/update_encoding_body.rb +199 -0
  80. data/flip/lib/telestream_cloud_flip/models/upload_session.rb +249 -0
  81. data/flip/lib/telestream_cloud_flip/models/video.rb +418 -0
  82. data/flip/lib/telestream_cloud_flip/models/video_metadata.rb +179 -0
  83. data/flip/lib/telestream_cloud_flip/models/video_upload_body.rb +362 -0
  84. data/flip/lib/telestream_cloud_flip/uploader.rb +244 -0
  85. data/flip/lib/telestream_cloud_flip/version.rb +18 -0
  86. data/flip/spec/api/flip_api_spec.rb +550 -0
  87. data/flip/spec/api_client_spec.rb +226 -0
  88. data/flip/spec/configuration_spec.rb +42 -0
  89. data/flip/spec/models/canceled_response_spec.rb +42 -0
  90. data/flip/spec/models/cloud_notification_settings_events_spec.rb +60 -0
  91. data/flip/spec/models/cloud_notification_settings_spec.rb +60 -0
  92. data/flip/spec/models/copy_profile_body_spec.rb +48 -0
  93. data/flip/spec/models/count_response_spec.rb +42 -0
  94. data/flip/spec/models/create_encoding_body_spec.rb +54 -0
  95. data/flip/spec/models/create_video_body_spec.rb +66 -0
  96. data/flip/spec/models/deleted_response_spec.rb +42 -0
  97. data/flip/spec/models/encoding_signed_url_spec.rb +42 -0
  98. data/flip/spec/models/encoding_signed_urls_spec.rb +42 -0
  99. data/flip/spec/models/encoding_spec.rb +222 -0
  100. data/flip/spec/models/error_spec.rb +48 -0
  101. data/flip/spec/models/extra_file_spec.rb +54 -0
  102. data/flip/spec/models/factory_body_spec.rb +136 -0
  103. data/flip/spec/models/factory_body_storage_credential_attributes_spec.rb +60 -0
  104. data/flip/spec/models/factory_spec.rb +148 -0
  105. data/flip/spec/models/factory_sync_body_spec.rb +46 -0
  106. data/flip/spec/models/factory_sync_spec.rb +46 -0
  107. data/flip/spec/models/paginated_encodings_collection_spec.rb +60 -0
  108. data/flip/spec/models/paginated_factory_collection_spec.rb +60 -0
  109. data/flip/spec/models/paginated_profiles_collection_spec.rb +60 -0
  110. data/flip/spec/models/paginated_video_collection_spec.rb +60 -0
  111. data/flip/spec/models/paginated_workflows_collection_spec.rb +60 -0
  112. data/flip/spec/models/profile_body_spec.rb +916 -0
  113. data/flip/spec/models/profile_spec.rb +916 -0
  114. data/flip/spec/models/resubmit_video_body_spec.rb +42 -0
  115. data/flip/spec/models/retried_response_spec.rb +42 -0
  116. data/flip/spec/models/signed_video_url_spec.rb +42 -0
  117. data/flip/spec/models/update_encoding_body_spec.rb +48 -0
  118. data/flip/spec/models/upload_session_spec.rb +72 -0
  119. data/flip/spec/models/video_metadata_spec.rb +36 -0
  120. data/flip/spec/models/video_spec.rb +180 -0
  121. data/flip/spec/models/video_upload_body_spec.rb +138 -0
  122. data/flip/spec/spec_helper.rb +111 -0
  123. data/flip/telestream_cloud_flip.gemspec +47 -0
  124. data/lib/telestream_cloud.rb +0 -31
  125. data/lib/telestream_cloud/flip.rb +1 -9
  126. data/lib/telestream_cloud/qc.rb +1 -0
  127. data/lib/telestream_cloud/tts.rb +1 -0
  128. data/lib/telestream_cloud/version.rb +1 -1
  129. data/qc/.gitignore +39 -0
  130. data/qc/.rspec +2 -0
  131. data/qc/.swagger-codegen-ignore +23 -0
  132. data/qc/.swagger-codegen/VERSION +1 -0
  133. data/qc/Gemfile +7 -0
  134. data/qc/README.md +58 -0
  135. data/qc/Rakefile +8 -0
  136. data/qc/docs/Alert.md +13 -0
  137. data/qc/docs/AudioStream.md +13 -0
  138. data/qc/docs/Container.md +9 -0
  139. data/qc/docs/Data.md +10 -0
  140. data/qc/docs/Data1.md +9 -0
  141. data/qc/docs/ExtraFile.md +10 -0
  142. data/qc/docs/Job.md +12 -0
  143. data/qc/docs/JobData.md +9 -0
  144. data/qc/docs/JobDetails.md +9 -0
  145. data/qc/docs/JobDetailsResult.md +8 -0
  146. data/qc/docs/JobsCollection.md +12 -0
  147. data/qc/docs/Media.md +10 -0
  148. data/qc/docs/Options.md +7 -0
  149. data/qc/docs/Project.md +12 -0
  150. data/qc/docs/Proxy.md +12 -0
  151. data/qc/docs/QcApi.md +719 -0
  152. data/qc/docs/UploadSession.md +13 -0
  153. data/qc/docs/VideoStream.md +13 -0
  154. data/qc/docs/VideoUploadBody.md +12 -0
  155. data/qc/git_push.sh +55 -0
  156. data/qc/lib/telestream_cloud_qc.rb +64 -0
  157. data/qc/lib/telestream_cloud_qc/api/qc_api.rb +781 -0
  158. data/qc/lib/telestream_cloud_qc/api_client.rb +389 -0
  159. data/qc/lib/telestream_cloud_qc/api_error.rb +38 -0
  160. data/qc/lib/telestream_cloud_qc/configuration.rb +209 -0
  161. data/qc/lib/telestream_cloud_qc/models/alert.rb +236 -0
  162. data/qc/lib/telestream_cloud_qc/models/audio_stream.rb +238 -0
  163. data/qc/lib/telestream_cloud_qc/models/container.rb +198 -0
  164. data/qc/lib/telestream_cloud_qc/models/data.rb +208 -0
  165. data/qc/lib/telestream_cloud_qc/models/data_1.rb +197 -0
  166. data/qc/lib/telestream_cloud_qc/models/extra_file.rb +221 -0
  167. data/qc/lib/telestream_cloud_qc/models/job.rb +269 -0
  168. data/qc/lib/telestream_cloud_qc/models/job_data.rb +197 -0
  169. data/qc/lib/telestream_cloud_qc/models/job_details.rb +199 -0
  170. data/qc/lib/telestream_cloud_qc/models/job_details_result.rb +190 -0
  171. data/qc/lib/telestream_cloud_qc/models/jobs_collection.rb +230 -0
  172. data/qc/lib/telestream_cloud_qc/models/media.rb +210 -0
  173. data/qc/lib/telestream_cloud_qc/models/options.rb +179 -0
  174. data/qc/lib/telestream_cloud_qc/models/project.rb +262 -0
  175. data/qc/lib/telestream_cloud_qc/models/proxy.rb +224 -0
  176. data/qc/lib/telestream_cloud_qc/models/upload_session.rb +249 -0
  177. data/qc/lib/telestream_cloud_qc/models/video_stream.rb +235 -0
  178. data/qc/lib/telestream_cloud_qc/models/video_upload_body.rb +242 -0
  179. data/qc/lib/telestream_cloud_qc/uploader.rb +244 -0
  180. data/qc/lib/telestream_cloud_qc/version.rb +18 -0
  181. data/qc/spec/api/qc_api_spec.rb +202 -0
  182. data/qc/spec/api_client_spec.rb +226 -0
  183. data/qc/spec/configuration_spec.rb +42 -0
  184. data/qc/spec/models/alert_spec.rb +72 -0
  185. data/qc/spec/models/audio_stream_spec.rb +72 -0
  186. data/qc/spec/models/container_spec.rb +48 -0
  187. data/qc/spec/models/data_1_spec.rb +48 -0
  188. data/qc/spec/models/data_spec.rb +54 -0
  189. data/qc/spec/models/extra_file_spec.rb +54 -0
  190. data/qc/spec/models/job_data_spec.rb +48 -0
  191. data/qc/spec/models/job_details_result_spec.rb +42 -0
  192. data/qc/spec/models/job_details_spec.rb +48 -0
  193. data/qc/spec/models/job_spec.rb +74 -0
  194. data/qc/spec/models/jobs_collection_spec.rb +66 -0
  195. data/qc/spec/models/media_spec.rb +54 -0
  196. data/qc/spec/models/options_spec.rb +36 -0
  197. data/qc/spec/models/project_spec.rb +70 -0
  198. data/qc/spec/models/proxy_spec.rb +66 -0
  199. data/qc/spec/models/upload_session_spec.rb +72 -0
  200. data/qc/spec/models/video_stream_spec.rb +72 -0
  201. data/qc/spec/models/video_upload_body_spec.rb +66 -0
  202. data/qc/spec/spec_helper.rb +111 -0
  203. data/qc/telestream_cloud_qc.gemspec +47 -0
  204. data/telestream_cloud.gemspec +7 -12
  205. data/tts/.gitignore +39 -0
  206. data/tts/.rspec +2 -0
  207. data/tts/.swagger-codegen-ignore +23 -0
  208. data/tts/.swagger-codegen/VERSION +1 -0
  209. data/tts/Gemfile +7 -0
  210. data/tts/README.md +92 -0
  211. data/tts/Rakefile +8 -0
  212. data/tts/docs/CorporaCollection.md +8 -0
  213. data/tts/docs/Corpus.md +9 -0
  214. data/tts/docs/ErrorResponse.md +7 -0
  215. data/tts/docs/ExtraFile.md +10 -0
  216. data/tts/docs/Fragment.md +10 -0
  217. data/tts/docs/FragmentVariant.md +9 -0
  218. data/tts/docs/Job.md +23 -0
  219. data/tts/docs/JobResult.md +8 -0
  220. data/tts/docs/JobsCollection.md +12 -0
  221. data/tts/docs/Project.md +18 -0
  222. data/tts/docs/ProjectsCollection.md +12 -0
  223. data/tts/docs/Result.md +12 -0
  224. data/tts/docs/TtsApi.md +902 -0
  225. data/tts/docs/UploadSession.md +13 -0
  226. data/tts/docs/VideoUploadBody.md +12 -0
  227. data/tts/git_push.sh +55 -0
  228. data/tts/lib/telestream_cloud_tts.rb +60 -0
  229. data/tts/lib/telestream_cloud_tts/api/tts_api.rb +946 -0
  230. data/tts/lib/telestream_cloud_tts/api_client.rb +389 -0
  231. data/tts/lib/telestream_cloud_tts/api_error.rb +38 -0
  232. data/tts/lib/telestream_cloud_tts/configuration.rb +209 -0
  233. data/tts/lib/telestream_cloud_tts/models/corpora_collection.rb +191 -0
  234. data/tts/lib/telestream_cloud_tts/models/corpus.rb +199 -0
  235. data/tts/lib/telestream_cloud_tts/models/error_response.rb +179 -0
  236. data/tts/lib/telestream_cloud_tts/models/extra_file.rb +221 -0
  237. data/tts/lib/telestream_cloud_tts/models/fragment.rb +211 -0
  238. data/tts/lib/telestream_cloud_tts/models/fragment_variant.rb +199 -0
  239. data/tts/lib/telestream_cloud_tts/models/job.rb +372 -0
  240. data/tts/lib/telestream_cloud_tts/models/job_result.rb +191 -0
  241. data/tts/lib/telestream_cloud_tts/models/jobs_collection.rb +230 -0
  242. data/tts/lib/telestream_cloud_tts/models/project.rb +322 -0
  243. data/tts/lib/telestream_cloud_tts/models/projects_collection.rb +230 -0
  244. data/tts/lib/telestream_cloud_tts/models/result.rb +230 -0
  245. data/tts/lib/telestream_cloud_tts/models/upload_session.rb +249 -0
  246. data/tts/lib/telestream_cloud_tts/models/video_upload_body.rb +241 -0
  247. data/tts/lib/telestream_cloud_tts/uploader.rb +244 -0
  248. data/tts/lib/telestream_cloud_tts/version.rb +18 -0
  249. data/tts/spec/api/tts_api_spec.rb +236 -0
  250. data/tts/spec/api_client_spec.rb +226 -0
  251. data/tts/spec/configuration_spec.rb +42 -0
  252. data/tts/spec/models/corpora_collection_spec.rb +42 -0
  253. data/tts/spec/models/corpus_spec.rb +48 -0
  254. data/tts/spec/models/error_response_spec.rb +36 -0
  255. data/tts/spec/models/extra_file_spec.rb +54 -0
  256. data/tts/spec/models/fragment_spec.rb +54 -0
  257. data/tts/spec/models/fragment_variant_spec.rb +48 -0
  258. data/tts/spec/models/job_result_spec.rb +42 -0
  259. data/tts/spec/models/job_spec.rb +136 -0
  260. data/tts/spec/models/jobs_collection_spec.rb +66 -0
  261. data/tts/spec/models/project_spec.rb +106 -0
  262. data/tts/spec/models/projects_collection_spec.rb +66 -0
  263. data/tts/spec/models/result_spec.rb +66 -0
  264. data/tts/spec/models/upload_session_spec.rb +72 -0
  265. data/tts/spec/models/video_upload_body_spec.rb +66 -0
  266. data/tts/spec/spec_helper.rb +111 -0
  267. data/tts/telestream_cloud_tts.gemspec +47 -0
  268. metadata +281 -123
  269. data/Gemfile +0 -2
  270. data/lib/telestream_cloud/api_authentication.rb +0 -66
  271. data/lib/telestream_cloud/base.rb +0 -111
  272. data/lib/telestream_cloud/config.rb +0 -87
  273. data/lib/telestream_cloud/connection.rb +0 -101
  274. data/lib/telestream_cloud/errors.rb +0 -17
  275. data/lib/telestream_cloud/faraday.rb +0 -84
  276. data/lib/telestream_cloud/modules/associations.rb +0 -55
  277. data/lib/telestream_cloud/modules/builders.rb +0 -45
  278. data/lib/telestream_cloud/modules/destroyers.rb +0 -25
  279. data/lib/telestream_cloud/modules/factory_connection.rb +0 -7
  280. data/lib/telestream_cloud/modules/finders.rb +0 -68
  281. data/lib/telestream_cloud/modules/router.rb +0 -62
  282. data/lib/telestream_cloud/modules/updatable.rb +0 -31
  283. data/lib/telestream_cloud/modules/video_state.rb +0 -16
  284. data/lib/telestream_cloud/parallel_uploader.rb +0 -52
  285. data/lib/telestream_cloud/proxies/encoding_scope.rb +0 -56
  286. data/lib/telestream_cloud/proxies/profile_scope.rb +0 -7
  287. data/lib/telestream_cloud/proxies/proxy.rb +0 -27
  288. data/lib/telestream_cloud/proxies/scope.rb +0 -94
  289. data/lib/telestream_cloud/proxies/video_scope.rb +0 -28
  290. data/lib/telestream_cloud/resources/encoding.rb +0 -47
  291. data/lib/telestream_cloud/resources/factory.rb +0 -72
  292. data/lib/telestream_cloud/resources/profile.rb +0 -22
  293. data/lib/telestream_cloud/resources/resource.rb +0 -48
  294. data/lib/telestream_cloud/resources/video.rb +0 -39
  295. data/lib/telestream_cloud/telestream_cloud.rb +0 -69
  296. data/lib/telestream_cloud/upload_session.rb +0 -40
  297. data/lib/telestream_cloud/uploader.rb +0 -123
  298. data/lib/telestream_cloud/uploader/file_reader.rb +0 -27
  299. data/spec/cloud_spec.rb +0 -132
  300. data/spec/encoding_spec.rb +0 -260
  301. data/spec/heroku_spec.rb +0 -32
  302. data/spec/panda_spec.rb +0 -206
  303. data/spec/profile_spec.rb +0 -117
  304. data/spec/spec_helper.rb +0 -18
  305. data/spec/uploader_spec.rb +0 -143
  306. data/spec/video_spec.rb +0 -399
@@ -1,55 +0,0 @@
1
- module TelestreamCloud
2
- module Associations
3
- def self.included(base)
4
- base.extend(ClassMethods)
5
- end
6
-
7
- module ClassMethods
8
-
9
- def has_one(relation_name)
10
- # for example creates : @video ||= VideoScope.new(self)
11
-
12
- define_method relation_name do
13
- param_id = "#{relation_name}_id"
14
- if instance_var = instance_variable_get("@#{relation_name}")
15
- instance_var
16
- else
17
- @associations ||= []
18
- @associations << relation_name
19
- instance_variable_set("@#{relation_name}",
20
- TelestreamCloud::const_get(relation_name.to_s.capitalize).find(send(param_id.to_sym)))
21
- end
22
- end
23
- end
24
-
25
- def has_many(relation_name)
26
- # for example creates : @encodings ||= EncodingScope.new(self)
27
-
28
- define_method relation_name do
29
- model_name = "#{relation_name.to_s[0..-2].capitalize}"
30
- if instance_var = instance_variable_get("@#{relation_name}")
31
- instance_var
32
- else
33
- @associations ||= []
34
- @associations << relation_name
35
- instance_variable_set("@#{relation_name}",
36
- TelestreamCloud::const_get("#{model_name}Scope").new(self))
37
- end
38
- end
39
- end
40
-
41
- alias :belongs_to :has_one
42
-
43
- end
44
-
45
- private
46
- def reset_associations
47
- if @associations
48
- @associations.each do |a|
49
- instance_variable_set("@#{a}",nil)
50
- end
51
- end
52
- end
53
-
54
- end
55
- end
@@ -1,45 +0,0 @@
1
- module TelestreamCloud
2
- module Builders
3
-
4
- def self.included(base)
5
- base.extend(ClassMethods)
6
- end
7
-
8
- module ClassMethods
9
-
10
- def create(attributes={})
11
- resource = build_resource(attributes)
12
- yield resource if block_given?
13
-
14
- resource.create
15
- resource
16
- end
17
-
18
- def create!(attributes={})
19
- resource = build_resource(attributes)
20
- yield resource if block_given?
21
-
22
- resource.create!
23
- resource
24
- end
25
-
26
- private
27
-
28
- def build_resource(attributes)
29
- TelestreamCloud::const_get("#{sti_name}").new(attributes.merge('factory_id' => factory.id))
30
- end
31
- end
32
-
33
- def create
34
- raise "Can't create attribute. Already have an id=#{attributes['id']}" if attributes['id']
35
- uri = replace_pattern_with_self_variables(self.class.many_path)
36
- response = connection.post(uri, attributes)
37
- load_and_reset(response)
38
- end
39
-
40
- def create!
41
- create || raise(errors.last)
42
- end
43
-
44
- end
45
- end
@@ -1,25 +0,0 @@
1
- module TelestreamCloud
2
- module Destroyers
3
-
4
- def self.included(base)
5
- base.extend(ClassMethods)
6
- end
7
-
8
- module ClassMethods
9
-
10
- def delete(id)
11
- uri = create_rest_url(one_path,{:id =>id})
12
- response = connection.delete(uri)
13
- !!response['deleted']
14
- end
15
-
16
- end
17
-
18
- def delete
19
- uri = replace_pattern_with_self_variables(self.class.one_path)
20
- response = connection.delete(uri)
21
- !!response['deleted']
22
- end
23
-
24
- end
25
- end
@@ -1,7 +0,0 @@
1
- module TelestreamCloud
2
- module FactoryConnection
3
- def connection
4
- factory.connection
5
- end
6
- end
7
- end
@@ -1,68 +0,0 @@
1
- module TelestreamCloud
2
- module Finders
3
-
4
- def self.included(base)
5
- base.extend(FindOne)
6
- base.extend(FindMany)
7
- end
8
-
9
- module FindOne
10
-
11
- def find(id)
12
- raise 'find method requires a correct value' if id.nil? || id == ''
13
- find_by_path(one_path, {:id => id})
14
- end
15
-
16
- def find_object_by_path(url, map={})
17
- rest_url = create_rest_url(url, map)
18
- params = extract_unmapped_variables(url, map)
19
- connection.get(rest_url, params)
20
- end
21
-
22
- def find_by_path(url, map={})
23
- object = find_object_by_path(url, map)
24
- kclass = TelestreamCloud::const_get("#{sti_name}")
25
-
26
- if object.is_a?(Array)
27
- object.map{|o| kclass.new(o)}
28
- elsif object['id']
29
- kclass.new(object)
30
- else
31
- raise APIError.new(object)
32
- end
33
- end
34
-
35
- end
36
-
37
- module FindMany
38
-
39
- def find_by(map)
40
- all(map).first
41
- end
42
-
43
- def all(map={})
44
- find_by_path(many_path, map)
45
- end
46
-
47
- private
48
-
49
- def find_all_by_has_many(relation_name, relation_value)
50
- map = {}
51
- map[relation_name.to_sym] = relation_value
52
- has_many_path = build_hash_many_path(many_path, relation_name)
53
- find_by_path(has_many_path, map)
54
- end
55
-
56
- def method_missing(method_symbol, *arguments)
57
- method_name = method_symbol.to_s
58
- if method_name =~ /^find_all_by_([_a-zA-Z]\w*)$/
59
- find_all_by_has_many($1, arguments.pop)
60
- else
61
- super
62
- end
63
- end
64
-
65
- end
66
-
67
- end
68
- end
@@ -1,62 +0,0 @@
1
- module TelestreamCloud
2
- module Router
3
- VAR_PATTERN = /:\w+/
4
-
5
- def self.included(base)
6
- base.extend(ClassMethods)
7
- end
8
-
9
- module ClassMethods
10
-
11
- def resource_path
12
- @url || "/#{sti_name.downcase}s"
13
- end
14
-
15
- def match(url)
16
- @url = url
17
- end
18
-
19
- def many_path
20
- resource_path
21
- end
22
-
23
- def one_path
24
- resource_path + "/:id"
25
- end
26
-
27
- def build_hash_many_path(end_path, relation_attr)
28
- relation_class_name = relation_attr[0..relation_attr.rindex("_id")-1].capitalize
29
- prefix_path = TelestreamCloud::const_get(relation_class_name).resource_path + "/:" + relation_attr
30
- prefix_path + end_path
31
- end
32
-
33
- def create_rest_url(url, map)
34
- new_url = replace_pattern_with_variables(url, map)
35
- json_path(new_url).gsub('factorys', 'factories')
36
- end
37
-
38
- private
39
-
40
- def replace_pattern_with_variables(url, map)
41
- new_url = url.clone
42
- new_url.gsub(VAR_PATTERN){|key| map[key[1..-1].to_sym] || map[key[1..-1].to_s]}
43
- end
44
-
45
- def extract_unmapped_variables(url, map)
46
- params = map.clone
47
- url.scan(VAR_PATTERN).map{|key| params.reject!{|k,v| k==key[1..-1] } }
48
- params
49
- end
50
-
51
- def json_path(uri)
52
- uri + ".json"
53
- end
54
- end
55
-
56
- def replace_pattern_with_self_variables(url)
57
- self.class.create_rest_url(url, attributes)
58
- end
59
-
60
- end
61
- end
62
-
@@ -1,31 +0,0 @@
1
- module TelestreamCloud
2
- module Updatable
3
-
4
- def save
5
- new? ? create : update
6
- end
7
-
8
- def save!
9
- save || raise(errors.last)
10
- end
11
-
12
- def update_attribute(name, value)
13
- send("#{name}=".to_sym, value) && save
14
- end
15
-
16
- def update_attributes(attributes)
17
- load(attributes) && save
18
- end
19
-
20
- def update_attributes!(attributes)
21
- update_attributes(attributes) || raise(errors.last)
22
- end
23
-
24
- def update
25
- uri = replace_pattern_with_self_variables(self.class.one_path)
26
- response = connection.put(uri, @changed_attributes)
27
- load_and_reset(response)
28
- end
29
-
30
- end
31
- end
@@ -1,16 +0,0 @@
1
- module TelestreamCloud
2
- module VideoState
3
- def success?
4
- @attributes['status'] == 'success'
5
- end
6
-
7
- def processing?
8
- @attributes['status'] == 'processing'
9
- end
10
-
11
- def fail?
12
- @attributes['status'] == 'fail'
13
- end
14
-
15
- end
16
- end
@@ -1,52 +0,0 @@
1
- module TelestreamCloud
2
- class ParallelUploader < Uploader
3
- class ThreadPool
4
- attr_reader :queue, :size, :worker
5
-
6
- def initialize(size, &block)
7
- @size = size
8
- @queue = Queue.new
9
- @worker = block
10
- end
11
-
12
- def <<(*args)
13
- queue.push(args)
14
- end
15
-
16
- def join
17
- size.times.map do
18
- Thread.new(queue) do
19
- begin
20
- while args = queue.pop(true)
21
- worker.call(*args)
22
- end
23
- rescue ThreadError
24
- end
25
- end
26
- end.map(&:join)
27
- end
28
- end
29
-
30
- attr_reader :concurrency
31
-
32
- def initialize(options)
33
- @concurrency = options.delete(:concurrency)
34
- super
35
- end
36
-
37
- private
38
-
39
- def upload_chunks(ids)
40
- ids.each { |i| thread_pool << i }
41
- thread_pool.join
42
- end
43
-
44
- def concurrency
45
- [@concurrency || max_connections, max_connections].min
46
- end
47
-
48
- def thread_pool
49
- @thread_pool ||= ThreadPool.new(concurrency, &method(:send_chunk))
50
- end
51
- end
52
- end
@@ -1,56 +0,0 @@
1
- module TelestreamCloud
2
- class EncodingScope < Scope
3
-
4
- def initialize(parent)
5
- super(parent, Encoding)
6
- end
7
-
8
- def non_delegate_methods
9
- super + [:status, :profile_id, :profile_name, :video, :page, :per_page, :[]]
10
- end
11
-
12
- def page(this_page)
13
- @scoped_attributes[:page] = this_page
14
- self
15
- end
16
-
17
- def per_page(this_per_page)
18
- @scoped_attributes[:per_page] = this_per_page
19
- self
20
- end
21
-
22
- def video(this_video_id)
23
- @scoped_attributes[:video_id] = this_video_id
24
- self
25
- end
26
-
27
- def status(this_status)
28
- @scoped_attributes[:status] = this_status
29
- self
30
- end
31
-
32
- def profile(this_profile_id)
33
- @scoped_attributes[:profile_id] = this_profile_id
34
- self
35
- end
36
-
37
- def profile_name(this_profile_name)
38
- @scoped_attributes[:profile_name] = this_profile_name
39
- self
40
- end
41
-
42
- def find_by_profile_name(this_profile_name)
43
- @scoped_attributes[:profile_name] = this_profile_name
44
- trigger_request.first
45
- end
46
-
47
- def [](index)
48
- if(index.is_a? String)
49
- proxy_found.select{|e| e.profile_name == index}[0]
50
- else
51
- proxy_found[index]
52
- end
53
- end
54
-
55
- end
56
- end
@@ -1,7 +0,0 @@
1
- module TelestreamCloud
2
- class ProfileScope < Scope
3
- def initialize(parent)
4
- super(parent, Profile)
5
- end
6
- end
7
- end
@@ -1,27 +0,0 @@
1
- module TelestreamCloud
2
- class Proxy
3
- include TelestreamCloud::Router::ClassMethods
4
- include TelestreamCloud::Builders::ClassMethods
5
-
6
- include TelestreamCloud::Finders::FindMany
7
- include TelestreamCloud::Finders::FindOne
8
-
9
- include TelestreamCloud::FactoryConnection
10
-
11
- attr_accessor :parent, :klass
12
-
13
- def initialize(parent, klass)
14
- @parent = parent
15
- @klass = klass
16
- end
17
-
18
- def factory
19
- @parent.is_a?(Factory) ? @parent : @parent.factory
20
- end
21
-
22
- def sti_name
23
- klass.sti_name
24
- end
25
-
26
- end
27
- end