class VzaarApi::Strategy::Video::Create
Attributes
attrs[R]
video_class[R]
Public Class Methods
new(attrs, video_class)
click to toggle source
# File lib/vzaar_api/strategy/video/create.rb, line 8 def initialize(attrs, video_class) @attrs = attrs @video_class = video_class end
Public Instance Methods
execute()
click to toggle source
# File lib/vzaar_api/strategy/video/create.rb, line 13 def execute case when attrs.has_key?(:guid) create_from_guid when attrs.has_key?(:path) create_from_path when attrs.has_key?(:url) create_from_url else raise Error.new('Invalid parameters: Expected one of :guid, :path, :url') end end
Private Instance Methods
create_from_guid()
click to toggle source
# File lib/vzaar_api/strategy/video/create.rb, line 28 def create_from_guid url = Lib::Api.resource_url video_class::ENDPOINT video_class.new Lib::Api.new.post(url, attrs).data end
create_from_path()
click to toggle source
# File lib/vzaar_api/strategy/video/create.rb, line 33 def create_from_path signature = Signature::Factory.create(attrs) upload_attrs = Upload::S3.new(attrs, signature).execute video_class.create upload_attrs end
create_from_url()
click to toggle source
# File lib/vzaar_api/strategy/video/create.rb, line 39 def create_from_url LinkUpload.create(attrs.merge({ uploader: UPLOADER })) end