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.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/README.md +16 -354
- data/flip/.gitignore +39 -0
- data/flip/.rspec +2 -0
- data/flip/.swagger-codegen-ignore +23 -0
- data/flip/.swagger-codegen/VERSION +1 -0
- data/flip/Gemfile +7 -0
- data/flip/README.md +130 -0
- data/flip/Rakefile +8 -0
- data/flip/docs/CanceledResponse.md +8 -0
- data/flip/docs/CloudNotificationSettings.md +11 -0
- data/flip/docs/CloudNotificationSettingsEvents.md +11 -0
- data/flip/docs/CopyProfileBody.md +9 -0
- data/flip/docs/CountResponse.md +8 -0
- data/flip/docs/CreateEncodingBody.md +10 -0
- data/flip/docs/CreateVideoBody.md +12 -0
- data/flip/docs/DeletedResponse.md +8 -0
- data/flip/docs/Encoding.md +38 -0
- data/flip/docs/EncodingSignedUrl.md +8 -0
- data/flip/docs/EncodingSignedUrls.md +8 -0
- data/flip/docs/Error.md +9 -0
- data/flip/docs/ExtraFile.md +10 -0
- data/flip/docs/Factory.md +25 -0
- data/flip/docs/FactoryBody.md +23 -0
- data/flip/docs/FactoryBodyStorageCredentialAttributes.md +11 -0
- data/flip/docs/FactorySync.md +8 -0
- data/flip/docs/FactorySyncBody.md +8 -0
- data/flip/docs/FlipApi.md +2179 -0
- data/flip/docs/PaginatedEncodingsCollection.md +11 -0
- data/flip/docs/PaginatedFactoryCollection.md +11 -0
- data/flip/docs/PaginatedProfilesCollection.md +11 -0
- data/flip/docs/PaginatedVideoCollection.md +11 -0
- data/flip/docs/PaginatedWorkflowsCollection.md +11 -0
- data/flip/docs/Profile.md +135 -0
- data/flip/docs/ProfileBody.md +137 -0
- data/flip/docs/ResubmitVideoBody.md +8 -0
- data/flip/docs/RetriedResponse.md +8 -0
- data/flip/docs/SignedVideoUrl.md +8 -0
- data/flip/docs/UpdateEncodingBody.md +9 -0
- data/flip/docs/UploadSession.md +13 -0
- data/flip/docs/Video.md +31 -0
- data/flip/docs/VideoMetadata.md +7 -0
- data/flip/docs/VideoUploadBody.md +24 -0
- data/flip/git_push.sh +55 -0
- data/flip/lib/telestream_cloud_flip.rb +79 -0
- data/flip/lib/telestream_cloud_flip/api/flip_api.rb +2385 -0
- data/flip/lib/telestream_cloud_flip/api_client.rb +389 -0
- data/flip/lib/telestream_cloud_flip/api_error.rb +38 -0
- data/flip/lib/telestream_cloud_flip/configuration.rb +209 -0
- data/flip/lib/telestream_cloud_flip/models/canceled_response.rb +189 -0
- data/flip/lib/telestream_cloud_flip/models/cloud_notification_settings.rb +237 -0
- data/flip/lib/telestream_cloud_flip/models/cloud_notification_settings_events.rb +239 -0
- data/flip/lib/telestream_cloud_flip/models/copy_profile_body.rb +209 -0
- data/flip/lib/telestream_cloud_flip/models/count_response.rb +189 -0
- data/flip/lib/telestream_cloud_flip/models/create_encoding_body.rb +214 -0
- data/flip/lib/telestream_cloud_flip/models/create_video_body.rb +231 -0
- data/flip/lib/telestream_cloud_flip/models/deleted_response.rb +189 -0
- data/flip/lib/telestream_cloud_flip/models/encoding.rb +486 -0
- data/flip/lib/telestream_cloud_flip/models/encoding_signed_url.rb +189 -0
- data/flip/lib/telestream_cloud_flip/models/encoding_signed_urls.rb +191 -0
- data/flip/lib/telestream_cloud_flip/models/error.rb +199 -0
- data/flip/lib/telestream_cloud_flip/models/extra_file.rb +221 -0
- data/flip/lib/telestream_cloud_flip/models/factory.rb +388 -0
- data/flip/lib/telestream_cloud_flip/models/factory_body.rb +374 -0
- data/flip/lib/telestream_cloud_flip/models/factory_body_storage_credential_attributes.rb +215 -0
- data/flip/lib/telestream_cloud_flip/models/factory_sync.rb +222 -0
- data/flip/lib/telestream_cloud_flip/models/factory_sync_body.rb +227 -0
- data/flip/lib/telestream_cloud_flip/models/paginated_encodings_collection.rb +240 -0
- data/flip/lib/telestream_cloud_flip/models/paginated_factory_collection.rb +220 -0
- data/flip/lib/telestream_cloud_flip/models/paginated_profiles_collection.rb +220 -0
- data/flip/lib/telestream_cloud_flip/models/paginated_video_collection.rb +220 -0
- data/flip/lib/telestream_cloud_flip/models/paginated_workflows_collection.rb +220 -0
- data/flip/lib/telestream_cloud_flip/models/profile.rb +1777 -0
- data/flip/lib/telestream_cloud_flip/models/profile_body.rb +1762 -0
- data/flip/lib/telestream_cloud_flip/models/resubmit_video_body.rb +189 -0
- data/flip/lib/telestream_cloud_flip/models/retried_response.rb +189 -0
- data/flip/lib/telestream_cloud_flip/models/signed_video_url.rb +189 -0
- data/flip/lib/telestream_cloud_flip/models/update_encoding_body.rb +199 -0
- data/flip/lib/telestream_cloud_flip/models/upload_session.rb +249 -0
- data/flip/lib/telestream_cloud_flip/models/video.rb +418 -0
- data/flip/lib/telestream_cloud_flip/models/video_metadata.rb +179 -0
- data/flip/lib/telestream_cloud_flip/models/video_upload_body.rb +362 -0
- data/flip/lib/telestream_cloud_flip/uploader.rb +244 -0
- data/flip/lib/telestream_cloud_flip/version.rb +18 -0
- data/flip/spec/api/flip_api_spec.rb +550 -0
- data/flip/spec/api_client_spec.rb +226 -0
- data/flip/spec/configuration_spec.rb +42 -0
- data/flip/spec/models/canceled_response_spec.rb +42 -0
- data/flip/spec/models/cloud_notification_settings_events_spec.rb +60 -0
- data/flip/spec/models/cloud_notification_settings_spec.rb +60 -0
- data/flip/spec/models/copy_profile_body_spec.rb +48 -0
- data/flip/spec/models/count_response_spec.rb +42 -0
- data/flip/spec/models/create_encoding_body_spec.rb +54 -0
- data/flip/spec/models/create_video_body_spec.rb +66 -0
- data/flip/spec/models/deleted_response_spec.rb +42 -0
- data/flip/spec/models/encoding_signed_url_spec.rb +42 -0
- data/flip/spec/models/encoding_signed_urls_spec.rb +42 -0
- data/flip/spec/models/encoding_spec.rb +222 -0
- data/flip/spec/models/error_spec.rb +48 -0
- data/flip/spec/models/extra_file_spec.rb +54 -0
- data/flip/spec/models/factory_body_spec.rb +136 -0
- data/flip/spec/models/factory_body_storage_credential_attributes_spec.rb +60 -0
- data/flip/spec/models/factory_spec.rb +148 -0
- data/flip/spec/models/factory_sync_body_spec.rb +46 -0
- data/flip/spec/models/factory_sync_spec.rb +46 -0
- data/flip/spec/models/paginated_encodings_collection_spec.rb +60 -0
- data/flip/spec/models/paginated_factory_collection_spec.rb +60 -0
- data/flip/spec/models/paginated_profiles_collection_spec.rb +60 -0
- data/flip/spec/models/paginated_video_collection_spec.rb +60 -0
- data/flip/spec/models/paginated_workflows_collection_spec.rb +60 -0
- data/flip/spec/models/profile_body_spec.rb +916 -0
- data/flip/spec/models/profile_spec.rb +916 -0
- data/flip/spec/models/resubmit_video_body_spec.rb +42 -0
- data/flip/spec/models/retried_response_spec.rb +42 -0
- data/flip/spec/models/signed_video_url_spec.rb +42 -0
- data/flip/spec/models/update_encoding_body_spec.rb +48 -0
- data/flip/spec/models/upload_session_spec.rb +72 -0
- data/flip/spec/models/video_metadata_spec.rb +36 -0
- data/flip/spec/models/video_spec.rb +180 -0
- data/flip/spec/models/video_upload_body_spec.rb +138 -0
- data/flip/spec/spec_helper.rb +111 -0
- data/flip/telestream_cloud_flip.gemspec +47 -0
- data/lib/telestream_cloud.rb +0 -31
- data/lib/telestream_cloud/flip.rb +1 -9
- data/lib/telestream_cloud/qc.rb +1 -0
- data/lib/telestream_cloud/tts.rb +1 -0
- data/lib/telestream_cloud/version.rb +1 -1
- data/qc/.gitignore +39 -0
- data/qc/.rspec +2 -0
- data/qc/.swagger-codegen-ignore +23 -0
- data/qc/.swagger-codegen/VERSION +1 -0
- data/qc/Gemfile +7 -0
- data/qc/README.md +58 -0
- data/qc/Rakefile +8 -0
- data/qc/docs/Alert.md +13 -0
- data/qc/docs/AudioStream.md +13 -0
- data/qc/docs/Container.md +9 -0
- data/qc/docs/Data.md +10 -0
- data/qc/docs/Data1.md +9 -0
- data/qc/docs/ExtraFile.md +10 -0
- data/qc/docs/Job.md +12 -0
- data/qc/docs/JobData.md +9 -0
- data/qc/docs/JobDetails.md +9 -0
- data/qc/docs/JobDetailsResult.md +8 -0
- data/qc/docs/JobsCollection.md +12 -0
- data/qc/docs/Media.md +10 -0
- data/qc/docs/Options.md +7 -0
- data/qc/docs/Project.md +12 -0
- data/qc/docs/Proxy.md +12 -0
- data/qc/docs/QcApi.md +719 -0
- data/qc/docs/UploadSession.md +13 -0
- data/qc/docs/VideoStream.md +13 -0
- data/qc/docs/VideoUploadBody.md +12 -0
- data/qc/git_push.sh +55 -0
- data/qc/lib/telestream_cloud_qc.rb +64 -0
- data/qc/lib/telestream_cloud_qc/api/qc_api.rb +781 -0
- data/qc/lib/telestream_cloud_qc/api_client.rb +389 -0
- data/qc/lib/telestream_cloud_qc/api_error.rb +38 -0
- data/qc/lib/telestream_cloud_qc/configuration.rb +209 -0
- data/qc/lib/telestream_cloud_qc/models/alert.rb +236 -0
- data/qc/lib/telestream_cloud_qc/models/audio_stream.rb +238 -0
- data/qc/lib/telestream_cloud_qc/models/container.rb +198 -0
- data/qc/lib/telestream_cloud_qc/models/data.rb +208 -0
- data/qc/lib/telestream_cloud_qc/models/data_1.rb +197 -0
- data/qc/lib/telestream_cloud_qc/models/extra_file.rb +221 -0
- data/qc/lib/telestream_cloud_qc/models/job.rb +269 -0
- data/qc/lib/telestream_cloud_qc/models/job_data.rb +197 -0
- data/qc/lib/telestream_cloud_qc/models/job_details.rb +199 -0
- data/qc/lib/telestream_cloud_qc/models/job_details_result.rb +190 -0
- data/qc/lib/telestream_cloud_qc/models/jobs_collection.rb +230 -0
- data/qc/lib/telestream_cloud_qc/models/media.rb +210 -0
- data/qc/lib/telestream_cloud_qc/models/options.rb +179 -0
- data/qc/lib/telestream_cloud_qc/models/project.rb +262 -0
- data/qc/lib/telestream_cloud_qc/models/proxy.rb +224 -0
- data/qc/lib/telestream_cloud_qc/models/upload_session.rb +249 -0
- data/qc/lib/telestream_cloud_qc/models/video_stream.rb +235 -0
- data/qc/lib/telestream_cloud_qc/models/video_upload_body.rb +242 -0
- data/qc/lib/telestream_cloud_qc/uploader.rb +244 -0
- data/qc/lib/telestream_cloud_qc/version.rb +18 -0
- data/qc/spec/api/qc_api_spec.rb +202 -0
- data/qc/spec/api_client_spec.rb +226 -0
- data/qc/spec/configuration_spec.rb +42 -0
- data/qc/spec/models/alert_spec.rb +72 -0
- data/qc/spec/models/audio_stream_spec.rb +72 -0
- data/qc/spec/models/container_spec.rb +48 -0
- data/qc/spec/models/data_1_spec.rb +48 -0
- data/qc/spec/models/data_spec.rb +54 -0
- data/qc/spec/models/extra_file_spec.rb +54 -0
- data/qc/spec/models/job_data_spec.rb +48 -0
- data/qc/spec/models/job_details_result_spec.rb +42 -0
- data/qc/spec/models/job_details_spec.rb +48 -0
- data/qc/spec/models/job_spec.rb +74 -0
- data/qc/spec/models/jobs_collection_spec.rb +66 -0
- data/qc/spec/models/media_spec.rb +54 -0
- data/qc/spec/models/options_spec.rb +36 -0
- data/qc/spec/models/project_spec.rb +70 -0
- data/qc/spec/models/proxy_spec.rb +66 -0
- data/qc/spec/models/upload_session_spec.rb +72 -0
- data/qc/spec/models/video_stream_spec.rb +72 -0
- data/qc/spec/models/video_upload_body_spec.rb +66 -0
- data/qc/spec/spec_helper.rb +111 -0
- data/qc/telestream_cloud_qc.gemspec +47 -0
- data/telestream_cloud.gemspec +7 -12
- data/tts/.gitignore +39 -0
- data/tts/.rspec +2 -0
- data/tts/.swagger-codegen-ignore +23 -0
- data/tts/.swagger-codegen/VERSION +1 -0
- data/tts/Gemfile +7 -0
- data/tts/README.md +92 -0
- data/tts/Rakefile +8 -0
- data/tts/docs/CorporaCollection.md +8 -0
- data/tts/docs/Corpus.md +9 -0
- data/tts/docs/ErrorResponse.md +7 -0
- data/tts/docs/ExtraFile.md +10 -0
- data/tts/docs/Fragment.md +10 -0
- data/tts/docs/FragmentVariant.md +9 -0
- data/tts/docs/Job.md +23 -0
- data/tts/docs/JobResult.md +8 -0
- data/tts/docs/JobsCollection.md +12 -0
- data/tts/docs/Project.md +18 -0
- data/tts/docs/ProjectsCollection.md +12 -0
- data/tts/docs/Result.md +12 -0
- data/tts/docs/TtsApi.md +902 -0
- data/tts/docs/UploadSession.md +13 -0
- data/tts/docs/VideoUploadBody.md +12 -0
- data/tts/git_push.sh +55 -0
- data/tts/lib/telestream_cloud_tts.rb +60 -0
- data/tts/lib/telestream_cloud_tts/api/tts_api.rb +946 -0
- data/tts/lib/telestream_cloud_tts/api_client.rb +389 -0
- data/tts/lib/telestream_cloud_tts/api_error.rb +38 -0
- data/tts/lib/telestream_cloud_tts/configuration.rb +209 -0
- data/tts/lib/telestream_cloud_tts/models/corpora_collection.rb +191 -0
- data/tts/lib/telestream_cloud_tts/models/corpus.rb +199 -0
- data/tts/lib/telestream_cloud_tts/models/error_response.rb +179 -0
- data/tts/lib/telestream_cloud_tts/models/extra_file.rb +221 -0
- data/tts/lib/telestream_cloud_tts/models/fragment.rb +211 -0
- data/tts/lib/telestream_cloud_tts/models/fragment_variant.rb +199 -0
- data/tts/lib/telestream_cloud_tts/models/job.rb +372 -0
- data/tts/lib/telestream_cloud_tts/models/job_result.rb +191 -0
- data/tts/lib/telestream_cloud_tts/models/jobs_collection.rb +230 -0
- data/tts/lib/telestream_cloud_tts/models/project.rb +322 -0
- data/tts/lib/telestream_cloud_tts/models/projects_collection.rb +230 -0
- data/tts/lib/telestream_cloud_tts/models/result.rb +230 -0
- data/tts/lib/telestream_cloud_tts/models/upload_session.rb +249 -0
- data/tts/lib/telestream_cloud_tts/models/video_upload_body.rb +241 -0
- data/tts/lib/telestream_cloud_tts/uploader.rb +244 -0
- data/tts/lib/telestream_cloud_tts/version.rb +18 -0
- data/tts/spec/api/tts_api_spec.rb +236 -0
- data/tts/spec/api_client_spec.rb +226 -0
- data/tts/spec/configuration_spec.rb +42 -0
- data/tts/spec/models/corpora_collection_spec.rb +42 -0
- data/tts/spec/models/corpus_spec.rb +48 -0
- data/tts/spec/models/error_response_spec.rb +36 -0
- data/tts/spec/models/extra_file_spec.rb +54 -0
- data/tts/spec/models/fragment_spec.rb +54 -0
- data/tts/spec/models/fragment_variant_spec.rb +48 -0
- data/tts/spec/models/job_result_spec.rb +42 -0
- data/tts/spec/models/job_spec.rb +136 -0
- data/tts/spec/models/jobs_collection_spec.rb +66 -0
- data/tts/spec/models/project_spec.rb +106 -0
- data/tts/spec/models/projects_collection_spec.rb +66 -0
- data/tts/spec/models/result_spec.rb +66 -0
- data/tts/spec/models/upload_session_spec.rb +72 -0
- data/tts/spec/models/video_upload_body_spec.rb +66 -0
- data/tts/spec/spec_helper.rb +111 -0
- data/tts/telestream_cloud_tts.gemspec +47 -0
- metadata +281 -123
- data/Gemfile +0 -2
- data/lib/telestream_cloud/api_authentication.rb +0 -66
- data/lib/telestream_cloud/base.rb +0 -111
- data/lib/telestream_cloud/config.rb +0 -87
- data/lib/telestream_cloud/connection.rb +0 -101
- data/lib/telestream_cloud/errors.rb +0 -17
- data/lib/telestream_cloud/faraday.rb +0 -84
- data/lib/telestream_cloud/modules/associations.rb +0 -55
- data/lib/telestream_cloud/modules/builders.rb +0 -45
- data/lib/telestream_cloud/modules/destroyers.rb +0 -25
- data/lib/telestream_cloud/modules/factory_connection.rb +0 -7
- data/lib/telestream_cloud/modules/finders.rb +0 -68
- data/lib/telestream_cloud/modules/router.rb +0 -62
- data/lib/telestream_cloud/modules/updatable.rb +0 -31
- data/lib/telestream_cloud/modules/video_state.rb +0 -16
- data/lib/telestream_cloud/parallel_uploader.rb +0 -52
- data/lib/telestream_cloud/proxies/encoding_scope.rb +0 -56
- data/lib/telestream_cloud/proxies/profile_scope.rb +0 -7
- data/lib/telestream_cloud/proxies/proxy.rb +0 -27
- data/lib/telestream_cloud/proxies/scope.rb +0 -94
- data/lib/telestream_cloud/proxies/video_scope.rb +0 -28
- data/lib/telestream_cloud/resources/encoding.rb +0 -47
- data/lib/telestream_cloud/resources/factory.rb +0 -72
- data/lib/telestream_cloud/resources/profile.rb +0 -22
- data/lib/telestream_cloud/resources/resource.rb +0 -48
- data/lib/telestream_cloud/resources/video.rb +0 -39
- data/lib/telestream_cloud/telestream_cloud.rb +0 -69
- data/lib/telestream_cloud/upload_session.rb +0 -40
- data/lib/telestream_cloud/uploader.rb +0 -123
- data/lib/telestream_cloud/uploader/file_reader.rb +0 -27
- data/spec/cloud_spec.rb +0 -132
- data/spec/encoding_spec.rb +0 -260
- data/spec/heroku_spec.rb +0 -32
- data/spec/panda_spec.rb +0 -206
- data/spec/profile_spec.rb +0 -117
- data/spec/spec_helper.rb +0 -18
- data/spec/uploader_spec.rb +0 -143
- 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,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,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,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
|