Module: ArcApi::Client::Media

Included in:
ArcApi::Client
Defined in:
lib/arc_api/client/media.rb

Instance Method Summary collapse

Instance Method Details

#complete_media_upload(params = {}) ⇒ Object



29
30
31
# File 'lib/arc_api/client/media.rb', line 29

def complete_media_upload(params = {})
  post(API_PATH + MEDIA_PATH + UPLOADS_PATH + "/#{params[:id]}" + COMPLETE_PATH, params)
end

#create_media(params = {}) ⇒ Object



25
26
27
# File 'lib/arc_api/client/media.rb', line 25

def create_media(params = {})
  post(API_PATH + MEDIA_PATH, params)
end

#initiate_media_upload(params = {}) ⇒ Object



4
5
6
# File 'lib/arc_api/client/media.rb', line 4

def initiate_media_upload(params = {})
  post(API_PATH + MEDIA_PATH + UPLOADS_PATH, params)
end

#upload_file(params = {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/arc_api/client/media.rb', line 8

def upload_file(params = {})
  ext = File.extname(params[:file_path]).gsub!('.', '')
  conn = Faraday.new do |f|
    f.headers['Content-Type'] = "video/#{ext}"
    f.request :multipart
    f.request :url_encoded
    f.adapter :httpclient
  end

  file = Faraday::UploadIO.new(params[:file_path], "video/#{ext}")
  response = conn.put(params[:url], file)

  return response.to_hash[:url].to_s
rescue StandardError => e
  raise "File upload failed - #{e}"
end